From a4486361428ff2a57e84d0d78d4d0136fd85cc25 Mon Sep 17 00:00:00 2001 From: MrTJP Date: Tue, 24 Dec 2024 18:06:45 -0500 Subject: [PATCH] feat: port to 1.20.4 --- .github/workflows/publish.yaml | 6 +- README.md | 1 + api/build.gradle | 10 +- .../mrtjp/projectred/api/IExpansionAPI.java | 9 +- build.gradle | 6 +- core/build.gradle | 47 ++- .../31c38579459bc2822e8b63fab8c1617bc12855ad | 2 - .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 2 + .../60c196ec329f374e76e48683e89ad3aaa6e8aa32 | 96 +++--- .../99a5d1555286bf25041b61b612844755348b72f5 | 2 +- .../a13141127d84ce466c022270707e855b1490e862 | 2 +- ... a8d3135d4703cc9330b4a159771e03b835c3ff2f} | 2 +- .../b0f137dfc10ced131e28cda728f7d0482d1c6142 | 2 +- .../f287af4f9f91df133198713f222d72b1ed1c435d | 2 +- .../blocks/electrotine_generator.json | 8 +- .../data/projectred_core/recipes/anode.json | 1 + .../recipes/black_illumar.json | 1 + .../projectred_core/recipes/blue_illumar.json | 1 + .../data/projectred_core/recipes/boule.json | 5 +- .../recipes/brown_illumar.json | 1 + .../data/projectred_core/recipes/cathode.json | 1 + .../recipes/conductive_plate.json | 1 + .../projectred_core/recipes/copper_coil.json | 1 + .../projectred_core/recipes/cyan_illumar.json | 1 + .../projectred_core/recipes/draw_plate.json | 16 +- .../recipes/electrotine_generator.json | 1 + .../recipes/electrotine_ingot.json | 5 +- .../recipes/electrotine_iron_comp.json | 1 + .../recipes/electrotine_silicon.json | 5 +- .../recipes/electrotine_silicon_comp.json | 1 + .../recipes/energized_silicon.json | 5 +- .../recipes/energized_silicon_chip.json | 1 + .../recipes/glow_silicon_comp.json | 1 + .../projectred_core/recipes/gold_coil.json | 1 + .../projectred_core/recipes/gray_illumar.json | 1 + .../recipes/green_illumar.json | 1 + .../recipes/infused_silicon.json | 5 +- .../projectred_core/recipes/iron_coil.json | 1 + .../recipes/light_blue_illumar.json | 1 + .../recipes/light_gray_illumar.json | 1 + .../projectred_core/recipes/lime_illumar.json | 1 + .../recipes/magenta_illumar.json | 1 + .../data/projectred_core/recipes/motor.json | 1 + .../projectred_core/recipes/multimeter.json | 4 +- .../recipes/orange_illumar.json | 1 + .../projectred_core/recipes/pink_illumar.json | 1 + .../data/projectred_core/recipes/plate.json | 1 + .../recipes/platformed_plate.json | 1 + .../data/projectred_core/recipes/pointer.json | 1 + .../recipes/purple_illumar.json | 1 + .../projectred_core/recipes/red_illumar.json | 1 + .../projectred_core/recipes/red_ingot.json | 5 +- .../recipes/red_iron_comp.json | 1 + .../recipes/red_silicon_comp.json | 1 + .../data/projectred_core/recipes/sail.json | 1 + .../recipes/sand_coal_comp.json | 1 + .../projectred_core/recipes/screwdriver.json | 4 +- .../data/projectred_core/recipes/silicon.json | 1 + .../projectred_core/recipes/silicon_chip.json | 1 + .../recipes/white_illumar.json | 1 + .../projectred_core/recipes/woven_cloth.json | 1 + .../recipes/yellow_illumar.json | 1 + .../ComputerCraftCompatibility.java | 81 ++--- .../mrtjp/projectred/core/CoreNetwork.java | 22 +- .../mrtjp/projectred/core/ProjectRedCore.java | 62 ++-- .../client/FullyOrientableBlockRenderer.java | 4 +- .../projectred/core/client/HaloRenderer.java | 6 +- .../data/CoreBlockStateModelProvider.java | 14 +- .../core/data/CoreBlockTagsProvider.java | 4 +- .../core/data/CoreItemModelProvider.java | 2 +- .../core/data/CoreItemTagsProvider.java | 4 +- .../core/data/CoreLanguageProvider.java | 7 +- .../core/data/CoreLootTableProvider.java | 39 ++- .../core/data/CoreRecipeProvider.java | 8 +- .../projectred/core/init/CoreBlocks.java | 13 +- .../projectred/core/init/CoreClientInit.java | 15 +- .../core/init/CoreCreativeModeTabs.java | 5 +- .../mrtjp/projectred/core/init/CoreItems.java | 105 +++--- .../mrtjp/projectred/core/init/CoreMenus.java | 5 +- .../core/tile/ElectrotineGeneratorTile.java | 29 +- .../core/tile/IPacketReceiverTile.java | 3 +- .../mrtjp/projectred/lib/InventoryLib.java | 2 +- .../mrtjp/projectred/lib/ModelVoxelShape.java | 6 +- .../redui/RedUIContainerScreen.java | 6 +- .../mrtjp/projectred/redui/RedUINode.java | 5 +- .../mrtjp/projectred/redui/RedUIScreen.java | 6 +- .../resources/META-INF/accesstransformer.cfg | 34 +- core/src/main/resources/META-INF/mods.toml | 20 +- expansion/build.gradle | 38 +- .../0c18def4a2dd49b36bdde830b5d5ef609a7f363c | 32 +- .../3a4806d9ecafca56efccb50ea70089d19ec4c7d6 | 2 +- ... 530d0288148ff957342d1b6d67ff5faa14b2f1f7} | 2 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 12 + .../98021baac73a5ba6d8abdf74b58bed538009ec7e | 12 - .../9d72461853cb94f175be2ec0cd30be96b91066f9 | 2 +- .../b71c44817acda374fc60c60d51d7f5eec540e17e | 2 +- .../e9b9ccd445df9bc8a5c2450219d2603d62d31dd5 | 2 +- .../loot_tables/blocks/auto_crafter.json | 8 +- .../loot_tables/blocks/battery_box.json | 8 +- .../loot_tables/blocks/block_breaker.json | 8 +- .../loot_tables/blocks/charging_bench.json | 8 +- .../loot_tables/blocks/deployer.json | 8 +- .../loot_tables/blocks/fire_starter.json | 8 +- .../loot_tables/blocks/frame.json | 8 +- .../loot_tables/blocks/frame_actuator.json | 8 +- .../loot_tables/blocks/frame_motor.json | 8 +- .../loot_tables/blocks/project_bench.json | 8 +- .../loot_tables/blocks/transposer.json | 8 +- .../recipes/auto_crafter.json | 1 + .../projectred_expansion/recipes/battery.json | 4 +- .../recipes/battery_box.json | 1 + .../recipes/block_breaker.json | 1 + .../recipes/charging_bench.json | 1 + .../recipes/deployer.json | 1 + .../recipes/electric_screwdriver.json | 4 +- .../recipes/fire_starter.json | 1 + .../projectred_expansion/recipes/frame.json | 1 + .../recipes/frame_actuator.json | 1 + .../recipes/frame_motor.json | 1 + .../recipes/pneumatic_tube.json | 1 + .../recipes/project_bench.json | 1 + .../recipes/recipe_plan.json | 1 + .../recipes/transposer.json | 1 + .../projectred/expansion/CraftingHelper.java | 28 +- .../expansion/ExpansionNetwork.java | 23 +- .../expansion/GraphDebugManager.java | 12 +- .../projectred/expansion/MovementManager.java | 16 +- .../expansion/MovementRegistry.java | 17 +- .../expansion/ProjectRedExpansion.java | 78 +++-- .../mrtjp/projectred/expansion/TubeType.java | 18 +- .../expansion/block/BatteryBoxBlock.java | 3 +- .../expansion/block/FrameBlock.java | 11 +- .../expansion/client/FrameBlockRenderer.java | 2 +- .../expansion/client/FrameModelRenderer.java | 6 +- .../client/FrameMotorBlockRenderer.java | 4 +- .../client/MovingBlockSuppressorRenderer.java | 2 +- .../client/PneumaticSmokeParticle.java | 4 +- .../ExpansionBlockStateModelProvider.java | 28 +- .../data/ExpansionBlockTagsProvider.java | 4 +- .../data/ExpansionItemModelProvider.java | 6 +- .../data/ExpansionLanguageProvider.java | 7 +- .../data/ExpansionLootTableProvider.java | 59 +++- .../data/ExpansionRecipeProvider.java | 8 +- .../data/ExpansionSoundProvider.java | 4 +- .../expansion/init/ExpansionBlocks.java | 58 ++-- .../expansion/init/ExpansionClientInit.java | 15 +- .../init/ExpansionCreativeModeTabs.java | 5 +- .../expansion/init/ExpansionItems.java | 11 +- .../expansion/init/ExpansionMenus.java | 13 +- .../expansion/init/ExpansionParts.java | 5 +- .../expansion/init/ExpansionSounds.java | 7 +- .../expansion/part/BaseTubePart.java | 12 +- .../expansion/part/PneumaticTubePart.java | 28 +- .../expansion/tile/AutoCrafterTile.java | 28 +- .../expansion/tile/BatteryBoxTile.java | 30 +- .../tile/BlockBreakerBlockEntity.java | 2 +- .../expansion/tile/ChargingBenchTile.java | 31 +- .../expansion/tile/DeployerBlockEntity.java | 44 +-- .../expansion/tile/ProjectBenchTile.java | 31 +- .../expansion/tile/TransposerBlockEntity.java | 10 +- .../src/main/resources/META-INF/mods.toml | 16 +- .../mixins.projectred.expansion.json | 1 - exploration/build.gradle | 31 +- .../09d015dc330d59f8eec0a6dc4d86adf5d6409937 | 35 -- ... 0a9253372a75393f668c88ccde5c10f6fabcdf81} | 2 +- .../103d9f3f36b01595f1aa5172191e60eff02e6924 | 16 +- ... 1d3100b3ef33796cefe365dd2ab5fffaccaab7ed} | 2 +- .../30ecaeb03adbe27d1b319f84eb0efc911b701acc | 2 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 35 ++ .../6b84c9412d1bd687544400cc0e3b12cc81627f4c | 2 +- .../81b061f8c78f7d01ca902511a501febdab7e0b84 | 204 +++++------ .../d9c1e35ddba8a1b293edd840b666d1c4118383a9 | 2 +- .../loot_tables/blocks/basalt.json | 8 +- .../loot_tables/blocks/basalt_brick.json | 8 +- .../loot_tables/blocks/basalt_brick_wall.json | 8 +- .../loot_tables/blocks/basalt_cobble.json | 8 +- .../blocks/basalt_cobble_wall.json | 8 +- .../loot_tables/blocks/basalt_wall.json | 8 +- .../blocks/deepslate_electrotine_ore.json | 6 +- .../blocks/deepslate_peridot_ore.json | 6 +- .../blocks/deepslate_ruby_ore.json | 6 +- .../blocks/deepslate_sapphire_ore.json | 6 +- .../blocks/deepslate_silver_ore.json | 13 +- .../loot_tables/blocks/deepslate_tin_ore.json | 13 +- .../loot_tables/blocks/electrotine_block.json | 8 +- .../blocks/electrotine_block_wall.json | 8 +- .../loot_tables/blocks/electrotine_ore.json | 6 +- .../loot_tables/blocks/marble.json | 8 +- .../loot_tables/blocks/marble_brick.json | 8 +- .../loot_tables/blocks/marble_brick_wall.json | 8 +- .../loot_tables/blocks/marble_wall.json | 8 +- .../loot_tables/blocks/peridot_block.json | 8 +- .../blocks/peridot_block_wall.json | 8 +- .../loot_tables/blocks/peridot_ore.json | 6 +- .../loot_tables/blocks/raw_silver_block.json | 8 +- .../loot_tables/blocks/raw_tin_block.json | 8 +- .../loot_tables/blocks/ruby_block.json | 8 +- .../loot_tables/blocks/ruby_block_wall.json | 8 +- .../loot_tables/blocks/ruby_ore.json | 6 +- .../loot_tables/blocks/sapphire_block.json | 8 +- .../blocks/sapphire_block_wall.json | 8 +- .../loot_tables/blocks/sapphire_ore.json | 6 +- .../loot_tables/blocks/silver_block.json | 8 +- .../loot_tables/blocks/silver_ore.json | 13 +- .../loot_tables/blocks/tin_block.json | 8 +- .../loot_tables/blocks/tin_ore.json | 13 +- .../add_electrotine_ore_to_overworld.json | 0 .../add_marble_cave_to_overworld.json | 0 .../add_peridot_ore_to_overworld.json | 0 .../add_ruby_ore_to_overworld.json | 0 .../add_sapphire_ore_to_overworld.json | 0 .../add_silver_ore_to_overworld.json | 0 .../add_tin_ore_to_overworld.json | 0 .../recipes/athame.json | 4 +- .../recipes/backpack_dye.json | 3 +- .../recipes/basalt.json | 5 +- .../recipes/basalt_brick.json | 1 + .../recipes/basalt_brick_wall.json | 1 + .../recipes/basalt_cobble_wall.json | 1 + .../recipes/basalt_wall.json | 1 + .../recipes/black_backpack.json | 1 + .../recipes/blue_backpack.json | 1 + .../recipes/brown_backpack.json | 1 + .../recipes/cyan_backpack.json | 1 + .../recipes/diamond_sickle.json | 4 +- .../recipes/electrotine_block.json | 1 + .../recipes/electrotine_block_wall.json | 1 + ...om_deepslate_electrotine_ore_smelting.json | 5 +- ...ne_dust_from_electrotine_ore_smelting.json | 5 +- .../electrotine_dust_from_nineblock.json | 1 + .../recipes/gold_saw.json | 4 +- .../recipes/gold_sickle.json | 4 +- .../recipes/gray_backpack.json | 1 + .../recipes/green_backpack.json | 1 + .../recipes/iron_sickle.json | 4 +- .../recipes/light_blue_backpack.json | 1 + .../recipes/light_gray_backpack.json | 1 + .../recipes/lime_backpack.json | 1 + .../recipes/magenta_backpack.json | 1 + .../recipes/marble_brick.json | 1 + .../recipes/marble_brick_wall.json | 1 + .../recipes/marble_wall.json | 1 + .../recipes/orange_backpack.json | 1 + .../recipes/peridot_axe.json | 4 +- .../recipes/peridot_block.json | 1 + .../recipes/peridot_block_wall.json | 1 + .../recipes/peridot_boots.json | 4 +- .../recipes/peridot_chestplate.json | 4 +- ...t_from_deepslate_peridot_ore_smelting.json | 5 +- .../recipes/peridot_from_nineblock.json | 1 + .../peridot_from_peridot_ore_smelting.json | 5 +- .../recipes/peridot_helmet.json | 4 +- .../recipes/peridot_hoe.json | 4 +- .../recipes/peridot_leggings.json | 4 +- .../recipes/peridot_pickaxe.json | 4 +- .../recipes/peridot_saw.json | 4 +- .../recipes/peridot_shovel.json | 4 +- .../recipes/peridot_sickle.json | 4 +- .../recipes/peridot_sword.json | 4 +- .../recipes/pink_backpack.json | 1 + .../recipes/purple_backpack.json | 1 + .../recipes/raw_silver_block.json | 1 + .../recipes/raw_silver_from_nineblock.json | 1 + .../recipes/raw_tin_block.json | 1 + .../recipes/raw_tin_from_nineblock.json | 1 + .../recipes/red_backpack.json | 1 + .../recipes/ruby_axe.json | 4 +- .../recipes/ruby_block.json | 1 + .../recipes/ruby_block_wall.json | 1 + .../recipes/ruby_boots.json | 4 +- .../recipes/ruby_chestplate.json | 4 +- ...ruby_from_deepslate_ruby_ore_smelting.json | 5 +- .../recipes/ruby_from_nineblock.json | 1 + .../recipes/ruby_from_ruby_ore_smelting.json | 5 +- .../recipes/ruby_helmet.json | 4 +- .../recipes/ruby_hoe.json | 4 +- .../recipes/ruby_leggings.json | 4 +- .../recipes/ruby_pickaxe.json | 4 +- .../recipes/ruby_saw.json | 4 +- .../recipes/ruby_shovel.json | 4 +- .../recipes/ruby_sickle.json | 4 +- .../recipes/ruby_sword.json | 4 +- .../recipes/sapphire_axe.json | 4 +- .../recipes/sapphire_block.json | 1 + .../recipes/sapphire_block_wall.json | 1 + .../recipes/sapphire_boots.json | 4 +- .../recipes/sapphire_chestplate.json | 4 +- ..._from_deepslate_sapphire_ore_smelting.json | 5 +- .../recipes/sapphire_from_nineblock.json | 1 + .../sapphire_from_sapphire_ore_smelting.json | 5 +- .../recipes/sapphire_helmet.json | 4 +- .../recipes/sapphire_hoe.json | 4 +- .../recipes/sapphire_leggings.json | 4 +- .../recipes/sapphire_pickaxe.json | 4 +- .../recipes/sapphire_saw.json | 4 +- .../recipes/sapphire_shovel.json | 4 +- .../recipes/sapphire_sickle.json | 4 +- .../recipes/sapphire_sword.json | 4 +- .../recipes/silver_block.json | 1 + ...ot_from_deepslate_silver_ore_smelting.json | 5 +- .../recipes/silver_ingot_from_nineblock.json | 1 + ...silver_ingot_from_raw_silver_smelting.json | 5 +- ...silver_ingot_from_silver_ore_smelting.json | 5 +- .../recipes/stone_sickle.json | 4 +- .../recipes/string_from_wool_gin.json | 1 + .../recipes/tin_block.json | 1 + ...ingot_from_deepslate_tin_ore_smelting.json | 5 +- .../recipes/tin_ingot_from_nineblock.json | 1 + .../tin_ingot_from_raw_tin_smelting.json | 5 +- .../tin_ingot_from_tin_ore_smelting.json | 5 +- .../recipes/white_backpack.json | 1 + .../recipes/wood_sickle.json | 4 +- .../recipes/wool_gin.json | 4 +- .../recipes/yellow_backpack.json | 1 + .../exploration/ProjectRedExploration.java | 47 +-- .../block/ElectrotineOreBlock.java | 4 +- .../ExplorationBlockStateModelProvider.java | 4 +- .../data/ExplorationBlockTagsProvider.java | 6 +- .../ExplorationBuiltInEntriesProvider.java | 6 +- .../data/ExplorationItemModelProvider.java | 6 +- .../data/ExplorationItemTagsProvider.java | 8 +- .../data/ExplorationLanguageProvider.java | 7 +- .../data/ExplorationLootTableProvider.java | 135 +++++--- .../data/ExplorationRecipeProvider.java | 16 +- .../exploration/init/ExplorationBlocks.java | 89 ++--- .../init/ExplorationClientInit.java | 9 +- .../init/ExplorationCreativeModeTabs.java | 5 +- .../exploration/init/ExplorationItems.java | 223 ++++++------ .../exploration/init/ExplorationMenus.java | 5 +- .../init/ExplorationRecipeSerializers.java | 5 +- .../init/ExplorationWorldFeatures.java | 13 +- .../item/crafting/BackpackDyeRecipe.java | 7 +- ...FileControlledAddCarversBiomeModifier.java | 12 +- ...ileControlledAddFeaturesBiomeModifier.java | 12 +- .../src/main/resources/META-INF/mods.toml | 18 +- fabrication/build.gradle | 41 +-- ... 2b832aea76cf0b2d39e9eefa68e4d55f0e7691bb} | 2 +- .../4cbdb80d40a3d0a708ad9fd5e4bf268842bd5f55 | 2 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 5 + .../be5cfc6003b431d679c396a0b090bde538563248 | 5 - .../e5496206be7dec22fb1b8834725b534373bac693 | 2 +- .../ecf74947a17045657ad4a04149b350d83010c996 | 2 +- .../f4bc7ca4a5ee1414f9ce87c9fc7ed455122fbce7 | 16 +- .../loot_tables/blocks/ic_workbench.json | 8 +- .../loot_tables/blocks/lithography_table.json | 8 +- .../loot_tables/blocks/packaging_table.json | 8 +- .../loot_tables/blocks/plotting_table.json | 8 +- .../recipes/blank_photomask.json | 1 + .../recipes/ic_blueprint.json | 1 + .../recipes/ic_workbench.json | 1 + .../recipes/lithography_table.json | 1 + .../recipes/packaging_table.json | 1 + .../recipes/plotting_table.json | 1 + .../recipes/rough_silicon_wafer.json | 5 +- .../fabrication/ProjectRedFabrication.java | 40 ++- .../FabricationBlockStateModelProvider.java | 16 +- .../data/FabricationBlockTagsProvider.java | 4 +- .../data/FabricationItemModelProvider.java | 2 +- .../data/FabricationLanguageProvider.java | 7 +- .../data/FabricationLootTableProvider.java | 45 ++- .../data/FabricationRecipeProvider.java | 2 +- .../editor/tools/BaseICEditorTool.java | 4 +- .../fabrication/editor/tools/EraseTool.java | 6 +- .../editor/tools/GatePlacerTool.java | 4 +- .../editor/tools/HotKeyInteractionZone.java | 4 +- .../editor/tools/IICEditorTool.java | 4 +- .../editor/tools/InteractTool.java | 4 +- .../editor/tools/InteractionZone.java | 4 +- .../editor/tools/SimpleInteractionZone.java | 4 +- .../editor/tools/WirePlacerTool.java | 4 +- .../fabrication/engine/BaseTile.java | 4 +- .../gates/SimpleTimedStateGateTile.java | 4 +- .../engine/log/CompileProblem.java | 4 +- .../fabrication/gui/ICRenderNode.java | 4 +- .../fabrication/gui/ICRenderTypes.java | 4 +- .../gui/screen/ICWorkbenchScreen.java | 4 +- .../fabrication/init/FabricationBlocks.java | 19 +- .../init/FabricationClientInit.java | 9 +- .../init/FabricationCreativeModeTab.java | 5 +- .../fabrication/init/FabricationItems.java | 17 +- .../fabrication/init/FabricationMenus.java | 9 +- .../fabrication/init/FabricationParts.java | 7 +- .../src/main/resources/META-INF/mods.toml | 20 +- gradle.properties | 12 +- gradle/wrapper/gradle-wrapper.jar | Bin 62076 -> 43462 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 22 +- gradlew.bat | 20 +- illumination/build.gradle | 31 +- .../0bff00c43f6afffc865d20256c78224a8f143cd8 | 2 +- .../4e033b4e84f91a3ff5435be5ed3ba4017f58d203 | 2 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 34 ++ .../7ae6c4ef44a093cc44e42d9d617e1d54a384e8ad | 34 -- ... 92d9352319b5cd872e759a46e0c9ec86481a1005} | 2 +- .../de8f1463ae18badd128ae0b90e2804a44e8f416c | 324 +++++++++--------- .../blocks/black_illumar_lamp.json | 8 +- .../blocks/black_inverted_illumar_lamp.json | 8 +- .../loot_tables/blocks/blue_illumar_lamp.json | 8 +- .../blocks/blue_inverted_illumar_lamp.json | 8 +- .../blocks/brown_illumar_lamp.json | 8 +- .../blocks/brown_inverted_illumar_lamp.json | 8 +- .../loot_tables/blocks/cyan_illumar_lamp.json | 8 +- .../blocks/cyan_inverted_illumar_lamp.json | 8 +- .../loot_tables/blocks/gray_illumar_lamp.json | 8 +- .../blocks/gray_inverted_illumar_lamp.json | 8 +- .../blocks/green_illumar_lamp.json | 8 +- .../blocks/green_inverted_illumar_lamp.json | 8 +- .../blocks/illumar_smart_lamp.json | 8 +- .../blocks/light_blue_illumar_lamp.json | 8 +- .../light_blue_inverted_illumar_lamp.json | 8 +- .../blocks/light_gray_illumar_lamp.json | 8 +- .../light_gray_inverted_illumar_lamp.json | 8 +- .../loot_tables/blocks/lime_illumar_lamp.json | 8 +- .../blocks/lime_inverted_illumar_lamp.json | 8 +- .../blocks/magenta_illumar_lamp.json | 8 +- .../blocks/magenta_inverted_illumar_lamp.json | 8 +- .../blocks/orange_illumar_lamp.json | 8 +- .../blocks/orange_inverted_illumar_lamp.json | 8 +- .../loot_tables/blocks/pink_illumar_lamp.json | 8 +- .../blocks/pink_inverted_illumar_lamp.json | 8 +- .../blocks/purple_illumar_lamp.json | 8 +- .../blocks/purple_inverted_illumar_lamp.json | 8 +- .../loot_tables/blocks/red_illumar_lamp.json | 8 +- .../blocks/red_inverted_illumar_lamp.json | 8 +- .../blocks/white_illumar_lamp.json | 8 +- .../blocks/white_inverted_illumar_lamp.json | 8 +- .../blocks/yellow_illumar_lamp.json | 8 +- .../blocks/yellow_inverted_illumar_lamp.json | 8 +- .../recipes/black_cage_light.json | 1 + .../recipes/black_fallout_light.json | 1 + .../recipes/black_fixture_light.json | 1 + .../recipes/black_illumar_lamp.json | 1 + .../recipes/black_inverted_cage_light.json | 1 + .../recipes/black_inverted_fallout_light.json | 1 + .../recipes/black_inverted_fixture_light.json | 1 + .../recipes/black_inverted_illumar_lamp.json | 1 + .../recipes/black_inverted_lantern.json | 1 + .../recipes/black_lantern.json | 1 + .../recipes/blue_cage_light.json | 1 + .../recipes/blue_fallout_light.json | 1 + .../recipes/blue_fixture_light.json | 1 + .../recipes/blue_illumar_lamp.json | 1 + .../recipes/blue_inverted_cage_light.json | 1 + .../recipes/blue_inverted_fallout_light.json | 1 + .../recipes/blue_inverted_fixture_light.json | 1 + .../recipes/blue_inverted_illumar_lamp.json | 1 + .../recipes/blue_inverted_lantern.json | 1 + .../recipes/blue_lantern.json | 1 + .../recipes/brown_cage_light.json | 1 + .../recipes/brown_fallout_light.json | 1 + .../recipes/brown_fixture_light.json | 1 + .../recipes/brown_illumar_lamp.json | 1 + .../recipes/brown_inverted_cage_light.json | 1 + .../recipes/brown_inverted_fallout_light.json | 1 + .../recipes/brown_inverted_fixture_light.json | 1 + .../recipes/brown_inverted_illumar_lamp.json | 1 + .../recipes/brown_inverted_lantern.json | 1 + .../recipes/brown_lantern.json | 1 + .../recipes/cyan_cage_light.json | 1 + .../recipes/cyan_fallout_light.json | 1 + .../recipes/cyan_fixture_light.json | 1 + .../recipes/cyan_illumar_lamp.json | 1 + .../recipes/cyan_inverted_cage_light.json | 1 + .../recipes/cyan_inverted_fallout_light.json | 1 + .../recipes/cyan_inverted_fixture_light.json | 1 + .../recipes/cyan_inverted_illumar_lamp.json | 1 + .../recipes/cyan_inverted_lantern.json | 1 + .../recipes/cyan_lantern.json | 1 + .../recipes/gray_cage_light.json | 1 + .../recipes/gray_fallout_light.json | 1 + .../recipes/gray_fixture_light.json | 1 + .../recipes/gray_illumar_lamp.json | 1 + .../recipes/gray_inverted_cage_light.json | 1 + .../recipes/gray_inverted_fallout_light.json | 1 + .../recipes/gray_inverted_fixture_light.json | 1 + .../recipes/gray_inverted_illumar_lamp.json | 1 + .../recipes/gray_inverted_lantern.json | 1 + .../recipes/gray_lantern.json | 1 + .../recipes/green_cage_light.json | 1 + .../recipes/green_fallout_light.json | 1 + .../recipes/green_fixture_light.json | 1 + .../recipes/green_illumar_lamp.json | 1 + .../recipes/green_inverted_cage_light.json | 1 + .../recipes/green_inverted_fallout_light.json | 1 + .../recipes/green_inverted_fixture_light.json | 1 + .../recipes/green_inverted_illumar_lamp.json | 1 + .../recipes/green_inverted_lantern.json | 1 + .../recipes/green_lantern.json | 1 + .../recipes/illumar_smart_lamp.json | 1 + .../recipes/light_blue_cage_light.json | 1 + .../recipes/light_blue_fallout_light.json | 1 + .../recipes/light_blue_fixture_light.json | 1 + .../recipes/light_blue_illumar_lamp.json | 1 + .../light_blue_inverted_cage_light.json | 1 + .../light_blue_inverted_fallout_light.json | 1 + .../light_blue_inverted_fixture_light.json | 1 + .../light_blue_inverted_illumar_lamp.json | 1 + .../recipes/light_blue_inverted_lantern.json | 1 + .../recipes/light_blue_lantern.json | 1 + .../recipes/light_gray_cage_light.json | 1 + .../recipes/light_gray_fallout_light.json | 1 + .../recipes/light_gray_fixture_light.json | 1 + .../recipes/light_gray_illumar_lamp.json | 1 + .../light_gray_inverted_cage_light.json | 1 + .../light_gray_inverted_fallout_light.json | 1 + .../light_gray_inverted_fixture_light.json | 1 + .../light_gray_inverted_illumar_lamp.json | 1 + .../recipes/light_gray_inverted_lantern.json | 1 + .../recipes/light_gray_lantern.json | 1 + .../recipes/lime_cage_light.json | 1 + .../recipes/lime_fallout_light.json | 1 + .../recipes/lime_fixture_light.json | 1 + .../recipes/lime_illumar_lamp.json | 1 + .../recipes/lime_inverted_cage_light.json | 1 + .../recipes/lime_inverted_fallout_light.json | 1 + .../recipes/lime_inverted_fixture_light.json | 1 + .../recipes/lime_inverted_illumar_lamp.json | 1 + .../recipes/lime_inverted_lantern.json | 1 + .../recipes/lime_lantern.json | 1 + .../recipes/magenta_cage_light.json | 1 + .../recipes/magenta_fallout_light.json | 1 + .../recipes/magenta_fixture_light.json | 1 + .../recipes/magenta_illumar_lamp.json | 1 + .../recipes/magenta_inverted_cage_light.json | 1 + .../magenta_inverted_fallout_light.json | 1 + .../magenta_inverted_fixture_light.json | 1 + .../magenta_inverted_illumar_lamp.json | 1 + .../recipes/magenta_inverted_lantern.json | 1 + .../recipes/magenta_lantern.json | 1 + .../recipes/orange_cage_light.json | 1 + .../recipes/orange_fallout_light.json | 1 + .../recipes/orange_fixture_light.json | 1 + .../recipes/orange_illumar_lamp.json | 1 + .../recipes/orange_inverted_cage_light.json | 1 + .../orange_inverted_fallout_light.json | 1 + .../orange_inverted_fixture_light.json | 1 + .../recipes/orange_inverted_illumar_lamp.json | 1 + .../recipes/orange_inverted_lantern.json | 1 + .../recipes/orange_lantern.json | 1 + .../recipes/pink_cage_light.json | 1 + .../recipes/pink_fallout_light.json | 1 + .../recipes/pink_fixture_light.json | 1 + .../recipes/pink_illumar_lamp.json | 1 + .../recipes/pink_inverted_cage_light.json | 1 + .../recipes/pink_inverted_fallout_light.json | 1 + .../recipes/pink_inverted_fixture_light.json | 1 + .../recipes/pink_inverted_illumar_lamp.json | 1 + .../recipes/pink_inverted_lantern.json | 1 + .../recipes/pink_lantern.json | 1 + .../recipes/purple_cage_light.json | 1 + .../recipes/purple_fallout_light.json | 1 + .../recipes/purple_fixture_light.json | 1 + .../recipes/purple_illumar_lamp.json | 1 + .../recipes/purple_inverted_cage_light.json | 1 + .../purple_inverted_fallout_light.json | 1 + .../purple_inverted_fixture_light.json | 1 + .../recipes/purple_inverted_illumar_lamp.json | 1 + .../recipes/purple_inverted_lantern.json | 1 + .../recipes/purple_lantern.json | 1 + .../recipes/red_cage_light.json | 1 + .../recipes/red_fallout_light.json | 1 + .../recipes/red_fixture_light.json | 1 + .../recipes/red_illumar_lamp.json | 1 + .../recipes/red_inverted_cage_light.json | 1 + .../recipes/red_inverted_fallout_light.json | 1 + .../recipes/red_inverted_fixture_light.json | 1 + .../recipes/red_inverted_illumar_lamp.json | 1 + .../recipes/red_inverted_lantern.json | 1 + .../recipes/red_lantern.json | 1 + .../recipes/white_cage_light.json | 1 + .../recipes/white_fallout_light.json | 1 + .../recipes/white_fixture_light.json | 1 + .../recipes/white_illumar_lamp.json | 1 + .../recipes/white_inverted_cage_light.json | 1 + .../recipes/white_inverted_fallout_light.json | 1 + .../recipes/white_inverted_fixture_light.json | 1 + .../recipes/white_inverted_illumar_lamp.json | 1 + .../recipes/white_inverted_lantern.json | 1 + .../recipes/white_lantern.json | 1 + .../recipes/yellow_cage_light.json | 1 + .../recipes/yellow_fallout_light.json | 1 + .../recipes/yellow_fixture_light.json | 1 + .../recipes/yellow_illumar_lamp.json | 1 + .../recipes/yellow_inverted_cage_light.json | 1 + .../yellow_inverted_fallout_light.json | 1 + .../yellow_inverted_fixture_light.json | 1 + .../recipes/yellow_inverted_illumar_lamp.json | 1 + .../recipes/yellow_inverted_lantern.json | 1 + .../recipes/yellow_lantern.json | 1 + .../illumination/BlockLightType.java | 18 +- .../MultipartLightProperties.java | 8 +- .../illumination/MultipartLightType.java | 16 +- .../illumination/ProjectRedIllumination.java | 38 +- .../client/IllumarLampTileRenderer.java | 9 + .../data/IlluminationBlockLootProvider.java | 27 -- .../IlluminationBlockStateModelProvider.java | 14 +- .../data/IlluminationCreativeModeTabs.java | 5 +- .../data/IlluminationItemModelProvider.java | 4 +- .../data/IlluminationLanguageProvider.java | 2 +- .../data/IlluminationLootTableProvider.java | 52 +++ .../data/IlluminationRecipeProvider.java | 2 +- .../illumination/init/IlluminationBlocks.java | 7 +- .../init/IlluminationClientInit.java | 17 +- .../init/IlluminationMicroMaterials.java | 6 +- .../part/CageLightProperties.java | 8 +- .../part/FalloutLightProperties.java | 8 +- .../part/FixtureLightProperties.java | 8 +- .../part/LanternLightProperties.java | 8 +- .../illumination/tile/IllumarLampTile.java | 9 - .../src/main/resources/META-INF/mods.toml | 18 +- integration/build.gradle | 31 +- .../8a6f9a0278662d141141aabe64bfbd22f6606579 | 2 +- .../b9ddfcf5a3b2c71c82c4c7bcb7b68a2dc2a3f3f1 | 70 ++-- ... de74df0a0df01f1eaa6cc879f21ef45230e9c8a2} | 2 +- .../recipes/and_cell_gate.json | 1 + .../recipes/and_gate.json | 1 + .../recipes/buffer_cell_gate.json | 1 + .../recipes/buffer_gate.json | 1 + .../recipes/bus_converter_gate.json | 1 + .../recipes/bus_input_panel_gate.json | 1 + .../recipes/bus_randomizer_gate.json | 1 + .../recipes/bus_transceiver_gate.json | 1 + .../recipes/comparator_gate.json | 1 + .../recipes/counter_gate.json | 1 + .../recipes/dec_randomizer_gate.json | 1 + .../recipes/invert_cell_gate.json | 1 + .../recipes/light_sensor_gate.json | 1 + .../recipes/multiplexer_gate.json | 1 + .../recipes/nand_gate.json | 1 + .../recipes/nor_gate.json | 1 + .../recipes/not_gate.json | 1 + .../recipes/null_cell_gate.json | 1 + .../recipes/or_gate.json | 1 + .../recipes/pulse_gate.json | 1 + .../recipes/rain_sensor_gate.json | 1 + .../recipes/randomizer_gate.json | 1 + .../recipes/repeater_gate.json | 1 + .../recipes/segment_display_gate.json | 1 + .../recipes/sequencer_gate.json | 1 + .../recipes/sr_latch_gate.json | 1 + .../recipes/stacking_latch_gate.json | 1 + .../recipes/state_cell_gate.json | 1 + .../recipes/synchronizer_gate.json | 1 + .../recipes/timer_gate.json | 1 + .../recipes/toggle_latch_gate.json | 1 + .../recipes/transparent_latch_gate.json | 1 + .../recipes/xnor_gate.json | 1 + .../recipes/xor_gate.json | 1 + .../projectred/integration/GateType.java | 13 +- .../integration/IntegrationNetwork.java | 21 +- .../integration/ProjectRedIntegration.java | 42 ++- .../client/GateComponentModels.java | 7 +- .../integration/client/GateModelRenderer.java | 4 +- .../data/IntegrationItemModelProvider.java | 2 +- .../data/IntegrationLanguageProvider.java | 7 +- .../data/IntegrationRecipeProvider.java | 2 +- .../init/IntegrationClientInit.java | 9 +- .../init/IntegrationCreativeModeTabs.java | 5 +- .../projectred/integration/part/GatePart.java | 4 +- .../src/main/resources/META-INF/mods.toml | 16 +- runtime/build.gradle | 48 +-- settings.gradle | 7 +- transmission/build.gradle | 31 +- .../1eb909bc2f32a9d98a678d7fc96e42309be491b5 | 2 +- .../559edefec34c0193b89f0dfbc70e66bb4fcf6966 | 2 +- .../5d3ba082c682ce8e4c01b877afa3197c3fa54da9 | 242 ++++++------- ... b628085da02a425cc2b44c1f8a404ad7707a00f7} | 2 +- .../e54b2aa820d3c45e5a8670f80d66b111475d334d | 2 +- .../recipes/black_bundled_wire_re_color.json | 1 + .../recipes/black_framed_bundled_wire.json | 1 + .../black_framed_bundled_wire_re_color.json | 1 + .../recipes/black_framed_insulated_wire.json | 1 + .../black_framed_insulated_wire_re_color.json | 1 + .../recipes/black_insulated_wire.json | 1 + .../black_insulated_wire_re_color.json | 1 + .../recipes/blue_bundled_wire_re_color.json | 1 + .../recipes/blue_framed_bundled_wire.json | 1 + .../blue_framed_bundled_wire_re_color.json | 1 + .../recipes/blue_framed_insulated_wire.json | 1 + .../blue_framed_insulated_wire_re_color.json | 1 + .../recipes/blue_insulated_wire.json | 1 + .../recipes/blue_insulated_wire_re_color.json | 1 + .../recipes/brown_bundled_wire_re_color.json | 1 + .../recipes/brown_framed_bundled_wire.json | 1 + .../brown_framed_bundled_wire_re_color.json | 1 + .../recipes/brown_framed_insulated_wire.json | 1 + .../brown_framed_insulated_wire_re_color.json | 1 + .../recipes/brown_insulated_wire.json | 1 + .../brown_insulated_wire_re_color.json | 1 + .../recipes/bundled_plate.json | 1 + .../recipes/cyan_bundled_wire_re_color.json | 1 + .../recipes/cyan_framed_bundled_wire.json | 1 + .../cyan_framed_bundled_wire_re_color.json | 1 + .../recipes/cyan_framed_insulated_wire.json | 1 + .../cyan_framed_insulated_wire_re_color.json | 1 + .../recipes/cyan_insulated_wire.json | 1 + .../recipes/cyan_insulated_wire_re_color.json | 1 + .../recipes/framed_red_alloy_wire.json | 1 + .../recipes/gray_bundled_wire_re_color.json | 1 + .../recipes/gray_framed_bundled_wire.json | 1 + .../gray_framed_bundled_wire_re_color.json | 1 + .../recipes/gray_framed_insulated_wire.json | 1 + .../gray_framed_insulated_wire_re_color.json | 1 + .../recipes/gray_insulated_wire.json | 1 + .../recipes/gray_insulated_wire_re_color.json | 1 + .../recipes/green_bundled_wire_re_color.json | 1 + .../recipes/green_framed_bundled_wire.json | 1 + .../green_framed_bundled_wire_re_color.json | 1 + .../recipes/green_framed_insulated_wire.json | 1 + .../green_framed_insulated_wire_re_color.json | 1 + .../recipes/green_insulated_wire.json | 1 + .../green_insulated_wire_re_color.json | 1 + .../light_blue_bundled_wire_re_color.json | 1 + .../light_blue_framed_bundled_wire.json | 1 + ...ght_blue_framed_bundled_wire_re_color.json | 1 + .../light_blue_framed_insulated_wire.json | 1 + ...t_blue_framed_insulated_wire_re_color.json | 1 + .../recipes/light_blue_insulated_wire.json | 1 + .../light_blue_insulated_wire_re_color.json | 1 + .../light_gray_bundled_wire_re_color.json | 1 + .../light_gray_framed_bundled_wire.json | 1 + ...ght_gray_framed_bundled_wire_re_color.json | 1 + .../light_gray_framed_insulated_wire.json | 1 + ...t_gray_framed_insulated_wire_re_color.json | 1 + .../recipes/light_gray_insulated_wire.json | 1 + .../light_gray_insulated_wire_re_color.json | 1 + .../recipes/lime_bundled_wire_re_color.json | 1 + .../recipes/lime_framed_bundled_wire.json | 1 + .../lime_framed_bundled_wire_re_color.json | 1 + .../recipes/lime_framed_insulated_wire.json | 1 + .../lime_framed_insulated_wire_re_color.json | 1 + .../recipes/lime_insulated_wire.json | 1 + .../recipes/lime_insulated_wire_re_color.json | 1 + .../recipes/low_load_framed_power_wire.json | 1 + .../recipes/low_load_power_wire.json | 1 + .../magenta_bundled_wire_re_color.json | 1 + .../recipes/magenta_framed_bundled_wire.json | 1 + .../magenta_framed_bundled_wire_re_color.json | 1 + .../magenta_framed_insulated_wire.json | 1 + ...agenta_framed_insulated_wire_re_color.json | 1 + .../recipes/magenta_insulated_wire.json | 1 + .../magenta_insulated_wire_re_color.json | 1 + .../recipes/neutral_bundled_wire.json | 1 + .../recipes/neutral_framed_bundled_wire.json | 1 + .../recipes/orange_bundled_wire_re_color.json | 1 + .../recipes/orange_framed_bundled_wire.json | 1 + .../orange_framed_bundled_wire_re_color.json | 1 + .../recipes/orange_framed_insulated_wire.json | 1 + ...orange_framed_insulated_wire_re_color.json | 1 + .../recipes/orange_insulated_wire.json | 1 + .../orange_insulated_wire_re_color.json | 1 + .../recipes/pink_bundled_wire_re_color.json | 1 + .../recipes/pink_framed_bundled_wire.json | 1 + .../pink_framed_bundled_wire_re_color.json | 1 + .../recipes/pink_framed_insulated_wire.json | 1 + .../pink_framed_insulated_wire_re_color.json | 1 + .../recipes/pink_insulated_wire.json | 1 + .../recipes/pink_insulated_wire_re_color.json | 1 + .../recipes/purple_bundled_wire_re_color.json | 1 + .../recipes/purple_framed_bundled_wire.json | 1 + .../purple_framed_bundled_wire_re_color.json | 1 + .../recipes/purple_framed_insulated_wire.json | 1 + ...purple_framed_insulated_wire_re_color.json | 1 + .../recipes/purple_insulated_wire.json | 1 + .../purple_insulated_wire_re_color.json | 1 + .../recipes/red_alloy_wire.json | 1 + .../recipes/red_bundled_wire_re_color.json | 1 + .../recipes/red_framed_bundled_wire.json | 1 + .../red_framed_bundled_wire_re_color.json | 1 + .../recipes/red_framed_insulated_wire.json | 1 + .../red_framed_insulated_wire_re_color.json | 1 + .../recipes/red_insulated_wire.json | 1 + .../recipes/red_insulated_wire_re_color.json | 1 + .../recipes/white_bundled_wire_re_color.json | 1 + .../recipes/white_framed_bundled_wire.json | 1 + .../white_framed_bundled_wire_re_color.json | 1 + .../recipes/white_framed_insulated_wire.json | 1 + .../white_framed_insulated_wire_re_color.json | 1 + .../recipes/white_insulated_wire.json | 1 + .../white_insulated_wire_re_color.json | 1 + .../recipes/wired_plate.json | 1 + .../recipes/yellow_bundled_wire_re_color.json | 1 + .../recipes/yellow_framed_bundled_wire.json | 1 + .../yellow_framed_bundled_wire_re_color.json | 1 + .../recipes/yellow_framed_insulated_wire.json | 1 + ...yellow_framed_insulated_wire_re_color.json | 1 + .../recipes/yellow_insulated_wire.json | 1 + .../yellow_insulated_wire_re_color.json | 1 + .../transmission/ProjectRedTransmission.java | 46 ++- .../projectred/transmission/WireType.java | 20 +- .../data/TransmissionBlockTagsProvider.java | 4 +- .../data/TransmissionItemModelProvider.java | 2 +- .../data/TransmissionItemTagsProvider.java | 2 +- .../data/TransmissionLanguageProvider.java | 7 +- .../data/TransmissionRecipeProvider.java | 16 +- .../init/TransmissionClientInit.java | 9 +- .../init/TransmissionCreativeModeTabs.java | 5 +- .../transmission/part/BaseCenterWirePart.java | 8 +- .../transmission/part/BaseWirePart.java | 4 +- .../src/main/resources/META-INF/mods.toml | 16 +- 800 files changed, 3307 insertions(+), 2362 deletions(-) delete mode 100644 core/src/main/generated/.cache/31c38579459bc2822e8b63fab8c1617bc12855ad create mode 100644 core/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d rename core/src/main/generated/.cache/{369319b1096662d1b1e3002fd1e543e3b0ce22c2 => a8d3135d4703cc9330b4a159771e03b835c3ff2f} (50%) rename expansion/src/main/generated/.cache/{428f0a17e1411feb5e83cc480747073fbd215b4f => 530d0288148ff957342d1b6d67ff5faa14b2f1f7} (50%) create mode 100644 expansion/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d delete mode 100644 expansion/src/main/generated/.cache/98021baac73a5ba6d8abdf74b58bed538009ec7e delete mode 100644 exploration/src/main/generated/.cache/09d015dc330d59f8eec0a6dc4d86adf5d6409937 rename exploration/src/main/generated/.cache/{fe07d4479e71b97bd5ac0800f5195045ee93364b => 0a9253372a75393f668c88ccde5c10f6fabcdf81} (50%) rename exploration/src/main/generated/.cache/{99a5d1555286bf25041b61b612844755348b72f5 => 1d3100b3ef33796cefe365dd2ab5fffaccaab7ed} (97%) create mode 100644 exploration/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d rename exploration/src/main/generated/data/projectred_exploration/{forge => neoforge}/biome_modifier/add_electrotine_ore_to_overworld.json (100%) rename exploration/src/main/generated/data/projectred_exploration/{forge => neoforge}/biome_modifier/add_marble_cave_to_overworld.json (100%) rename exploration/src/main/generated/data/projectred_exploration/{forge => neoforge}/biome_modifier/add_peridot_ore_to_overworld.json (100%) rename exploration/src/main/generated/data/projectred_exploration/{forge => neoforge}/biome_modifier/add_ruby_ore_to_overworld.json (100%) rename exploration/src/main/generated/data/projectred_exploration/{forge => neoforge}/biome_modifier/add_sapphire_ore_to_overworld.json (100%) rename exploration/src/main/generated/data/projectred_exploration/{forge => neoforge}/biome_modifier/add_silver_ore_to_overworld.json (100%) rename exploration/src/main/generated/data/projectred_exploration/{forge => neoforge}/biome_modifier/add_tin_ore_to_overworld.json (100%) rename fabrication/src/main/generated/.cache/{af9e6e51e4f0a9c76d168bf51cd141f0b8234be4 => 2b832aea76cf0b2d39e9eefa68e4d55f0e7691bb} (50%) create mode 100644 fabrication/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d delete mode 100644 fabrication/src/main/generated/.cache/be5cfc6003b431d679c396a0b090bde538563248 create mode 100644 illumination/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d delete mode 100644 illumination/src/main/generated/.cache/7ae6c4ef44a093cc44e42d9d617e1d54a384e8ad rename illumination/src/main/generated/.cache/{c622617f6fabf890a00b9275cd5f643584a8a2c8 => 92d9352319b5cd872e759a46e0c9ec86481a1005} (50%) delete mode 100644 illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationBlockLootProvider.java create mode 100644 illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationLootTableProvider.java rename integration/src/main/generated/.cache/{f683280d6f7a8a0c30af620bdaff75e1b58adcdb => de74df0a0df01f1eaa6cc879f21ef45230e9c8a2} (50%) rename transmission/src/main/generated/.cache/{6b41d303ff2565e607848497b87d2268a31dea17 => b628085da02a425cc2b44c1f8a404ad7707a00f7} (50%) diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index a3b888c9a..97719137f 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -135,8 +135,7 @@ jobs: -k $API_TOKEN \ -rt $RELEASE_TYPE \ -v 'Java 17' \ - -v 1.20.1 \ - -v Forge \ + -v 1.20.4 \ -v NeoForge \ -c ./CHANGELOG.md \ --required-dep codechicken-lib-1-8 \ @@ -178,9 +177,8 @@ jobs: create-version \ -v "$MOD_VERSION" \ -c ./CHANGELOG.md \ - -gv 1.20.1 \ + -gv 1.20.4 \ -vt $RELEASE_TYPE \ - -l forge \ -l neoforge \ --required-dep codechicken-lib \ --required-dep cb-multipart \ diff --git a/README.md b/README.md index 934aa7cb6..347923e91 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ A Minecraft Forge mod all about Redstone circuity. ## Latest Versions | MC Version | Branch | Latest Release | Latest Beta | Status | |:----------:|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------| +| 1.20.4 | `main` | ![badge](https://img.shields.io/endpoint?logo=.&url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.20.4-release.json) | ![badge](https://img.shields.io/endpoint?logo=.&url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.20.4-beta.json) | Active | | 1.20.1 | `1.20.1` | ![badge](https://img.shields.io/endpoint?logo=.&url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.20.1-release.json) | ![badge](https://img.shields.io/endpoint?logo=.&url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.20.1-beta.json) | Active | | 1.19.2 | `1.19.x` | ![badge](https://img.shields.io/endpoint?logo=.&url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.19-release.json) | ![badge](https://img.shields.io/endpoint?logo=.&url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.19-beta.json) | Maintenance | | 1.18.2 | `1.18.x` | ![badge](https://img.shields.io/endpoint?logo=.&url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.18-release.json) | ![badge](https://img.shields.io/endpoint?logo=.&url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.18-beta.json) | Maintenance | diff --git a/api/build.gradle b/api/build.gradle index 6c7a5a6dd..a53db100f 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -1,13 +1,7 @@ plugins { - id 'net.neoforged.gradle' -} - -minecraft { - mappings channel: mcp_mappings, version: mcp_mappings_version -// accessTransformer = file("../core/src/main/resources/META-INF/accesstransformer.cfg") + id 'net.neoforged.gradle.userdev' } dependencies { - minecraft "net.neoforged:forge:${mc_version}-${forge_version}" + implementation "net.neoforged:neoforge:${forge_version}" } - diff --git a/api/src/main/java/mrtjp/projectred/api/IExpansionAPI.java b/api/src/main/java/mrtjp/projectred/api/IExpansionAPI.java index e30d08f92..5c8bdb7e4 100644 --- a/api/src/main/java/mrtjp/projectred/api/IExpansionAPI.java +++ b/api/src/main/java/mrtjp/projectred/api/IExpansionAPI.java @@ -1,11 +1,10 @@ package mrtjp.projectred.api; import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.CapabilityManager; -import net.minecraftforge.common.capabilities.CapabilityToken; +import net.neoforged.neoforge.capabilities.BlockCapability; import java.util.Set; @@ -14,12 +13,12 @@ public interface IExpansionAPI { /** * The capability instance for {@link Frame} */ - Capability FRAME_CAPABILITY = CapabilityManager.get(new CapabilityToken<>() { }); + BlockCapability FRAME_CAPABILITY = BlockCapability.createVoid(new ResourceLocation(ProjectRedAPI.EXPANSION_MOD_ID, "frame"), Frame.class); /** * The capability instance for {@link MovementController} */ - Capability MOVEMENT_CONTROLLER_CAPABILITY = CapabilityManager.get(new CapabilityToken<>() { }); + BlockCapability MOVEMENT_CONTROLLER_CAPABILITY = BlockCapability.createVoid(new ResourceLocation(ProjectRedAPI.EXPANSION_MOD_ID, "movement_controller"), MovementController.class); /** * Used to register a {@link BlockMover} to a specific block. This BlockMover will be engaged every time diff --git a/build.gradle b/build.gradle index 2c2e0bbf1..464ae5bb5 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ group = 'mrtjp' version = "${mc_version}-${mod_version}" println "Starting build of ${name}, Version: ${mod_version}" -println "Using Forge: ${forge_version}, for Minecraft: ${mc_version}, with Mappings: ${mcp_mappings}" +println "Using NeoForge: ${forge_version}, for Minecraft: ${mc_version}" // Common submodule configurations subprojects { p -> @@ -28,7 +28,9 @@ subprojects { p -> version = rootProject.version // ForgeGradle version settings - archivesBaseName = rootProject.name + base { + archivesName = rootProject.name + } // Jar settings jar { diff --git a/core/build.gradle b/core/build.gradle index 415415773..8e3dff4c0 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'net.neoforged.gradle' + id 'net.neoforged.gradle.userdev' } String mod_id = 'projectred_core' @@ -8,40 +8,37 @@ String mod_id = 'projectred_core' sourceSets.main.java.srcDirs += ['../api/src/main/java'] minecraft { - mappings channel: mcp_mappings, version: mcp_mappings_version - accessTransformer = file("src/main/resources/META-INF/accesstransformer.cfg") - runs { - data { - property 'mixin.env.remapRefMap', 'true' - property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" - - ideaModule "${rootProject.name}.${project.name}.main" - - workingDirectory file('run') - args '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") - mods { - '${mod_id}' { source sourceSets.main } - } - } + accessTransformers.file file("src/main/resources/META-INF/accesstransformer.cfg") +} + +runs { + data { + systemProperty 'mixin.env.remapRefMap', 'true' + systemProperty 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + + workingDirectory file('run') + programArguments.addAll '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") + modSource sourceSets.main } } dependencies { - minecraft "net.neoforged:forge:${mc_version}-${forge_version}" + implementation "net.neoforged:neoforge:${forge_version}" - implementation fg.deobf("io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal") - implementation fg.deobf("io.codechicken:CBMultipart:${mc_version}-${cbm_version}:universal") + implementation "io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}" + implementation "io.codechicken:CBMultipart:${mc_version}-${cbm_version}" // JEI - compileOnly(fg.deobf("mezz.jei:jei-${mc_version}-common-api:${jei_version}")) - compileOnly(fg.deobf("mezz.jei:jei-${mc_version}-forge-api:${jei_version}")) - runtimeOnly(fg.deobf("mezz.jei:jei-${mc_version}-forge:${jei_version}")) + compileOnly("mezz.jei:jei-${mc_version}-common-api:${jei_version}") + compileOnly("mezz.jei:jei-${mc_version}-neoforge-api:${jei_version}") + runtimeOnly("mezz.jei:jei-${mc_version}-neoforge:${jei_version}") // CCTweaked - compileOnly("cc.tweaked:cc-tweaked-${mc_version}-core-api:${cct_version}") - compileOnly(fg.deobf("cc.tweaked:cc-tweaked-${mc_version}-forge-api:${cct_version}")) - runtimeOnly(fg.deobf("cc.tweaked:cc-tweaked-${mc_version}-forge:${cct_version}")) + // compileOnly("cc.tweaked:cc-tweaked-${mc_version}-core-api:${cct_version}") + // compileOnly(fg.deobf("cc.tweaked:cc-tweaked-${mc_version}-forge-api:${cct_version}")) + // runtimeOnly(fg.deobf("cc.tweaked:cc-tweaked-${mc_version}-forge:${cct_version}")) testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' } + diff --git a/core/src/main/generated/.cache/31c38579459bc2822e8b63fab8c1617bc12855ad b/core/src/main/generated/.cache/31c38579459bc2822e8b63fab8c1617bc12855ad deleted file mode 100644 index 4ec0a4a10..000000000 --- a/core/src/main/generated/.cache/31c38579459bc2822e8b63fab8c1617bc12855ad +++ /dev/null @@ -1,2 +0,0 @@ -// 1.20.1 2024-05-02T16:36:18.642499 projectred_core Block Loot Tables -edf858efe8491e7cce71f1a266f10e218c81a42c data/projectred_core/loot_tables/blocks/electrotine_generator.json diff --git a/core/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/core/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d new file mode 100644 index 000000000..629551ea0 --- /dev/null +++ b/core/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -0,0 +1,2 @@ +// 1.20.4 2024-11-23T19:52:38.925742 Loot Tables +a0514a25061c79be8aebe827aaf7dbc833bc142c data/projectred_core/loot_tables/blocks/electrotine_generator.json diff --git a/core/src/main/generated/.cache/60c196ec329f374e76e48683e89ad3aaa6e8aa32 b/core/src/main/generated/.cache/60c196ec329f374e76e48683e89ad3aaa6e8aa32 index bc2a15cc5..5af0afe5e 100644 --- a/core/src/main/generated/.cache/60c196ec329f374e76e48683e89ad3aaa6e8aa32 +++ b/core/src/main/generated/.cache/60c196ec329f374e76e48683e89ad3aaa6e8aa32 @@ -1,48 +1,48 @@ -// 1.20.1 2024-05-02T16:36:18.636221 projectred_core Recipes. -6df9318cfe3b74a47229e918565717ef412c448a data/projectred_core/recipes/anode.json -f250ff3d3454f55fadea66dc89afea26c601ae4d data/projectred_core/recipes/black_illumar.json -236725b2b0282de7ba2f80261320dcde31ed3df8 data/projectred_core/recipes/blue_illumar.json -ef26b7f8cee8d13086cc152c80aadb88412e76b0 data/projectred_core/recipes/boule.json -624a1650e739812451427764837f54ec793562d6 data/projectred_core/recipes/brown_illumar.json -1c00dbe36fa928f982af65ccd758443fef3e5411 data/projectred_core/recipes/cathode.json -0c868aa79b0124f54fbded7ba06d3e579f0e6f36 data/projectred_core/recipes/conductive_plate.json -d553bff3c0c854010e483f8be0f5822eb8fc1532 data/projectred_core/recipes/copper_coil.json -e6b2efe2ad3e708518d3702c1213dccdd709eb5c data/projectred_core/recipes/cyan_illumar.json -41f3d0f835b83252d31d8a8d0f1a3bf462ea1a8c data/projectred_core/recipes/draw_plate.json -08b470f09db0e5f339fd333dbe95e4e122e90b35 data/projectred_core/recipes/electrotine_generator.json -25a5fd9c78c2f2f16cf44f6afb780fb5912e722d data/projectred_core/recipes/electrotine_ingot.json -bec3ba19234c79bdecabede578f5ae639d873cfd data/projectred_core/recipes/electrotine_iron_comp.json -38b8c13a1c850643a44fb185c4350c3c5a69f6b5 data/projectred_core/recipes/electrotine_silicon.json -3487f3d43581e73981bb0d8cb55ee71150c0c161 data/projectred_core/recipes/electrotine_silicon_comp.json -38a97587cca400f22c53da1c62f3b115584a1e64 data/projectred_core/recipes/energized_silicon.json -4fb85e506d25bc14424c1a4f1f6d4bbb61671037 data/projectred_core/recipes/energized_silicon_chip.json -68c48c4a6daf1586a02211c27537e5ee0a5ddcb4 data/projectred_core/recipes/glow_silicon_comp.json -0da34869cb89f0d154d3293f78be840d9c8db80e data/projectred_core/recipes/gold_coil.json -9a6cf93b7dc4e2c3e6b4473f8e84a14bd64e2687 data/projectred_core/recipes/gray_illumar.json -35c8a676a2546b845983f8c635797eb1611cde7e data/projectred_core/recipes/green_illumar.json -a65beaefdcabb72c8965f26c8bc393672a1f5278 data/projectred_core/recipes/infused_silicon.json -be7349135660f14f1395a32ff8be936922b642fb data/projectred_core/recipes/iron_coil.json -06ca89557ab83f51bdcfb8fa0404bd51afac2f8a data/projectred_core/recipes/light_blue_illumar.json -da35c8a29094c40897d9d0bc2a14e997a85e7480 data/projectred_core/recipes/light_gray_illumar.json -6858c14e8b178982d1f03c68e258b169f01d288b data/projectred_core/recipes/lime_illumar.json -15f9f006d24ecb238cc283093fb0bf5313fc4f55 data/projectred_core/recipes/magenta_illumar.json -bcd31892d44d481bfa3af6655d7d1333efa0740d data/projectred_core/recipes/motor.json -4b5b579b7bb5b66c7a42ae0d1a6e8db35d97416f data/projectred_core/recipes/multimeter.json -b680b9bf38af0a45c4751e5a25865a1fc563b87f data/projectred_core/recipes/orange_illumar.json -25b435c2d32bf284ea8683943d968ecaa516f1ed data/projectred_core/recipes/pink_illumar.json -d9de5d90fde04c7d5978f8ff692ad4fedeb92bf2 data/projectred_core/recipes/plate.json -f97023d8b2284d76247dc3c34451438d4329924a data/projectred_core/recipes/platformed_plate.json -b6b878dbd1b6316e303c7c931260d4b4f4282044 data/projectred_core/recipes/pointer.json -c3d1e963e8b5ac9d73759b9932306c2933c411a9 data/projectred_core/recipes/purple_illumar.json -d3eff17e454afbdddc5fd3445ff51ebeaa790bea data/projectred_core/recipes/red_illumar.json -47033e063761a2bf687d5c4b7b83d156eeaec939 data/projectred_core/recipes/red_ingot.json -9fee17214ce2c53ced6f273280dd905619eea04e data/projectred_core/recipes/red_iron_comp.json -50e44357d146ff4c1f33201ef0138260bf22f138 data/projectred_core/recipes/red_silicon_comp.json -45a075d35f8a9d5b0ae4a24f4f42f2078836f310 data/projectred_core/recipes/sail.json -3f0f9cce1cb8ea18b403f30d0f6e034eb919d2a3 data/projectred_core/recipes/sand_coal_comp.json -18b38eb30f4e5a001325f8545881fa7bccfc2c56 data/projectred_core/recipes/screwdriver.json -74eecc551491b0f4df62107b5f72eb652a37e50c data/projectred_core/recipes/silicon.json -f24d99e4721fcc8efc4aa43dfc56c936d535aa2a data/projectred_core/recipes/silicon_chip.json -35fbd73b8dc5bb510e1d878666e5bc2d504b4340 data/projectred_core/recipes/white_illumar.json -722b3cc591ad2fe503e8f5678541add99d1baf8d data/projectred_core/recipes/woven_cloth.json -826271d08c8e38b1c677d90b8844aafca3871141 data/projectred_core/recipes/yellow_illumar.json +// 1.20.4 2024-11-23T19:52:38.912607 projectred_core Recipes. +011ec1d6efa6439752346f0a5ab4eb0b353c8346 data/projectred_core/recipes/anode.json +05f64bb226148d7af439a1f4faa65cf0115d124f data/projectred_core/recipes/black_illumar.json +9771cf39e5870cc76fef4b3ea2753810adcf9285 data/projectred_core/recipes/blue_illumar.json +e87407cfa99e294173ac074e839c314851d5109d data/projectred_core/recipes/boule.json +e80ebcaf6f249ade7afafce5df4422ddd8b50014 data/projectred_core/recipes/brown_illumar.json +ae1180243acd8a6ad39a0cdcb7e5ae130936e59e data/projectred_core/recipes/cathode.json +8820431a6b0df0f1faabbd6ad7a5fa376f56b599 data/projectred_core/recipes/conductive_plate.json +9b565853c0d85f672827bda4488f2344dd598a0e data/projectred_core/recipes/copper_coil.json +a4f7b6d6e777f8cccaefd5ce49216c7a4c5c0892 data/projectred_core/recipes/cyan_illumar.json +12ec8a18c14fd7dac6a5cdebf78d306e521d2ee0 data/projectred_core/recipes/draw_plate.json +968917206f5278b9b7ff114ebbfb0cd822807973 data/projectred_core/recipes/electrotine_generator.json +3596f7a764960ae334fc7ba5b872b044d4e8cbd1 data/projectred_core/recipes/electrotine_ingot.json +b97d06f8048b50a6ee10119ae499979ed4ef32e1 data/projectred_core/recipes/electrotine_iron_comp.json +66606b4fd7c45c07037e6b582084b94afc23c2ed data/projectred_core/recipes/electrotine_silicon.json +8367bd21c399c00a71c43ee42c4ccf4ccb4a5d9a data/projectred_core/recipes/electrotine_silicon_comp.json +8208f70f6374845f674c0002137c7e7443e32ea7 data/projectred_core/recipes/energized_silicon.json +a5b433cb7b4b0391d459ce976c9c20e6a0191a47 data/projectred_core/recipes/energized_silicon_chip.json +1694b4904fd0b20e385c949b6d3dd387d20394b4 data/projectred_core/recipes/glow_silicon_comp.json +48388da33f0762e9fb923888dcb422d0895bceae data/projectred_core/recipes/gold_coil.json +1ba6974bd28b7390e8294e96a481a92c4fe0a957 data/projectred_core/recipes/gray_illumar.json +d99ce49de1c687518a97b683e274ab7dbc1a49bf data/projectred_core/recipes/green_illumar.json +c146f539ea48b6c76621e5a942ec052cd4b95bb7 data/projectred_core/recipes/infused_silicon.json +c0c5515557d878557336db021d8069d68d4660c1 data/projectred_core/recipes/iron_coil.json +7c0907930a5f10a77de29c5088c61434b7b02e10 data/projectred_core/recipes/light_blue_illumar.json +eb42398b582a29dc25e35d7eb436ed5717a367b6 data/projectred_core/recipes/light_gray_illumar.json +abbcdbe736ad5bb18955911a8bf037953cba7efc data/projectred_core/recipes/lime_illumar.json +b11cea454867a56544d3466c51415f23bc63a03c data/projectred_core/recipes/magenta_illumar.json +4c588b2521cc1b758d4636fb1e5a6655acda56e9 data/projectred_core/recipes/motor.json +4f23a84c739ed9e55ce0ea9c8ce8ee5367114f20 data/projectred_core/recipes/multimeter.json +0bdbf57249aba68bead95b7bf8cce2f76d0dc611 data/projectred_core/recipes/orange_illumar.json +10b5e98df6622205a5fe07b7e503d64f2f2d902d data/projectred_core/recipes/pink_illumar.json +9b8bd9a802ae07342ee59ca2ed3db893fa1be6b2 data/projectred_core/recipes/plate.json +311e066ba0fd702d304238d7de9c755bade58da5 data/projectred_core/recipes/platformed_plate.json +11197fd21b759f43cf776f9cd43507007e8b909d data/projectred_core/recipes/pointer.json +691710cd3f52407100a366abcfde5a5e1c29e487 data/projectred_core/recipes/purple_illumar.json +59b62d0fe4787a47f5a62daf9dd26c582424ebf3 data/projectred_core/recipes/red_illumar.json +fbfeb163faa41d0fbc78153ac570bd66a4e82f5e data/projectred_core/recipes/red_ingot.json +478b595cdff72d2f61383319a33db29225e118a4 data/projectred_core/recipes/red_iron_comp.json +7ec16e660f73113b359f5068094ace5efc0126fe data/projectred_core/recipes/red_silicon_comp.json +aa3d8ba178651351e749ff032ccf7100d353e394 data/projectred_core/recipes/sail.json +3ef15ccd51ab7f496518845f2f5202a4e853c66c data/projectred_core/recipes/sand_coal_comp.json +b140cda6443a74f01ce48daed21b5ff5168aaa9e data/projectred_core/recipes/screwdriver.json +ac91f0e8b466962cbac8148400e0ba000559f4ce data/projectred_core/recipes/silicon.json +97d16c8ca7079aa64b3a609582af03a8f0dbb1e6 data/projectred_core/recipes/silicon_chip.json +61f6e4eb5fe3b30ad290ef860dc23ce5041240e4 data/projectred_core/recipes/white_illumar.json +ae8534cad1bcaa59bbfec215947594ba24ffbd48 data/projectred_core/recipes/woven_cloth.json +0cee2cc2f570a96c7a9c70e452dbb7a1d3237953 data/projectred_core/recipes/yellow_illumar.json diff --git a/core/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5 b/core/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5 index a012fd8d3..98027dd0e 100644 --- a/core/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5 +++ b/core/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5 @@ -1,4 +1,4 @@ -// 1.20.1 2024-05-02T16:36:18.646512 Tags for minecraft:item mod id projectred_core +// 1.20.4 2024-11-23T19:52:38.926176 Tags for minecraft:item mod id projectred_core 92105d826828321073ede0ce0ecce9d84a8df0db data/forge/tags/items/dusts.json 6a3de78381bcb92b0a8f9953c598cf7fc42cb3c6 data/forge/tags/items/dusts/electrotine.json 9bb828e78355e586e44d0350583fbdf5610a36f6 data/forge/tags/items/gems.json diff --git a/core/src/main/generated/.cache/a13141127d84ce466c022270707e855b1490e862 b/core/src/main/generated/.cache/a13141127d84ce466c022270707e855b1490e862 index 92c3ae2fb..d7856fe17 100644 --- a/core/src/main/generated/.cache/a13141127d84ce466c022270707e855b1490e862 +++ b/core/src/main/generated/.cache/a13141127d84ce466c022270707e855b1490e862 @@ -1,4 +1,4 @@ -// 1.20.1 2024-05-02T16:36:18.646807 projectred_core Item models. +// 1.20.4 2024-11-23T19:52:38.926677 projectred_core Item models. b12b23b4ee2dfe55a99741d7fe8e6f4787e348c5 assets/projectred_core/models/item/anode.json 862e1a7b058c18759bc2dddce1211e6b3b96f341 assets/projectred_core/models/item/black_illumar.json 8da2c7613c8d8a99280b69d798966b4556950a49 assets/projectred_core/models/item/blue_illumar.json diff --git a/core/src/main/generated/.cache/369319b1096662d1b1e3002fd1e543e3b0ce22c2 b/core/src/main/generated/.cache/a8d3135d4703cc9330b4a159771e03b835c3ff2f similarity index 50% rename from core/src/main/generated/.cache/369319b1096662d1b1e3002fd1e543e3b0ce22c2 rename to core/src/main/generated/.cache/a8d3135d4703cc9330b4a159771e03b835c3ff2f index 237ff05a2..0f980f9dd 100644 --- a/core/src/main/generated/.cache/369319b1096662d1b1e3002fd1e543e3b0ce22c2 +++ b/core/src/main/generated/.cache/a8d3135d4703cc9330b4a159771e03b835c3ff2f @@ -1,2 +1,2 @@ -// 1.20.1 2024-05-02T16:36:18.64587 ProjectRed-Core Languages: en_us +// 1.20.4 2024-11-23T19:52:38.924139 Languages: en_us for mod: projectred_core 789a8db6ffa570c8db0bb245338757a5c3790ae6 assets/projectred_core/lang/en_us.json diff --git a/core/src/main/generated/.cache/b0f137dfc10ced131e28cda728f7d0482d1c6142 b/core/src/main/generated/.cache/b0f137dfc10ced131e28cda728f7d0482d1c6142 index 66c5e8a7b..a397afe93 100644 --- a/core/src/main/generated/.cache/b0f137dfc10ced131e28cda728f7d0482d1c6142 +++ b/core/src/main/generated/.cache/b0f137dfc10ced131e28cda728f7d0482d1c6142 @@ -1,2 +1,2 @@ -// 1.20.1 2024-05-02T16:36:18.649205 Tags for minecraft:block mod id projectred_core +// 1.20.4 2024-11-23T19:52:38.931335 Tags for minecraft:block mod id projectred_core dabd78c12058db0f6f5c9f20eb3ab78775843770 data/minecraft/tags/blocks/mineable/pickaxe.json diff --git a/core/src/main/generated/.cache/f287af4f9f91df133198713f222d72b1ed1c435d b/core/src/main/generated/.cache/f287af4f9f91df133198713f222d72b1ed1c435d index e04b3e0cf..8ff466e3f 100644 --- a/core/src/main/generated/.cache/f287af4f9f91df133198713f222d72b1ed1c435d +++ b/core/src/main/generated/.cache/f287af4f9f91df133198713f222d72b1ed1c435d @@ -1,4 +1,4 @@ -// 1.20.1 2024-05-02T16:36:18.64417 ProjectRed-Core Block State Models +// 1.20.4 2024-11-23T19:52:38.920667 ProjectRed-Core Block State Models 2066fd5cf5e8c7b963f617014ef5e6fe2bf6671a assets/projectred_core/blockstates/electrotine_generator.json 76a3e81fab4af40997c86364497b3c682571c4bd assets/projectred_core/models/block/electrotine_generator.json 2320dfd49b9c2dc8024323870ab92e6ed68b2f1f assets/projectred_core/models/block/electrotine_generator_state1.json diff --git a/core/src/main/generated/data/projectred_core/loot_tables/blocks/electrotine_generator.json b/core/src/main/generated/data/projectred_core/loot_tables/blocks/electrotine_generator.json index 44d5f955a..3d3bdffb8 100644 --- a/core/src/main/generated/data/projectred_core/loot_tables/blocks/electrotine_generator.json +++ b/core/src/main/generated/data/projectred_core/loot_tables/blocks/electrotine_generator.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_core:blocks/electrotine_generator" } \ No newline at end of file diff --git a/core/src/main/generated/data/projectred_core/recipes/anode.json b/core/src/main/generated/data/projectred_core/recipes/anode.json index 67f215374..0e739f73a 100644 --- a/core/src/main/generated/data/projectred_core/recipes/anode.json +++ b/core/src/main/generated/data/projectred_core/recipes/anode.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "P": { "item": "projectred_core:plate" diff --git a/core/src/main/generated/data/projectred_core/recipes/black_illumar.json b/core/src/main/generated/data/projectred_core/recipes/black_illumar.json index a75433daa..7d1889d88 100644 --- a/core/src/main/generated/data/projectred_core/recipes/black_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/black_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/blue_illumar.json b/core/src/main/generated/data/projectred_core/recipes/blue_illumar.json index be40e3b17..29f361dda 100644 --- a/core/src/main/generated/data/projectred_core/recipes/blue_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/blue_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/boule.json b/core/src/main/generated/data/projectred_core/recipes/boule.json index ec1a66fa0..def133f69 100644 --- a/core/src/main/generated/data/projectred_core/recipes/boule.json +++ b/core/src/main/generated/data/projectred_core/recipes/boule.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.0, "ingredient": { "item": "projectred_core:sand_coal_comp" }, - "result": { - "item": "projectred_core:boule" - } + "result": "projectred_core:boule" } \ No newline at end of file diff --git a/core/src/main/generated/data/projectred_core/recipes/brown_illumar.json b/core/src/main/generated/data/projectred_core/recipes/brown_illumar.json index f8f3ad002..1ab7121cf 100644 --- a/core/src/main/generated/data/projectred_core/recipes/brown_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/brown_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/cathode.json b/core/src/main/generated/data/projectred_core/recipes/cathode.json index 9eca7bc78..3e1a5c970 100644 --- a/core/src/main/generated/data/projectred_core/recipes/cathode.json +++ b/core/src/main/generated/data/projectred_core/recipes/cathode.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "P": { "item": "projectred_core:plate" diff --git a/core/src/main/generated/data/projectred_core/recipes/conductive_plate.json b/core/src/main/generated/data/projectred_core/recipes/conductive_plate.json index 329c87a50..7a8318058 100644 --- a/core/src/main/generated/data/projectred_core/recipes/conductive_plate.json +++ b/core/src/main/generated/data/projectred_core/recipes/conductive_plate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "P": { "item": "projectred_core:plate" diff --git a/core/src/main/generated/data/projectred_core/recipes/copper_coil.json b/core/src/main/generated/data/projectred_core/recipes/copper_coil.json index ec702fdf8..b814324df 100644 --- a/core/src/main/generated/data/projectred_core/recipes/copper_coil.json +++ b/core/src/main/generated/data/projectred_core/recipes/copper_coil.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "tag": "forge:ingots/copper" diff --git a/core/src/main/generated/data/projectred_core/recipes/cyan_illumar.json b/core/src/main/generated/data/projectred_core/recipes/cyan_illumar.json index 842c94b4a..0ce67ffb0 100644 --- a/core/src/main/generated/data/projectred_core/recipes/cyan_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/cyan_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/draw_plate.json b/core/src/main/generated/data/projectred_core/recipes/draw_plate.json index fb4228049..d15e8a922 100644 --- a/core/src/main/generated/data/projectred_core/recipes/draw_plate.json +++ b/core/src/main/generated/data/projectred_core/recipes/draw_plate.json @@ -1,17 +1,18 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "D": { - "type": "forge:nbt", - "count": 1, + "type": "neoforge:nbt", "item": "cb_microblock:microblock", - "nbt": "{factory_id:0,mat:\"minecraft:diamond_block\",size:2}" + "strict": true, + "tag": "{factory_id:0,mat:\"minecraft:diamond_block\",size:2}" }, "I": { - "type": "forge:nbt", - "count": 1, + "type": "neoforge:nbt", "item": "cb_microblock:microblock", - "nbt": "{factory_id:3,mat:\"minecraft:iron_block\",size:2}" + "strict": true, + "tag": "{factory_id:3,mat:\"minecraft:iron_block\",size:2}" } }, "pattern": [ @@ -20,7 +21,6 @@ " I " ], "result": { - "item": "projectred_core:draw_plate", - "nbt": "{Damage:0}" + "item": "projectred_core:draw_plate" } } \ No newline at end of file diff --git a/core/src/main/generated/data/projectred_core/recipes/electrotine_generator.json b/core/src/main/generated/data/projectred_core/recipes/electrotine_generator.json index 671b1652d..aff308a36 100644 --- a/core/src/main/generated/data/projectred_core/recipes/electrotine_generator.json +++ b/core/src/main/generated/data/projectred_core/recipes/electrotine_generator.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "b": { "item": "minecraft:bricks" diff --git a/core/src/main/generated/data/projectred_core/recipes/electrotine_ingot.json b/core/src/main/generated/data/projectred_core/recipes/electrotine_ingot.json index bbd6cb611..ec510e6e8 100644 --- a/core/src/main/generated/data/projectred_core/recipes/electrotine_ingot.json +++ b/core/src/main/generated/data/projectred_core/recipes/electrotine_ingot.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.0, "ingredient": { "item": "projectred_core:electrotine_iron_comp" }, - "result": { - "item": "projectred_core:electrotine_ingot" - } + "result": "projectred_core:electrotine_ingot" } \ No newline at end of file diff --git a/core/src/main/generated/data/projectred_core/recipes/electrotine_iron_comp.json b/core/src/main/generated/data/projectred_core/recipes/electrotine_iron_comp.json index 66c63d7b8..f9a70c13c 100644 --- a/core/src/main/generated/data/projectred_core/recipes/electrotine_iron_comp.json +++ b/core/src/main/generated/data/projectred_core/recipes/electrotine_iron_comp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "tag": "forge:dusts/electrotine" diff --git a/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon.json b/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon.json index c0817ebe9..bec7c2ec3 100644 --- a/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon.json +++ b/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.0, "ingredient": { "item": "projectred_core:electrotine_silicon_comp" }, - "result": { - "item": "projectred_core:electrotine_silicon" - } + "result": "projectred_core:electrotine_silicon" } \ No newline at end of file diff --git a/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon_comp.json b/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon_comp.json index 11384d6db..beb4d6cc4 100644 --- a/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon_comp.json +++ b/core/src/main/generated/data/projectred_core/recipes/electrotine_silicon_comp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "E": { "tag": "forge:dusts/electrotine" diff --git a/core/src/main/generated/data/projectred_core/recipes/energized_silicon.json b/core/src/main/generated/data/projectred_core/recipes/energized_silicon.json index a90397bed..e5b19587a 100644 --- a/core/src/main/generated/data/projectred_core/recipes/energized_silicon.json +++ b/core/src/main/generated/data/projectred_core/recipes/energized_silicon.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.0, "ingredient": { "item": "projectred_core:glow_silicon_comp" }, - "result": { - "item": "projectred_core:energized_silicon" - } + "result": "projectred_core:energized_silicon" } \ No newline at end of file diff --git a/core/src/main/generated/data/projectred_core/recipes/energized_silicon_chip.json b/core/src/main/generated/data/projectred_core/recipes/energized_silicon_chip.json index eb0ff4adb..e08087080 100644 --- a/core/src/main/generated/data/projectred_core/recipes/energized_silicon_chip.json +++ b/core/src/main/generated/data/projectred_core/recipes/energized_silicon_chip.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "E": { "item": "projectred_core:energized_silicon" diff --git a/core/src/main/generated/data/projectred_core/recipes/glow_silicon_comp.json b/core/src/main/generated/data/projectred_core/recipes/glow_silicon_comp.json index ed59d9eb1..d7db53ac5 100644 --- a/core/src/main/generated/data/projectred_core/recipes/glow_silicon_comp.json +++ b/core/src/main/generated/data/projectred_core/recipes/glow_silicon_comp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/gold_coil.json b/core/src/main/generated/data/projectred_core/recipes/gold_coil.json index e2e2be022..a85a40976 100644 --- a/core/src/main/generated/data/projectred_core/recipes/gold_coil.json +++ b/core/src/main/generated/data/projectred_core/recipes/gold_coil.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "D": { "item": "projectred_core:draw_plate" diff --git a/core/src/main/generated/data/projectred_core/recipes/gray_illumar.json b/core/src/main/generated/data/projectred_core/recipes/gray_illumar.json index a3dc6dcf0..0b049fa99 100644 --- a/core/src/main/generated/data/projectred_core/recipes/gray_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/gray_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/green_illumar.json b/core/src/main/generated/data/projectred_core/recipes/green_illumar.json index 07f44fd4e..a6f8a4fc6 100644 --- a/core/src/main/generated/data/projectred_core/recipes/green_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/green_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/infused_silicon.json b/core/src/main/generated/data/projectred_core/recipes/infused_silicon.json index 38a6a4ce8..916d6c57c 100644 --- a/core/src/main/generated/data/projectred_core/recipes/infused_silicon.json +++ b/core/src/main/generated/data/projectred_core/recipes/infused_silicon.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.0, "ingredient": { "item": "projectred_core:red_silicon_comp" }, - "result": { - "item": "projectred_core:infused_silicon" - } + "result": "projectred_core:infused_silicon" } \ No newline at end of file diff --git a/core/src/main/generated/data/projectred_core/recipes/iron_coil.json b/core/src/main/generated/data/projectred_core/recipes/iron_coil.json index 38f9d4f1b..aa5104f1a 100644 --- a/core/src/main/generated/data/projectred_core/recipes/iron_coil.json +++ b/core/src/main/generated/data/projectred_core/recipes/iron_coil.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "D": { "item": "projectred_core:draw_plate" diff --git a/core/src/main/generated/data/projectred_core/recipes/light_blue_illumar.json b/core/src/main/generated/data/projectred_core/recipes/light_blue_illumar.json index baac9ebb4..ad4dec12e 100644 --- a/core/src/main/generated/data/projectred_core/recipes/light_blue_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/light_blue_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/light_gray_illumar.json b/core/src/main/generated/data/projectred_core/recipes/light_gray_illumar.json index cf3650295..31756499f 100644 --- a/core/src/main/generated/data/projectred_core/recipes/light_gray_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/light_gray_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/lime_illumar.json b/core/src/main/generated/data/projectred_core/recipes/lime_illumar.json index c25e2c7e6..5b6818651 100644 --- a/core/src/main/generated/data/projectred_core/recipes/lime_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/lime_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/magenta_illumar.json b/core/src/main/generated/data/projectred_core/recipes/magenta_illumar.json index 5bb57853a..93fb79a90 100644 --- a/core/src/main/generated/data/projectred_core/recipes/magenta_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/magenta_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/motor.json b/core/src/main/generated/data/projectred_core/recipes/motor.json index f2570960f..70a8e1a06 100644 --- a/core/src/main/generated/data/projectred_core/recipes/motor.json +++ b/core/src/main/generated/data/projectred_core/recipes/motor.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:copper_coil" diff --git a/core/src/main/generated/data/projectred_core/recipes/multimeter.json b/core/src/main/generated/data/projectred_core/recipes/multimeter.json index ead953801..606a3aed4 100644 --- a/core/src/main/generated/data/projectred_core/recipes/multimeter.json +++ b/core/src/main/generated/data/projectred_core/recipes/multimeter.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "tag": "forge:ingots/red_alloy" @@ -23,7 +24,6 @@ "BGR" ], "result": { - "item": "projectred_core:multimeter", - "nbt": "{Damage:0}" + "item": "projectred_core:multimeter" } } \ No newline at end of file diff --git a/core/src/main/generated/data/projectred_core/recipes/orange_illumar.json b/core/src/main/generated/data/projectred_core/recipes/orange_illumar.json index 8704747ba..daa6711cf 100644 --- a/core/src/main/generated/data/projectred_core/recipes/orange_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/orange_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/pink_illumar.json b/core/src/main/generated/data/projectred_core/recipes/pink_illumar.json index 6d8f74a95..63a5b9963 100644 --- a/core/src/main/generated/data/projectred_core/recipes/pink_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/pink_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/plate.json b/core/src/main/generated/data/projectred_core/recipes/plate.json index 7177c9622..9e50451f7 100644 --- a/core/src/main/generated/data/projectred_core/recipes/plate.json +++ b/core/src/main/generated/data/projectred_core/recipes/plate.json @@ -1,5 +1,6 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.0, "ingredient": { diff --git a/core/src/main/generated/data/projectred_core/recipes/platformed_plate.json b/core/src/main/generated/data/projectred_core/recipes/platformed_plate.json index 48b6c4ece..3ea1cdf97 100644 --- a/core/src/main/generated/data/projectred_core/recipes/platformed_plate.json +++ b/core/src/main/generated/data/projectred_core/recipes/platformed_plate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "P": { "item": "projectred_core:plate" diff --git a/core/src/main/generated/data/projectred_core/recipes/pointer.json b/core/src/main/generated/data/projectred_core/recipes/pointer.json index 254ac76c6..d0b8660b6 100644 --- a/core/src/main/generated/data/projectred_core/recipes/pointer.json +++ b/core/src/main/generated/data/projectred_core/recipes/pointer.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "P": { "item": "projectred_core:plate" diff --git a/core/src/main/generated/data/projectred_core/recipes/purple_illumar.json b/core/src/main/generated/data/projectred_core/recipes/purple_illumar.json index 30e2a41b3..c8ec0fcdf 100644 --- a/core/src/main/generated/data/projectred_core/recipes/purple_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/purple_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/red_illumar.json b/core/src/main/generated/data/projectred_core/recipes/red_illumar.json index 42f11b559..a36413e78 100644 --- a/core/src/main/generated/data/projectred_core/recipes/red_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/red_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/red_ingot.json b/core/src/main/generated/data/projectred_core/recipes/red_ingot.json index 411940a84..035ccc6ee 100644 --- a/core/src/main/generated/data/projectred_core/recipes/red_ingot.json +++ b/core/src/main/generated/data/projectred_core/recipes/red_ingot.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.0, "ingredient": { "item": "projectred_core:red_iron_comp" }, - "result": { - "item": "projectred_core:red_ingot" - } + "result": "projectred_core:red_ingot" } \ No newline at end of file diff --git a/core/src/main/generated/data/projectred_core/recipes/red_iron_comp.json b/core/src/main/generated/data/projectred_core/recipes/red_iron_comp.json index 773ed2a9f..1c9b951da 100644 --- a/core/src/main/generated/data/projectred_core/recipes/red_iron_comp.json +++ b/core/src/main/generated/data/projectred_core/recipes/red_iron_comp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "tag": "forge:ingots/iron" diff --git a/core/src/main/generated/data/projectred_core/recipes/red_silicon_comp.json b/core/src/main/generated/data/projectred_core/recipes/red_silicon_comp.json index 2cc39f56a..9879ac4ad 100644 --- a/core/src/main/generated/data/projectred_core/recipes/red_silicon_comp.json +++ b/core/src/main/generated/data/projectred_core/recipes/red_silicon_comp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:dusts/redstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/sail.json b/core/src/main/generated/data/projectred_core/recipes/sail.json index 9b0fef9ab..d8653607a 100644 --- a/core/src/main/generated/data/projectred_core/recipes/sail.json +++ b/core/src/main/generated/data/projectred_core/recipes/sail.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "item": "projectred_core:woven_cloth" diff --git a/core/src/main/generated/data/projectred_core/recipes/sand_coal_comp.json b/core/src/main/generated/data/projectred_core/recipes/sand_coal_comp.json index b2bf42595..349517d19 100644 --- a/core/src/main/generated/data/projectred_core/recipes/sand_coal_comp.json +++ b/core/src/main/generated/data/projectred_core/recipes/sand_coal_comp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "tag": "forge:storage_blocks/coal" diff --git a/core/src/main/generated/data/projectred_core/recipes/screwdriver.json b/core/src/main/generated/data/projectred_core/recipes/screwdriver.json index 15e6928cb..b57c010a3 100644 --- a/core/src/main/generated/data/projectred_core/recipes/screwdriver.json +++ b/core/src/main/generated/data/projectred_core/recipes/screwdriver.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "tag": "forge:dyes/blue" @@ -14,7 +15,6 @@ " BI" ], "result": { - "item": "projectred_core:screwdriver", - "nbt": "{Damage:0}" + "item": "projectred_core:screwdriver" } } \ No newline at end of file diff --git a/core/src/main/generated/data/projectred_core/recipes/silicon.json b/core/src/main/generated/data/projectred_core/recipes/silicon.json index d99c3ef65..99a05cae5 100644 --- a/core/src/main/generated/data/projectred_core/recipes/silicon.json +++ b/core/src/main/generated/data/projectred_core/recipes/silicon.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_core:boule" diff --git a/core/src/main/generated/data/projectred_core/recipes/silicon_chip.json b/core/src/main/generated/data/projectred_core/recipes/silicon_chip.json index f10e2fde4..039f6c7c1 100644 --- a/core/src/main/generated/data/projectred_core/recipes/silicon_chip.json +++ b/core/src/main/generated/data/projectred_core/recipes/silicon_chip.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "P": { "item": "projectred_core:plate" diff --git a/core/src/main/generated/data/projectred_core/recipes/white_illumar.json b/core/src/main/generated/data/projectred_core/recipes/white_illumar.json index fb403a94b..086d54212 100644 --- a/core/src/main/generated/data/projectred_core/recipes/white_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/white_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/generated/data/projectred_core/recipes/woven_cloth.json b/core/src/main/generated/data/projectred_core/recipes/woven_cloth.json index 97fb5cdcb..28b81992a 100644 --- a/core/src/main/generated/data/projectred_core/recipes/woven_cloth.json +++ b/core/src/main/generated/data/projectred_core/recipes/woven_cloth.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:string" diff --git a/core/src/main/generated/data/projectred_core/recipes/yellow_illumar.json b/core/src/main/generated/data/projectred_core/recipes/yellow_illumar.json index 4ba8a6f71..170696a8a 100644 --- a/core/src/main/generated/data/projectred_core/recipes/yellow_illumar.json +++ b/core/src/main/generated/data/projectred_core/recipes/yellow_illumar.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dusts/glowstone" diff --git a/core/src/main/java/mrtjp/projectred/compatibility/ComputerCraftCompatibility.java b/core/src/main/java/mrtjp/projectred/compatibility/ComputerCraftCompatibility.java index 05282cb31..7abaa3149 100644 --- a/core/src/main/java/mrtjp/projectred/compatibility/ComputerCraftCompatibility.java +++ b/core/src/main/java/mrtjp/projectred/compatibility/ComputerCraftCompatibility.java @@ -1,55 +1,46 @@ package mrtjp.projectred.compatibility; -import dan200.computercraft.api.ComputerCraftAPI; -import dan200.computercraft.api.redstone.BundledRedstoneProvider; -import mrtjp.projectred.api.IBundledTileInteraction; -import mrtjp.projectred.api.ProjectRedAPI; -import mrtjp.projectred.core.BundledSignalsLib; -import mrtjp.projectred.core.ProjectRedCore; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.world.level.Level; - -import javax.annotation.Nonnull; +//import dan200.computercraft.api.ComputerCraftAPI; +//import dan200.computercraft.api.redstone.BundledRedstoneProvider; public class ComputerCraftCompatibility { public static void init(Object ccModObject) { - if (ProjectRedAPI.transmissionAPI != null) { - ProjectRedCore.LOGGER.info("Loading Project Red ComputerCraft Compatibility Module"); - ComputerCraftAPI.registerBundledRedstoneProvider(new CCPRBundledRedstoneProvider()); - ProjectRedAPI.transmissionAPI.registerBundledTileInteraction(new PRCCBundledTileInteraction()); - } - } - - /** - * This is used by ComputerCraft to query bundled signals from third-party entities - */ - private static class CCPRBundledRedstoneProvider implements BundledRedstoneProvider { - @Override - public int getBundledRedstoneOutput(@Nonnull Level world, @Nonnull BlockPos pos, @Nonnull Direction side) { - assert ProjectRedAPI.transmissionAPI != null; - byte[] signal = ProjectRedAPI.transmissionAPI.getBundledInput(world, pos.relative(side), side.getOpposite()); - return BundledSignalsLib.packDigital(signal); - } +// if (ProjectRedAPI.transmissionAPI != null) { +// ProjectRedCore.LOGGER.info("Loading Project Red ComputerCraft Compatibility Module"); +// ComputerCraftAPI.registerBundledRedstoneProvider(new CCPRBundledRedstoneProvider()); +// ProjectRedAPI.transmissionAPI.registerBundledTileInteraction(new PRCCBundledTileInteraction()); +// } } - private static class PRCCBundledTileInteraction implements IBundledTileInteraction { - @Override - public boolean isValidInteractionFor(Level world, BlockPos pos, Direction side) { - return ComputerCraftAPI.getBundledRedstoneOutput(world, pos, side) != -1; - } - - @Override - public boolean canConnectBundled(Level world, BlockPos pos, Direction side) { - return true; - } - - @Override - public byte[] getBundledSignal(Level world, BlockPos pos, Direction side) { - int signal = ComputerCraftAPI.getBundledRedstoneOutput(world, pos, side); - return BundledSignalsLib.unpackDigital(null, signal); - } - } +// /** +// * This is used by ComputerCraft to query bundled signals from third-party entities +// */ +// private static class CCPRBundledRedstoneProvider implements BundledRedstoneProvider { +// @Override +// public int getBundledRedstoneOutput(@Nonnull Level world, @Nonnull BlockPos pos, @Nonnull Direction side) { +// assert ProjectRedAPI.transmissionAPI != null; +// byte[] signal = ProjectRedAPI.transmissionAPI.getBundledInput(world, pos.relative(side), side.getOpposite()); +// return BundledSignalsLib.packDigital(signal); +// } +// } +// +// private static class PRCCBundledTileInteraction implements IBundledTileInteraction { +// @Override +// public boolean isValidInteractionFor(Level world, BlockPos pos, Direction side) { +// return ComputerCraftAPI.getBundledRedstoneOutput(world, pos, side) != -1; +// } +// +// @Override +// public boolean canConnectBundled(Level world, BlockPos pos, Direction side) { +// return true; +// } +// +// @Override +// public byte[] getBundledSignal(Level world, BlockPos pos, Direction side) { +// int signal = ComputerCraftAPI.getBundledRedstoneOutput(world, pos, side); +// return BundledSignalsLib.unpackDigital(null, signal); +// } +// } } diff --git a/core/src/main/java/mrtjp/projectred/core/CoreNetwork.java b/core/src/main/java/mrtjp/projectred/core/CoreNetwork.java index 679f50624..2c7d534cd 100644 --- a/core/src/main/java/mrtjp/projectred/core/CoreNetwork.java +++ b/core/src/main/java/mrtjp/projectred/core/CoreNetwork.java @@ -3,15 +3,14 @@ import codechicken.lib.data.MCDataInput; import codechicken.lib.packet.ICustomPacketHandler; import codechicken.lib.packet.PacketCustom; -import codechicken.lib.packet.PacketCustomChannelBuilder; +import codechicken.lib.packet.PacketCustomChannel; import mrtjp.projectred.core.tile.IPacketReceiverTile; import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; +import net.neoforged.bus.api.IEventBus; import java.util.Objects; @@ -27,11 +26,14 @@ public class CoreNetwork { // Client to server messages public static final int NET_TILE_PACKET_TO_SERVER = 3; - public static void init() { - PacketCustomChannelBuilder.named(NET_CHANNEL) - .assignClientHandler(() -> ClientHandler::new) - .assignServerHandler(() -> ServerHandler::new) - .build(); + // Channel instance + private static final PacketCustomChannel channel = new PacketCustomChannel(NET_CHANNEL) + .versioned(ProjectRedCore.getContainer().getModInfo().getVersion().toString()) + .client(() -> ClientHandler::new) + .server(() -> ServerHandler::new); + + public static void init(IEventBus modBus) { + channel.init(modBus); } public static PacketCustom createTileClientPacket(IPacketReceiverTile tile, byte key) { @@ -51,7 +53,7 @@ public static PacketCustom createTileServerPacket(IPacketReceiverTile tile, byte private static class ClientHandler implements ICustomPacketHandler.IClientPacketHandler { @Override - public void handlePacket(PacketCustom packet, Minecraft mc, ClientPacketListener handler) { + public void handlePacket(PacketCustom packet, Minecraft mc) { switch (packet.getType()) { case NET_TILE_PACKET_TO_CLIENT: handleTilePacket(Objects.requireNonNull(mc.level), packet); @@ -73,7 +75,7 @@ private void handleTilePacket(Level world, MCDataInput data) { private static class ServerHandler implements ICustomPacketHandler.IServerPacketHandler { @Override - public void handlePacket(PacketCustom packet, ServerPlayer sender, ServerGamePacketListenerImpl handler) { + public void handlePacket(PacketCustom packet, ServerPlayer sender) { switch (packet.getType()) { case NET_TILE_PACKET_TO_SERVER: handleTilePacket(sender.level(), packet, sender); diff --git a/core/src/main/java/mrtjp/projectred/core/ProjectRedCore.java b/core/src/main/java/mrtjp/projectred/core/ProjectRedCore.java index 76ea7378f..b77934918 100644 --- a/core/src/main/java/mrtjp/projectred/core/ProjectRedCore.java +++ b/core/src/main/java/mrtjp/projectred/core/ProjectRedCore.java @@ -4,6 +4,7 @@ import mrtjp.projectred.compatibility.ComputerCraftCompatibility; import mrtjp.projectred.core.data.*; import mrtjp.projectred.core.init.*; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; @@ -13,20 +14,22 @@ import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.common.data.BlockTagsProvider; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.data.event.GatherDataEvent; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.OptionalMod; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.OptionalMod; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; +import net.neoforged.fml.loading.FMLEnvironment; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.data.event.GatherDataEvent; +import net.neoforged.neoforge.registries.DeferredRegister; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.Nullable; + +import java.util.Objects; import static mrtjp.projectred.core.ProjectRedCore.MOD_ID; @@ -37,14 +40,16 @@ public class ProjectRedCore { public static final Logger LOGGER = LogManager.getLogger(MOD_ID); - public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MOD_ID); - public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, MOD_ID); - public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(ForgeRegistries.MENU_TYPES, MOD_ID); - public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID); - public static final DeferredRegister> RECIPE_SERIALIZERS = DeferredRegister.create(ForgeRegistries.RECIPE_SERIALIZERS, MOD_ID); + public static final DeferredRegister BLOCKS = DeferredRegister.create(BuiltInRegistries.BLOCK, MOD_ID); + public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(BuiltInRegistries.BLOCK_ENTITY_TYPE, MOD_ID); + public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(BuiltInRegistries.MENU, MOD_ID); + public static final DeferredRegister ITEMS = DeferredRegister.create(BuiltInRegistries.ITEM, MOD_ID); + public static final DeferredRegister> RECIPE_SERIALIZERS = DeferredRegister.create(BuiltInRegistries.RECIPE_SERIALIZER, MOD_ID); public static final DeferredRegister> PART_TYPES = DeferredRegister.create(MultipartType.MULTIPART_TYPES, MOD_ID); public static final DeferredRegister CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID); + private static @Nullable ModContainer container; + static { CoreBlocks.register(); CoreItems.register(); @@ -53,13 +58,19 @@ public class ProjectRedCore { CoreCreativeModeTabs.register(); } - public ProjectRedCore() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); + public ProjectRedCore(ModContainer container, IEventBus modEventBus) { + ProjectRedCore.container = container; modEventBus.addListener(this::commonSetup); modEventBus.addListener(this::onGatherDataEvent); + modEventBus.addListener(this::onRegisterCaps); + + if (FMLEnvironment.dist.isClient()) { + CoreClientInit.init(modEventBus); + } - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> CoreClientInit::init); + // Init packet handler + CoreNetwork.init(modEventBus); BLOCKS.register(modEventBus); ITEMS.register(modEventBus); @@ -69,10 +80,11 @@ public ProjectRedCore() { CREATIVE_TABS.register(modEventBus); } - private void commonSetup(final FMLCommonSetupEvent event) { - // Init packet handler - CoreNetwork.init(); + public static ModContainer getContainer() { + return Objects.requireNonNull(container); + } + private void commonSetup(final FMLCommonSetupEvent event) { // Load config file Configurator.load(); @@ -100,4 +112,8 @@ private void onGatherDataEvent(final GatherDataEvent event) { generator.addProvider(event.includeServer(), blockTagsProvider); generator.addProvider(event.includeServer(), new CoreItemTagsProvider(output, event.getLookupProvider(), blockTagsProvider.contentsGetter(), fileHelper)); } + + public void onRegisterCaps(RegisterCapabilitiesEvent event) { + CoreBlocks.registerCaps(event); + } } diff --git a/core/src/main/java/mrtjp/projectred/core/client/FullyOrientableBlockRenderer.java b/core/src/main/java/mrtjp/projectred/core/client/FullyOrientableBlockRenderer.java index ee65c6744..5932f2681 100644 --- a/core/src/main/java/mrtjp/projectred/core/client/FullyOrientableBlockRenderer.java +++ b/core/src/main/java/mrtjp/projectred/core/client/FullyOrientableBlockRenderer.java @@ -21,8 +21,8 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.client.model.data.ModelData; -import net.minecraftforge.client.model.generators.ConfiguredModel; +import net.neoforged.neoforge.client.model.data.ModelData; +import net.neoforged.neoforge.client.model.generators.ConfiguredModel; import javax.annotation.Nullable; diff --git a/core/src/main/java/mrtjp/projectred/core/client/HaloRenderer.java b/core/src/main/java/mrtjp/projectred/core/client/HaloRenderer.java index 4af488c99..8521f48d0 100644 --- a/core/src/main/java/mrtjp/projectred/core/client/HaloRenderer.java +++ b/core/src/main/java/mrtjp/projectred/core/client/HaloRenderer.java @@ -19,7 +19,7 @@ import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.client.event.RenderLevelStageEvent; +import net.neoforged.neoforge.client.event.RenderLevelStageEvent; import org.jetbrains.annotations.Nullable; import java.awt.*; @@ -29,8 +29,8 @@ import static mrtjp.projectred.core.ProjectRedCore.MOD_ID; import static net.minecraft.client.renderer.RenderStateShard.*; -import static net.minecraftforge.client.event.RenderLevelStageEvent.Stage.AFTER_LEVEL; -import static net.minecraftforge.client.event.RenderLevelStageEvent.Stage.AFTER_PARTICLES; +import static net.neoforged.neoforge.client.event.RenderLevelStageEvent.Stage.AFTER_LEVEL; +import static net.neoforged.neoforge.client.event.RenderLevelStageEvent.Stage.AFTER_PARTICLES; public class HaloRenderer { diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreBlockStateModelProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreBlockStateModelProvider.java index f5e700f88..df1107306 100644 --- a/core/src/main/java/mrtjp/projectred/core/data/CoreBlockStateModelProvider.java +++ b/core/src/main/java/mrtjp/projectred/core/data/CoreBlockStateModelProvider.java @@ -1,14 +1,14 @@ package mrtjp.projectred.core.data; import mrtjp.projectred.core.block.ProjectRedBlock; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.PackOutput; import net.minecraft.world.level.block.Block; -import net.minecraftforge.client.model.generators.BlockModelBuilder; -import net.minecraftforge.client.model.generators.BlockStateProvider; -import net.minecraftforge.client.model.generators.ConfiguredModel; -import net.minecraftforge.client.model.generators.ModelFile; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.client.model.generators.BlockModelBuilder; +import net.neoforged.neoforge.client.model.generators.BlockStateProvider; +import net.neoforged.neoforge.client.model.generators.ConfiguredModel; +import net.neoforged.neoforge.client.model.generators.ModelFile; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import javax.annotation.Nonnull; @@ -60,7 +60,7 @@ private void addRotatablePoweredMachineVariants(Block block, ModelFile idleModel } private BlockModelBuilder createFrontFacedPoweredMachineModel(Block block, int state) { - String texture = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String texture = BuiltInRegistries.BLOCK.getKey(block).getPath(); String modelName = texture + (state > 0 ? "_state" + state : ""); return models().orientableWithBottom(modelName, diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreBlockTagsProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreBlockTagsProvider.java index 7a778975a..e31ee451c 100644 --- a/core/src/main/java/mrtjp/projectred/core/data/CoreBlockTagsProvider.java +++ b/core/src/main/java/mrtjp/projectred/core/data/CoreBlockTagsProvider.java @@ -3,8 +3,8 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.tags.BlockTags; -import net.minecraftforge.common.data.BlockTagsProvider; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreItemModelProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreItemModelProvider.java index fefad7b62..1ea6ef983 100644 --- a/core/src/main/java/mrtjp/projectred/core/data/CoreItemModelProvider.java +++ b/core/src/main/java/mrtjp/projectred/core/data/CoreItemModelProvider.java @@ -2,7 +2,7 @@ import codechicken.lib.datagen.ItemModelProvider; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import static mrtjp.projectred.core.ProjectRedCore.MOD_ID; import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_BLOCK; diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreItemTagsProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreItemTagsProvider.java index f776b4d5a..60ab1aad4 100644 --- a/core/src/main/java/mrtjp/projectred/core/data/CoreItemTagsProvider.java +++ b/core/src/main/java/mrtjp/projectred/core/data/CoreItemTagsProvider.java @@ -5,8 +5,8 @@ import net.minecraft.data.tags.ItemTagsProvider; import net.minecraft.data.tags.TagsProvider; import net.minecraft.world.level.block.Block; -import net.minecraftforge.common.Tags; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.Tags; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import javax.annotation.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreLanguageProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreLanguageProvider.java index f9f32aec1..dc67ee9fa 100644 --- a/core/src/main/java/mrtjp/projectred/core/data/CoreLanguageProvider.java +++ b/core/src/main/java/mrtjp/projectred/core/data/CoreLanguageProvider.java @@ -1,7 +1,7 @@ package mrtjp.projectred.core.data; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.LanguageProvider; +import net.neoforged.neoforge.common.data.LanguageProvider; import static mrtjp.projectred.core.ProjectRedCore.MOD_ID; import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_BLOCK; @@ -13,11 +13,6 @@ public CoreLanguageProvider(PackOutput output) { super(output, MOD_ID, "en_us"); } - @Override - public String getName() { - return "ProjectRed-Core Languages: en_us"; - } - @Override protected void addTranslations() { diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreLootTableProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreLootTableProvider.java index e90169efd..835a4017f 100644 --- a/core/src/main/java/mrtjp/projectred/core/data/CoreLootTableProvider.java +++ b/core/src/main/java/mrtjp/projectred/core/data/CoreLootTableProvider.java @@ -1,19 +1,44 @@ package mrtjp.projectred.core.data; -import codechicken.lib.datagen.LootTableProvider; +import mrtjp.projectred.core.ProjectRedCore; +import net.minecraft.core.Holder; import net.minecraft.data.PackOutput; +import net.minecraft.data.loot.BlockLootSubProvider; +import net.minecraft.data.loot.LootTableProvider; +import net.minecraft.world.flag.FeatureFlags; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; + +import java.util.List; +import java.util.Set; -import static mrtjp.projectred.core.ProjectRedCore.MOD_ID; import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_BLOCK; -public class CoreLootTableProvider extends LootTableProvider.BlockLootProvider { +public class CoreLootTableProvider extends LootTableProvider { public CoreLootTableProvider(PackOutput output) { - super(output, MOD_ID); + super(output, Set.of(), List.of( + new LootTableProvider.SubProviderEntry(BlockLootTables::new, LootContextParamSets.BLOCK) + )); } - @Override - protected void registerTables() { - register(ELECTROTINE_GENERATOR_BLOCK.get(), singleItem(ELECTROTINE_GENERATOR_BLOCK.get())); + private static final class BlockLootTables extends BlockLootSubProvider { + + BlockLootTables() { + super(Set.of(), FeatureFlags.REGISTRY.allFlags()); + } + + @Override + protected Iterable getKnownBlocks() { + return ProjectRedCore.BLOCKS.getEntries() + .stream() + .map(Holder::value) + .toList(); + } + + @Override + protected void generate() { + dropSelf(ELECTROTINE_GENERATOR_BLOCK.get()); + } } } diff --git a/core/src/main/java/mrtjp/projectred/core/data/CoreRecipeProvider.java b/core/src/main/java/mrtjp/projectred/core/data/CoreRecipeProvider.java index e97e29cf6..e63389acb 100644 --- a/core/src/main/java/mrtjp/projectred/core/data/CoreRecipeProvider.java +++ b/core/src/main/java/mrtjp/projectred/core/data/CoreRecipeProvider.java @@ -12,14 +12,14 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Blocks; -import net.minecraftforge.common.crafting.StrictNBTIngredient; +import net.neoforged.neoforge.common.crafting.NBTIngredient; import java.util.Objects; import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_BLOCK; import static mrtjp.projectred.core.init.CoreItems.*; import static mrtjp.projectred.core.init.CoreTags.*; -import static net.minecraftforge.common.Tags.Items.*; +import static net.neoforged.neoforge.common.Tags.Items.*; public class CoreRecipeProvider extends RecipeProvider { @@ -197,8 +197,8 @@ protected void registerRecipes() { } shapedRecipe(DRAW_PLATE_ITEM.get()) - .key('I', StrictNBTIngredient.of(ItemMicroBlock.create(3, 2, Objects.requireNonNull(MicroMaterialRegistry.getMaterial(BlockMicroMaterial.makeMaterialKey(Blocks.IRON_BLOCK.defaultBlockState())))))) - .key('D', StrictNBTIngredient.of(ItemMicroBlock.create(0, 2, Objects.requireNonNull(MicroMaterialRegistry.getMaterial(BlockMicroMaterial.makeMaterialKey(Blocks.DIAMOND_BLOCK.defaultBlockState())))))) + .key('I', NBTIngredient.of(true, ItemMicroBlock.create(3, 2, Objects.requireNonNull(MicroMaterialRegistry.getMaterial(BlockMicroMaterial.makeMaterialKey(Blocks.IRON_BLOCK.defaultBlockState())))))) + .key('D', NBTIngredient.of(true, ItemMicroBlock.create(0, 2, Objects.requireNonNull(MicroMaterialRegistry.getMaterial(BlockMicroMaterial.makeMaterialKey(Blocks.DIAMOND_BLOCK.defaultBlockState())))))) .patternLine(" I ") .patternLine("IDI") .patternLine(" I "); diff --git a/core/src/main/java/mrtjp/projectred/core/init/CoreBlocks.java b/core/src/main/java/mrtjp/projectred/core/init/CoreBlocks.java index 5df485057..fda950c0a 100644 --- a/core/src/main/java/mrtjp/projectred/core/init/CoreBlocks.java +++ b/core/src/main/java/mrtjp/projectred/core/init/CoreBlocks.java @@ -6,7 +6,10 @@ import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; + +import java.util.function.Supplier; import static mrtjp.projectred.core.ProjectRedCore.*; @@ -16,10 +19,10 @@ public class CoreBlocks { public static final String ID_ELECTROTINE_GENERATOR = "electrotine_generator"; // Blocks - public static RegistryObject ELECTROTINE_GENERATOR_BLOCK; + public static Supplier ELECTROTINE_GENERATOR_BLOCK; // Tile - public static RegistryObject> ELECTROTINE_GENERATOR_TILE; + public static Supplier> ELECTROTINE_GENERATOR_TILE; public static void register() { @@ -33,4 +36,8 @@ public static void register() { // Tiles ELECTROTINE_GENERATOR_TILE = BLOCK_ENTITY_TYPES.register(ID_ELECTROTINE_GENERATOR, () -> BlockEntityType.Builder.of(ElectrotineGeneratorTile::new, ELECTROTINE_GENERATOR_BLOCK.get()).build(null)); } + + public static void registerCaps(RegisterCapabilitiesEvent event) { + event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, ELECTROTINE_GENERATOR_TILE.get(), (tile, ctx) -> tile.getHandler()); + } } diff --git a/core/src/main/java/mrtjp/projectred/core/init/CoreClientInit.java b/core/src/main/java/mrtjp/projectred/core/init/CoreClientInit.java index 1130c5246..7be8a0f03 100644 --- a/core/src/main/java/mrtjp/projectred/core/init/CoreClientInit.java +++ b/core/src/main/java/mrtjp/projectred/core/init/CoreClientInit.java @@ -7,11 +7,10 @@ import mrtjp.projectred.core.gui.screen.inventory.ElectrotineGeneratorScreen; import net.minecraft.client.gui.screens.MenuScreens; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.client.event.RegisterShadersEvent; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; +import net.neoforged.neoforge.client.event.RegisterShadersEvent; +import net.neoforged.neoforge.common.NeoForge; import static mrtjp.projectred.core.ProjectRedCore.MOD_ID; import static mrtjp.projectred.core.init.CoreMenus.ELECTROTINE_GENERATOR_CONTAINER; @@ -21,9 +20,7 @@ public class CoreClientInit { public static CCShaderInstance HALO_SHADER; - public static void init() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); - + public static void init(IEventBus modEventBus) { modEventBus.addListener(CoreClientInit::clientSetup); modEventBus.addListener(CoreClientInit::onRegisterShaders); } @@ -37,7 +34,7 @@ private static void clientSetup(final FMLClientSetupEvent event) { HaloRenderer.init(); // Register Halo renderer - MinecraftForge.EVENT_BUS.addListener(HaloRenderer::onRenderLevelStageEvent); + NeoForge.EVENT_BUS.addListener(HaloRenderer::onRenderLevelStageEvent); // Register resource reload listener ResourceUtils.registerReloadListener(HaloRenderer::onResourceManagerReload); diff --git a/core/src/main/java/mrtjp/projectred/core/init/CoreCreativeModeTabs.java b/core/src/main/java/mrtjp/projectred/core/init/CoreCreativeModeTabs.java index c014b7f1c..817e78660 100644 --- a/core/src/main/java/mrtjp/projectred/core/init/CoreCreativeModeTabs.java +++ b/core/src/main/java/mrtjp/projectred/core/init/CoreCreativeModeTabs.java @@ -3,7 +3,8 @@ import mrtjp.projectred.core.ProjectRedCore; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.core.ProjectRedCore.MOD_ID; import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_BLOCK; @@ -12,7 +13,7 @@ @SuppressWarnings("NotNullFieldNotInitialized") public class CoreCreativeModeTabs { - public static RegistryObject CORE_CREATIVE_TAB; + public static Supplier CORE_CREATIVE_TAB; public static void register() { diff --git a/core/src/main/java/mrtjp/projectred/core/init/CoreItems.java b/core/src/main/java/mrtjp/projectred/core/init/CoreItems.java index c679089f8..ab1842c11 100644 --- a/core/src/main/java/mrtjp/projectred/core/init/CoreItems.java +++ b/core/src/main/java/mrtjp/projectred/core/init/CoreItems.java @@ -4,7 +4,6 @@ import mrtjp.projectred.core.item.MultimeterItem; import mrtjp.projectred.core.item.ScrewdriverItem; import net.minecraft.world.item.Item; -import net.minecraftforge.registries.RegistryObject; import java.util.function.Supplier; @@ -68,64 +67,64 @@ public class CoreItems { public static final String ID_MULTIMETER = "multimeter"; // Ingots / dusts / gems - public static RegistryObject RED_ALLOY_INGOT_ITEM; - public static RegistryObject ELECTROTINE_ALLOY_INGOT_ITEM; - public static RegistryObject ELECTROTINE_DUST_ITEM; - public static RegistryObject RUBY_ITEM; - public static RegistryObject SAPPHIRE_ITEM; - public static RegistryObject PERIDOT_ITEM; + public static Supplier RED_ALLOY_INGOT_ITEM; + public static Supplier ELECTROTINE_ALLOY_INGOT_ITEM; + public static Supplier ELECTROTINE_DUST_ITEM; + public static Supplier RUBY_ITEM; + public static Supplier SAPPHIRE_ITEM; + public static Supplier PERIDOT_ITEM; // Recipe ingredients - public static RegistryObject PLATE_ITEM; - public static RegistryObject CONDUCTIVE_PLATE_ITEM; - public static RegistryObject WIRED_PLATE_ITEM; - public static RegistryObject BUNDLED_PLATE_ITEM; - public static RegistryObject PLATFORMED_PLATE_ITEM; - public static RegistryObject ANODE_ITEM; - public static RegistryObject CATHODE_ITEM; - public static RegistryObject POINTER_ITEM; - public static RegistryObject SILICON_CHIP_ITEM; - public static RegistryObject ENERGIZED_SILICON_CHIP_ITEM; - public static RegistryObject SAND_COAL_COMP_ITEM; - public static RegistryObject RED_IRON_COMP_ITEM; - public static RegistryObject ELECTROTINE_IRON_COMP_ITEM; - public static RegistryObject SILICON_BOULE_ITEM; - public static RegistryObject SILICON_ITEM; - public static RegistryObject RED_SILICON_COMP_ITEM; - public static RegistryObject GLOW_SILICON_COMP_ITEM; - public static RegistryObject ELECTROTINE_SILICON_COMP_ITEM; - public static RegistryObject INFUSED_SILICON_ITEM; - public static RegistryObject ENERGIZED_SILICON_ITEM; - public static RegistryObject ELECTROTINE_SILICON_ITEM; - public static RegistryObject COPPER_COIL_ITEM; - public static RegistryObject IRON_COIL_ITEM; - public static RegistryObject GOLD_COIL_ITEM; - public static RegistryObject MOTOR_ITEM; - public static RegistryObject WOVEN_CLOTH_ITEM; - public static RegistryObject SAIL_ITEM; + public static Supplier PLATE_ITEM; + public static Supplier CONDUCTIVE_PLATE_ITEM; + public static Supplier WIRED_PLATE_ITEM; + public static Supplier BUNDLED_PLATE_ITEM; + public static Supplier PLATFORMED_PLATE_ITEM; + public static Supplier ANODE_ITEM; + public static Supplier CATHODE_ITEM; + public static Supplier POINTER_ITEM; + public static Supplier SILICON_CHIP_ITEM; + public static Supplier ENERGIZED_SILICON_CHIP_ITEM; + public static Supplier SAND_COAL_COMP_ITEM; + public static Supplier RED_IRON_COMP_ITEM; + public static Supplier ELECTROTINE_IRON_COMP_ITEM; + public static Supplier SILICON_BOULE_ITEM; + public static Supplier SILICON_ITEM; + public static Supplier RED_SILICON_COMP_ITEM; + public static Supplier GLOW_SILICON_COMP_ITEM; + public static Supplier ELECTROTINE_SILICON_COMP_ITEM; + public static Supplier INFUSED_SILICON_ITEM; + public static Supplier ENERGIZED_SILICON_ITEM; + public static Supplier ELECTROTINE_SILICON_ITEM; + public static Supplier COPPER_COIL_ITEM; + public static Supplier IRON_COIL_ITEM; + public static Supplier GOLD_COIL_ITEM; + public static Supplier MOTOR_ITEM; + public static Supplier WOVEN_CLOTH_ITEM; + public static Supplier SAIL_ITEM; // Illumars - public static RegistryObject WHITE_ILLUMAR_ITEM; - public static RegistryObject ORANGE_ILLUMAR_ITEM; - public static RegistryObject MAGENTA_ILLUMAR_ITEM; - public static RegistryObject LIGHT_BLUE_ILLUMAR_ITEM; - public static RegistryObject YELLOW_ILLUMAR_ITEM; - public static RegistryObject LIME_ILLUMAR_ITEM; - public static RegistryObject PINK_ILLUMAR_ITEM; - public static RegistryObject GRAY_ILLUMAR_ITEM; - public static RegistryObject LIGHT_GRAY_ILLUMAR_ITEM; - public static RegistryObject CYAN_ILLUMAR_ITEM; - public static RegistryObject PURPLE_ILLUMAR_ITEM; - public static RegistryObject BLUE_ILLUMAR_ITEM; - public static RegistryObject BROWN_ILLUMAR_ITEM; - public static RegistryObject GREEN_ILLUMAR_ITEM; - public static RegistryObject RED_ILLUMAR_ITEM; - public static RegistryObject BLACK_ILLUMAR_ITEM; + public static Supplier WHITE_ILLUMAR_ITEM; + public static Supplier ORANGE_ILLUMAR_ITEM; + public static Supplier MAGENTA_ILLUMAR_ITEM; + public static Supplier LIGHT_BLUE_ILLUMAR_ITEM; + public static Supplier YELLOW_ILLUMAR_ITEM; + public static Supplier LIME_ILLUMAR_ITEM; + public static Supplier PINK_ILLUMAR_ITEM; + public static Supplier GRAY_ILLUMAR_ITEM; + public static Supplier LIGHT_GRAY_ILLUMAR_ITEM; + public static Supplier CYAN_ILLUMAR_ITEM; + public static Supplier PURPLE_ILLUMAR_ITEM; + public static Supplier BLUE_ILLUMAR_ITEM; + public static Supplier BROWN_ILLUMAR_ITEM; + public static Supplier GREEN_ILLUMAR_ITEM; + public static Supplier RED_ILLUMAR_ITEM; + public static Supplier BLACK_ILLUMAR_ITEM; // Tools - public static RegistryObject DRAW_PLATE_ITEM; - public static RegistryObject SCREWDRIVER_ITEM; - public static RegistryObject MULTIMETER_ITEM; + public static Supplier DRAW_PLATE_ITEM; + public static Supplier SCREWDRIVER_ITEM; + public static Supplier MULTIMETER_ITEM; public static void register() { diff --git a/core/src/main/java/mrtjp/projectred/core/init/CoreMenus.java b/core/src/main/java/mrtjp/projectred/core/init/CoreMenus.java index e88276f54..dfb208428 100644 --- a/core/src/main/java/mrtjp/projectred/core/init/CoreMenus.java +++ b/core/src/main/java/mrtjp/projectred/core/init/CoreMenus.java @@ -3,7 +3,8 @@ import codechicken.lib.inventory.container.ICCLContainerType; import mrtjp.projectred.core.inventory.container.ElectrotineGeneratorContainer; import net.minecraft.world.inventory.MenuType; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.core.ProjectRedCore.MENU_TYPES; import static mrtjp.projectred.core.init.CoreBlocks.ID_ELECTROTINE_GENERATOR; @@ -11,7 +12,7 @@ @SuppressWarnings("NotNullFieldNotInitialized") public class CoreMenus { - public static RegistryObject> ELECTROTINE_GENERATOR_CONTAINER; + public static Supplier> ELECTROTINE_GENERATOR_CONTAINER; public static void register() { diff --git a/core/src/main/java/mrtjp/projectred/core/tile/ElectrotineGeneratorTile.java b/core/src/main/java/mrtjp/projectred/core/tile/ElectrotineGeneratorTile.java index 8e9f49606..5eca98450 100644 --- a/core/src/main/java/mrtjp/projectred/core/tile/ElectrotineGeneratorTile.java +++ b/core/src/main/java/mrtjp/projectred/core/tile/ElectrotineGeneratorTile.java @@ -10,9 +10,7 @@ import mrtjp.projectred.core.power.ILowLoadPowerLine; import mrtjp.projectred.core.power.PowerConductor; import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -22,14 +20,8 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.wrapper.InvWrapper; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.wrapper.InvWrapper; import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_TILE; import static mrtjp.projectred.core.init.CoreItems.ELECTROTINE_DUST_ITEM; @@ -41,7 +33,7 @@ public class ElectrotineGeneratorTile extends BasePoweredTile implements ILowLoa private int chargeFlow = 0; private final ElectrotineGeneratorInventory inventory = new ElectrotineGeneratorInventory(); - private final LazyOptional handler = LazyOptional.of(() -> new InvWrapper(inventory)); + private final IItemHandler handler = new InvWrapper(inventory); private int burnTimeRemaining = 0; private int powerStored = 0; @@ -207,19 +199,8 @@ public boolean canConductorWork() { } //region Capabilities - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER) { - return handler.cast(); - } - return super.getCapability(cap, side); - } - - @Override - public void invalidateCaps() { - super.invalidateCaps(); - handler.invalidate(); + public IItemHandler getHandler() { + return handler; } //endregion diff --git a/core/src/main/java/mrtjp/projectred/core/tile/IPacketReceiverTile.java b/core/src/main/java/mrtjp/projectred/core/tile/IPacketReceiverTile.java index 600b87b4f..74e38998f 100644 --- a/core/src/main/java/mrtjp/projectred/core/tile/IPacketReceiverTile.java +++ b/core/src/main/java/mrtjp/projectred/core/tile/IPacketReceiverTile.java @@ -4,6 +4,7 @@ import codechicken.lib.data.MCDataOutput; import codechicken.lib.packet.PacketCustom; import mrtjp.projectred.core.CoreNetwork; +import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import java.util.Collection; @@ -20,7 +21,7 @@ default void sendUpdateToServer(int key, Consumer writer) { default void sendUpdateToPlayersWatchingChunk(int key, Consumer writer) { PacketCustom packet = CoreNetwork.createTileClientPacket(this, (byte) key); writer.accept(packet); - packet.sendToChunk(getBlockLevel(), getBlockPosition()); + packet.sendToChunk((ServerLevel) getBlockLevel(), getBlockPosition()); } default void sendUpdateToPlayer(int key, Consumer writer, ServerPlayer player) { diff --git a/core/src/main/java/mrtjp/projectred/lib/InventoryLib.java b/core/src/main/java/mrtjp/projectred/lib/InventoryLib.java index 72684ac96..6d8d112f0 100644 --- a/core/src/main/java/mrtjp/projectred/lib/InventoryLib.java +++ b/core/src/main/java/mrtjp/projectred/lib/InventoryLib.java @@ -7,7 +7,7 @@ import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.items.IItemHandler; +import net.neoforged.neoforge.items.IItemHandler; import java.util.function.Consumer; diff --git a/core/src/main/java/mrtjp/projectred/lib/ModelVoxelShape.java b/core/src/main/java/mrtjp/projectred/lib/ModelVoxelShape.java index 7c7e664a2..88428a4e7 100644 --- a/core/src/main/java/mrtjp/projectred/lib/ModelVoxelShape.java +++ b/core/src/main/java/mrtjp/projectred/lib/ModelVoxelShape.java @@ -11,8 +11,8 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.jetbrains.annotations.Nullable; import java.util.LinkedList; @@ -147,7 +147,7 @@ public Tri(Vector3 v0, Vector3 v1, Vector3 v2) { this.v1 = v1; this.v2 = v2; this.normal = VectorUtils.calculateNormal(v0, v1, v2); - this.side = Objects.requireNonNull(VectorUtils.calcNormalSide(normal)); + this.side = Objects.requireNonNull(VectorUtils.findSideE(normal)); // Precompute some constants to speed up tracing u = v1.copy().subtract(v0); diff --git a/core/src/main/java/mrtjp/projectred/redui/RedUIContainerScreen.java b/core/src/main/java/mrtjp/projectred/redui/RedUIContainerScreen.java index 8e1eb91f7..36360da75 100644 --- a/core/src/main/java/mrtjp/projectred/redui/RedUIContainerScreen.java +++ b/core/src/main/java/mrtjp/projectred/redui/RedUIContainerScreen.java @@ -113,9 +113,9 @@ public boolean mouseDragged(double x, double y, int button, double dragX, double } @Override - public boolean mouseScrolled(double x, double y, double scroll) { - boolean consumed = super.mouseScrolled(x, y, scroll); - return operateOnZOrderedSubtree(new Point((int) x, (int) y), (n, p, c) -> n.mouseScrolled(p, scroll, c), consumed); + public boolean mouseScrolled(double x, double y, double scrollX, double scrollY) { + boolean consumed = super.mouseScrolled(x, y, scrollX, scrollY); + return operateOnZOrderedSubtree(new Point((int) x, (int) y), (n, p, c) -> n.mouseScrolled(p, scrollX, scrollY, c), consumed); } @Override diff --git a/core/src/main/java/mrtjp/projectred/redui/RedUINode.java b/core/src/main/java/mrtjp/projectred/redui/RedUINode.java index be44f53a5..81ff47347 100644 --- a/core/src/main/java/mrtjp/projectred/redui/RedUINode.java +++ b/core/src/main/java/mrtjp/projectred/redui/RedUINode.java @@ -681,11 +681,12 @@ default void frameUpdate(Point mouse, float partialFrame) { } * Nodes throughout the graph are called in z order. * * @param p The mouse position, relative to the parent - * @param scroll The scroll amount (positive for scroll up, negative for scroll down) + * @param scrollX The scroll amount (positive for scroll right, negative for scroll left) + * @param scrollY The scroll amount (positive for scroll up, negative for scroll down) * @param consumed True if another higher-ordered node consumed this event * @return True if this event was consumed */ - default boolean mouseScrolled(Point p, double scroll, boolean consumed) { return false; } + default boolean mouseScrolled(Point p, double scrollX, double scrollY, boolean consumed) { return false; } /** * Key press event called when any key is pressed down diff --git a/core/src/main/java/mrtjp/projectred/redui/RedUIScreen.java b/core/src/main/java/mrtjp/projectred/redui/RedUIScreen.java index dfc946c18..7ee8f721c 100644 --- a/core/src/main/java/mrtjp/projectred/redui/RedUIScreen.java +++ b/core/src/main/java/mrtjp/projectred/redui/RedUIScreen.java @@ -105,9 +105,9 @@ public boolean mouseDragged(double x, double y, int button, double dragX, double } @Override - public boolean mouseScrolled(double x, double y, double scroll) { - boolean consumed = super.mouseScrolled(x, y, scroll); - return operateOnZOrderedSubtree(new Point((int) x, (int) y), (n, p, c) -> n.mouseScrolled(p, scroll, c), consumed); + public boolean mouseScrolled(double x, double y, double scrollX, double scrollY) { + boolean consumed = super.mouseScrolled(x, y, scrollX, scrollY); + return operateOnZOrderedSubtree(new Point((int) x, (int) y), (n, p, c) -> n.mouseScrolled(p, scrollX, scrollY, c), consumed); } @Override diff --git a/core/src/main/resources/META-INF/accesstransformer.cfg b/core/src/main/resources/META-INF/accesstransformer.cfg index cab382a6e..753303956 100644 --- a/core/src/main/resources/META-INF/accesstransformer.cfg +++ b/core/src/main/resources/META-INF/accesstransformer.cfg @@ -4,28 +4,28 @@ public net.minecraft.client.renderer.RenderType *() # All Methods public net.minecraft.client.renderer.RenderType * # All Fields. public net.minecraft.client.renderer.PostChain * # All fields -public net.minecraft.client.renderer.LevelRenderer m_109501_(IIIZ)V # setSectionDirty +public net.minecraft.client.renderer.LevelRenderer setSectionDirty(IIIZ)V -public net.minecraft.client.particle.Particle m_107271_(F)V # setAlpha +public net.minecraft.client.particle.Particle setAlpha(F)V -public net.minecraft.client.gui.GuiComponent m_168740_(Lcom/mojang/blaze3d/vertex/PoseStack;IIIIIII)V # fillGradient +public net.minecraft.client.gui.GuiComponent fillGradient(Lcom/mojang/blaze3d/vertex/PoseStack;IIIIIII)V -public net.minecraft.world.level.lighting.LevelLightEngine f_75802_ # blockEngine -public net.minecraft.world.level.lighting.LevelLightEngine f_75803_ # skyEngine +public net.minecraft.world.level.lighting.LevelLightEngine blockEngine +public net.minecraft.world.level.lighting.LevelLightEngine skyEngine -public-f net.minecraft.world.level.block.RedStoneWireBlock f_55508_ # shouldSignal +public-f net.minecraft.world.level.block.RedStoneWireBlock shouldSignal -public-f net.minecraft.world.level.block.entity.BlockEntity f_58858_ # worldPosition +public-f net.minecraft.world.level.block.entity.BlockEntity worldPosition -public net.minecraft.world.entity.LivingEntity f_20936_ # useItemRemaining -public net.minecraft.world.entity.LivingEntity f_20935_ # useItem +public net.minecraft.world.entity.LivingEntity useItemRemaining +public net.minecraft.world.entity.LivingEntity useItem -public net.minecraft.world.inventory.AbstractContainerMenu m_182420_(II)V # updateDataSlotListeners -public net.minecraft.world.SimpleContainer f_19147_ # items +public net.minecraft.world.inventory.AbstractContainerMenu updateDataSlotListeners(II)V +public net.minecraft.world.SimpleContainer items -public net.minecraft.world.phys.shapes.VoxelShape (Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape;)V # -public net.minecraft.world.phys.shapes.VoxelShape f_83211_ # shape -public net.minecraft.world.phys.shapes.VoxelShape m_7700_(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; # getCoords -public net.minecraft.world.phys.shapes.SliceShape m_7700_(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; # getCoords -public net.minecraft.world.phys.shapes.ArrayVoxelShape m_7700_(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; # getCoords -public net.minecraft.world.phys.shapes.CubeVoxelShape m_7700_(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; # getCoords +public net.minecraft.world.phys.shapes.VoxelShape (Lnet/minecraft/world/phys/shapes/DiscreteVoxelShape;)V +public net.minecraft.world.phys.shapes.VoxelShape shape +public net.minecraft.world.phys.shapes.VoxelShape getCoords(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; +public net.minecraft.world.phys.shapes.SliceShape getCoords(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; +public net.minecraft.world.phys.shapes.ArrayVoxelShape getCoords(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; +public net.minecraft.world.phys.shapes.CubeVoxelShape getCoords(Lnet/minecraft/core/Direction$Axis;)Lit/unimi/dsi/fastutil/doubles/DoubleList; diff --git a/core/src/main/resources/META-INF/mods.toml b/core/src/main/resources/META-INF/mods.toml index a6833522f..6c16feff0 100644 --- a/core/src/main/resources/META-INF/mods.toml +++ b/core/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[${lang_version},)" +loaderVersion="[2,)" issueTrackerURL="https://github.com/MrTJP/ProjectRed" license="MIT" @@ -14,33 +14,37 @@ license="MIT" description=''' Redstone. The way it was meant to be. ''' + +[[accessTransformers]] + file="META-INF/accesstransformer.cfg" + [[dependencies.projectred_core]] - modId="forge" - mandatory=true + modId="neoforge" + type="required" versionRange="[${forge_version},)" ordering="NONE" side="BOTH" [[dependencies.projectred_core]] modId="minecraft" - mandatory=true - versionRange="[1.20.1]" + type="required" + versionRange="[1.20.4]" ordering="NONE" side="BOTH" [[dependencies.projectred_core]] modId="codechickenlib" - mandatory=true +type="required" versionRange="[${ccl_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_core]] modId="cb_multipart" - mandatory=true + type="required" versionRange="[${cbm_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_core]] modId="computercraft" - mandatory=false + type="optional" versionRange="[${cct_version},)" ordering="AFTER" side="BOTH" diff --git a/expansion/build.gradle b/expansion/build.gradle index ffe280382..7924cba24 100644 --- a/expansion/build.gradle +++ b/expansion/build.gradle @@ -1,37 +1,29 @@ plugins { - id 'net.neoforged.gradle' - id 'org.spongepowered.mixin' + id 'net.neoforged.gradle.userdev' } String mod_id = 'projectred_expansion' minecraft { - mappings channel: mcp_mappings, version: mcp_mappings_version - accessTransformer = file("../core/src/main/resources/META-INF/accesstransformer.cfg") - runs { - data { - property 'mixin.env.remapRefMap', 'true' - property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" - - ideaModule "${rootProject.name}.${project.name}.main" - - workingDirectory file('run') - args '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") - mods { - 'projectred_core' { source project(':core').sourceSets.main } - '${mod_id}' { source sourceSets.main } - } - } + accessTransformers.file file("../core/src/main/resources/META-INF/accesstransformer.cfg") +} + +runs { + data { + systemProperty 'mixin.env.remapRefMap', 'true' + systemProperty 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + + workingDirectory file('run') + programArguments.addAll '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") + modSource sourceSets.main } } dependencies { - minecraft "net.neoforged:forge:${mc_version}-${forge_version}" - - annotationProcessor 'org.spongepowered:mixin:0.8.5:processor' + implementation "net.neoforged:neoforge:${forge_version}" - implementation fg.deobf("io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal") - implementation fg.deobf("io.codechicken:CBMultipart:${mc_version}-${cbm_version}:universal") + implementation "io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}" + implementation "io.codechicken:CBMultipart:${mc_version}-${cbm_version}" implementation project(":core") } diff --git a/expansion/src/main/generated/.cache/0c18def4a2dd49b36bdde830b5d5ef609a7f363c b/expansion/src/main/generated/.cache/0c18def4a2dd49b36bdde830b5d5ef609a7f363c index a670f12a0..94e73d934 100644 --- a/expansion/src/main/generated/.cache/0c18def4a2dd49b36bdde830b5d5ef609a7f363c +++ b/expansion/src/main/generated/.cache/0c18def4a2dd49b36bdde830b5d5ef609a7f363c @@ -1,16 +1,16 @@ -// 1.20.1 2024-07-17T09:25:42.183541 projectred_expansion Recipes. -85bb6c41f9e4589d26aa40c725805c4faad05edd data/projectred_expansion/recipes/auto_crafter.json -5df2a0b2893205f86665701a94a454ac48b46282 data/projectred_expansion/recipes/battery.json -dee1cdd1324b775f4abadfb0e5b4d32692c59578 data/projectred_expansion/recipes/battery_box.json -276a60fd6d4fb1dd6680c2eadd41c492bcdbd6ca data/projectred_expansion/recipes/block_breaker.json -8dc5c21ea601500ed0daef433856de7deaa647a7 data/projectred_expansion/recipes/charging_bench.json -2274a1fc3dd5679f0445a214c32a564157dd2005 data/projectred_expansion/recipes/deployer.json -19a1b55cba9047a09864bf666171fd4ca061855c data/projectred_expansion/recipes/electric_screwdriver.json -15a6483de04f3dc43b2cb8ff1cfcfe0ffc89a18e data/projectred_expansion/recipes/fire_starter.json -d7358d444da8cec8a8829cb434ec11cb2836851a data/projectred_expansion/recipes/frame.json -c2d2c7a8f0766b54baba75ba96c6a82da7ea9dab data/projectred_expansion/recipes/frame_actuator.json -5773437e817b2c68d78de93362089445c2af01cb data/projectred_expansion/recipes/frame_motor.json -fdbb66d601f89ad975d76b3d122be4727131bf55 data/projectred_expansion/recipes/pneumatic_tube.json -a38011f406e353c0a9fce3b0cb8d71d4ad63232d data/projectred_expansion/recipes/project_bench.json -d56ef0cd3f1fe5ffeff5f42f97f07ffe2dcda571 data/projectred_expansion/recipes/recipe_plan.json -69887f47f105ea9b6c01b5cbbf027670614ae154 data/projectred_expansion/recipes/transposer.json +// 1.20.4 2024-11-23T19:56:53.549788 projectred_expansion Recipes. +f0b0c2440ccb17348c72df954668cdcf8d98991c data/projectred_expansion/recipes/auto_crafter.json +fdf67dbb46f178b2b13016d9e5b62cf58fcb8c15 data/projectred_expansion/recipes/battery.json +1e77bae9380d21a22f5815518d053dd23719f9a9 data/projectred_expansion/recipes/battery_box.json +455f388a99158d727c6d3f72483eaaa0c606aa31 data/projectred_expansion/recipes/block_breaker.json +13be4ed3925f9569cccac80f6c9bfdb60e036fd4 data/projectred_expansion/recipes/charging_bench.json +dcc020408ee6ae6717756ad33bfe3590ca5ee782 data/projectred_expansion/recipes/deployer.json +b4a3d1e143354ae19a2414ebeb8ab4efce5e41c7 data/projectred_expansion/recipes/electric_screwdriver.json +148ea0d7649a9fbbf49a70e5bd9bfb34639b8fad data/projectred_expansion/recipes/fire_starter.json +d174597d0a96e02a8f156ec6428a9876144c6498 data/projectred_expansion/recipes/frame.json +4c9c86b6240372b7916f56032d941b14e0bec49e data/projectred_expansion/recipes/frame_actuator.json +224c8f0b5db3ef035f27b9f2a04342074365794a data/projectred_expansion/recipes/frame_motor.json +2b1bd47107caebbdb35a909b6901faa38a79693b data/projectred_expansion/recipes/pneumatic_tube.json +252d039e223fecec4dbcb5039a3a2c25c81db8c0 data/projectred_expansion/recipes/project_bench.json +2a33850d479f14531fe252e6f034f42981e77a4f data/projectred_expansion/recipes/recipe_plan.json +a524d1cf8fbb18678f70f5ed87a293f768300c2e data/projectred_expansion/recipes/transposer.json diff --git a/expansion/src/main/generated/.cache/3a4806d9ecafca56efccb50ea70089d19ec4c7d6 b/expansion/src/main/generated/.cache/3a4806d9ecafca56efccb50ea70089d19ec4c7d6 index be752abb4..491a45dda 100644 --- a/expansion/src/main/generated/.cache/3a4806d9ecafca56efccb50ea70089d19ec4c7d6 +++ b/expansion/src/main/generated/.cache/3a4806d9ecafca56efccb50ea70089d19ec4c7d6 @@ -1,2 +1,2 @@ -// 1.20.1 2024-07-17T09:25:42.184345 ProjectRed-Expansion Sound Definitions +// 1.20.4 2024-11-23T19:56:53.551933 ProjectRed-Expansion Sound Definitions a5c096942d7b68dd1d2ad18bb30fb7661e9c4a6e assets/projectred_expansion/sounds.json diff --git a/expansion/src/main/generated/.cache/428f0a17e1411feb5e83cc480747073fbd215b4f b/expansion/src/main/generated/.cache/530d0288148ff957342d1b6d67ff5faa14b2f1f7 similarity index 50% rename from expansion/src/main/generated/.cache/428f0a17e1411feb5e83cc480747073fbd215b4f rename to expansion/src/main/generated/.cache/530d0288148ff957342d1b6d67ff5faa14b2f1f7 index 438012cd3..8500afc52 100644 --- a/expansion/src/main/generated/.cache/428f0a17e1411feb5e83cc480747073fbd215b4f +++ b/expansion/src/main/generated/.cache/530d0288148ff957342d1b6d67ff5faa14b2f1f7 @@ -1,2 +1,2 @@ -// 1.20.1 2024-07-17T09:25:42.179248 ProjectRed-Expansion Languages: en_us +// 1.20.4 2024-11-23T19:56:53.552519 Languages: en_us for mod: projectred_expansion a6d45bbcb1528dc8143d599fb525aeef4ac965c7 assets/projectred_expansion/lang/en_us.json diff --git a/expansion/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/expansion/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d new file mode 100644 index 000000000..6f2940b8d --- /dev/null +++ b/expansion/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -0,0 +1,12 @@ +// 1.20.4 2024-11-23T19:56:53.552845 Loot Tables +04484b1b363f7673d15270c19fd4d88ab6410ace data/projectred_expansion/loot_tables/blocks/auto_crafter.json +64a97d71d84f836088caee3ff8f908e6f086617b data/projectred_expansion/loot_tables/blocks/battery_box.json +3de05757e806994b974977dad318a36b2ba74970 data/projectred_expansion/loot_tables/blocks/block_breaker.json +ce66e28f0f23195d32130d79a557232f2a2ceac7 data/projectred_expansion/loot_tables/blocks/charging_bench.json +66c34e5cc447dc93ac744b829b371c1e7c985e6a data/projectred_expansion/loot_tables/blocks/deployer.json +bc0bbce1005d69a2fae1789454625322447a61f2 data/projectred_expansion/loot_tables/blocks/fire_starter.json +f145c60c8abfcaabbff18acc635cd5c4529e63b6 data/projectred_expansion/loot_tables/blocks/frame.json +2f71cf74cc67a46ba7192ac3b095bd51a9466952 data/projectred_expansion/loot_tables/blocks/frame_actuator.json +590d2bf06aea9fc7cd062cff7369f224cd1f9e1e data/projectred_expansion/loot_tables/blocks/frame_motor.json +0ca9a575a4a3175e02f8fa48ac659a39ab8b8be8 data/projectred_expansion/loot_tables/blocks/project_bench.json +c03a58bdd06100368c19951cd3e49cac2cd9d58b data/projectred_expansion/loot_tables/blocks/transposer.json diff --git a/expansion/src/main/generated/.cache/98021baac73a5ba6d8abdf74b58bed538009ec7e b/expansion/src/main/generated/.cache/98021baac73a5ba6d8abdf74b58bed538009ec7e deleted file mode 100644 index f3dd5d339..000000000 --- a/expansion/src/main/generated/.cache/98021baac73a5ba6d8abdf74b58bed538009ec7e +++ /dev/null @@ -1,12 +0,0 @@ -// 1.20.1 2024-07-17T09:25:42.184807 projectred_expansion Block Loot Tables -411e319a86714481cefff3111427cc18b9b2bfa1 data/projectred_expansion/loot_tables/blocks/auto_crafter.json -ecc97100e22b21390a50009a20f67e2bffd693c3 data/projectred_expansion/loot_tables/blocks/battery_box.json -393d359b1203076e7a24f85ba5cd300d40def9b2 data/projectred_expansion/loot_tables/blocks/block_breaker.json -937adf7ed2cd79a1ac65f77a0b22219c1d9631ea data/projectred_expansion/loot_tables/blocks/charging_bench.json -f264c9e4ae53755c1ce54deaabafb4195b3ec616 data/projectred_expansion/loot_tables/blocks/deployer.json -d084408f60ef161ea16b326c5a63e3d23713745e data/projectred_expansion/loot_tables/blocks/fire_starter.json -dffb6a70909e6c64dd0afa60966dc987ae5d6754 data/projectred_expansion/loot_tables/blocks/frame.json -1ea1d24f7f8f2944871de260fe87ea6e37cf2cfa data/projectred_expansion/loot_tables/blocks/frame_actuator.json -07e5557543ebcba7088f33bd3dfc2e971536b6f0 data/projectred_expansion/loot_tables/blocks/frame_motor.json -089c17353de9a38e79e8e5e14e99df5cd4bc317a data/projectred_expansion/loot_tables/blocks/project_bench.json -596c0aec0f93d4753e3827f9222cd37d24391d66 data/projectred_expansion/loot_tables/blocks/transposer.json diff --git a/expansion/src/main/generated/.cache/9d72461853cb94f175be2ec0cd30be96b91066f9 b/expansion/src/main/generated/.cache/9d72461853cb94f175be2ec0cd30be96b91066f9 index 727c2a87b..c45554245 100644 --- a/expansion/src/main/generated/.cache/9d72461853cb94f175be2ec0cd30be96b91066f9 +++ b/expansion/src/main/generated/.cache/9d72461853cb94f175be2ec0cd30be96b91066f9 @@ -1,4 +1,4 @@ -// 1.20.1 2024-07-17T09:25:42.187734 Tags for minecraft:block mod id projectred_expansion +// 1.20.4 2024-11-23T19:56:53.55822 Tags for minecraft:block mod id projectred_expansion 2efbad637314a6835101b9f533fdf72e1ac5075c data/minecraft/tags/blocks/mineable/axe.json bb9a393ab494be5a5399d225556fb7aff2f4980c data/minecraft/tags/blocks/mineable/pickaxe.json bb9a393ab494be5a5399d225556fb7aff2f4980c data/minecraft/tags/blocks/needs_stone_tool.json diff --git a/expansion/src/main/generated/.cache/b71c44817acda374fc60c60d51d7f5eec540e17e b/expansion/src/main/generated/.cache/b71c44817acda374fc60c60d51d7f5eec540e17e index a3c85e494..a29577c54 100644 --- a/expansion/src/main/generated/.cache/b71c44817acda374fc60c60d51d7f5eec540e17e +++ b/expansion/src/main/generated/.cache/b71c44817acda374fc60c60d51d7f5eec540e17e @@ -1,4 +1,4 @@ -// 1.20.1 2024-08-05T10:07:41.167181 Block States: projectred_expansion +// 1.20.4 2024-11-23T19:56:53.553431 Block States: projectred_expansion b697bf3bc54738e649092c6b88cbb4fd9b3da8a3 assets/projectred_expansion/blockstates/auto_crafter.json 1d92e2503aa76e8cf9e908f7afa248a291fcf387 assets/projectred_expansion/blockstates/battery_box.json 325a4ac57dbf6f6f049812d1442992b5f7368d21 assets/projectred_expansion/blockstates/block_breaker.json diff --git a/expansion/src/main/generated/.cache/e9b9ccd445df9bc8a5c2450219d2603d62d31dd5 b/expansion/src/main/generated/.cache/e9b9ccd445df9bc8a5c2450219d2603d62d31dd5 index 3eab588d1..b41c40850 100644 --- a/expansion/src/main/generated/.cache/e9b9ccd445df9bc8a5c2450219d2603d62d31dd5 +++ b/expansion/src/main/generated/.cache/e9b9ccd445df9bc8a5c2450219d2603d62d31dd5 @@ -1,4 +1,4 @@ -// 1.20.1 2024-11-20T09:27:37.993874 projectred_expansion Item models. +// 1.20.4 2024-11-23T19:56:53.543982 projectred_expansion Item models. 599e9047cbf1215359e3106b1a6a0757a569ffc9 assets/projectred_expansion/models/item/auto_crafter.json 736ab07c8745c163e8a3cb90abc9308466032009 assets/projectred_expansion/models/item/battery.json d887cd7b776f1227da04cf267bf0a48dbc706027 assets/projectred_expansion/models/item/battery_box.json diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/auto_crafter.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/auto_crafter.json index aaad48833..4e31294f1 100644 --- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/auto_crafter.json +++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/auto_crafter.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_expansion:blocks/auto_crafter" } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/battery_box.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/battery_box.json index 4eeab1225..03caf21e8 100644 --- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/battery_box.json +++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/battery_box.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_expansion:blocks/battery_box" } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/block_breaker.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/block_breaker.json index 99db5e6f2..5b4b4caf1 100644 --- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/block_breaker.json +++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/block_breaker.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_expansion:blocks/block_breaker" } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/charging_bench.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/charging_bench.json index c16b3ad1d..409b26892 100644 --- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/charging_bench.json +++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/charging_bench.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_expansion:blocks/charging_bench" } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/deployer.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/deployer.json index 184aea320..f2cd9c9ff 100644 --- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/deployer.json +++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/deployer.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_expansion:blocks/deployer" } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/fire_starter.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/fire_starter.json index e5581df73..ddb48a5e5 100644 --- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/fire_starter.json +++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/fire_starter.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_expansion:blocks/fire_starter" } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame.json index 46e877c40..7e5cec955 100644 --- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame.json +++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_expansion:blocks/frame" } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_actuator.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_actuator.json index 1548121d4..7e65ad293 100644 --- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_actuator.json +++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_actuator.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_expansion:blocks/frame_actuator" } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_motor.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_motor.json index 13a4389d4..3e3ea0dcc 100644 --- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_motor.json +++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/frame_motor.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_expansion:blocks/frame_motor" } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/project_bench.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/project_bench.json index d1a4447e4..12dd5191d 100644 --- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/project_bench.json +++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/project_bench.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_expansion:blocks/project_bench" } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/transposer.json b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/transposer.json index 19f7b6698..15ea2e1c7 100644 --- a/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/transposer.json +++ b/expansion/src/main/generated/data/projectred_expansion/loot_tables/blocks/transposer.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_expansion:blocks/transposer" } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/auto_crafter.json b/expansion/src/main/generated/data/projectred_expansion/recipes/auto_crafter.json index ed19fdcce..895ee49fe 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/auto_crafter.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/auto_crafter.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "minecraft:crafting_table" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/battery.json b/expansion/src/main/generated/data/projectred_expansion/recipes/battery.json index 67d47818e..6b7c1632e 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/battery.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/battery.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "tag": "forge:ingots/copper" @@ -17,7 +18,6 @@ "ETE" ], "result": { - "item": "projectred_expansion:battery", - "nbt": "{Damage:0}" + "item": "projectred_expansion:battery" } } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/battery_box.json b/expansion/src/main/generated/data/projectred_expansion/recipes/battery_box.json index 8d4313856..5f01362f4 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/battery_box.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/battery_box.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_expansion:battery" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/block_breaker.json b/expansion/src/main/generated/data/projectred_expansion/recipes/block_breaker.json index f0b86cbe1..f4958172f 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/block_breaker.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/block_breaker.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "minecraft:iron_pickaxe" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/charging_bench.json b/expansion/src/main/generated/data/projectred_expansion/recipes/charging_bench.json index 4aa587a99..8e9b231a9 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/charging_bench.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/charging_bench.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_expansion:battery" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/deployer.json b/expansion/src/main/generated/data/projectred_expansion/recipes/deployer.json index 50dbb248e..e0fbbe4ed 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/deployer.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/deployer.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:chest" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/electric_screwdriver.json b/expansion/src/main/generated/data/projectred_expansion/recipes/electric_screwdriver.json index f73d8a57d..2a035d4ca 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/electric_screwdriver.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/electric_screwdriver.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_expansion:battery" @@ -17,7 +18,6 @@ " B" ], "result": { - "item": "projectred_expansion:electric_screwdriver", - "nbt": "{Damage:0}" + "item": "projectred_expansion:electric_screwdriver" } } \ No newline at end of file diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/fire_starter.json b/expansion/src/main/generated/data/projectred_expansion/recipes/fire_starter.json index c7199401c..f39e5d783 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/fire_starter.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/fire_starter.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:cobblestone" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/frame.json b/expansion/src/main/generated/data/projectred_expansion/recipes/frame.json index 6d2131ee3..104ba7b02 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/frame.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/frame.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "L": { "tag": "minecraft:logs" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/frame_actuator.json b/expansion/src/main/generated/data/projectred_expansion/recipes/frame_actuator.json index 3cbae65ff..4ca11fd11 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/frame_actuator.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/frame_actuator.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:copper_coil" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/frame_motor.json b/expansion/src/main/generated/data/projectred_expansion/recipes/frame_motor.json index f15ef99a1..9609da487 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/frame_motor.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/frame_motor.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "E": { "tag": "forge:ingots/electrotine_alloy" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/pneumatic_tube.json b/expansion/src/main/generated/data/projectred_expansion/recipes/pneumatic_tube.json index 96f0e1d82..d401f3030 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/pneumatic_tube.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/pneumatic_tube.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "tag": "forge:ingots/copper" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/project_bench.json b/expansion/src/main/generated/data/projectred_expansion/recipes/project_bench.json index 4ce578440..227ec116a 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/project_bench.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/project_bench.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "minecraft:crafting_table" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/recipe_plan.json b/expansion/src/main/generated/data/projectred_expansion/recipes/recipe_plan.json index 966b04021..36aa4168d 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/recipe_plan.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/recipe_plan.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "forge:dyes/blue" diff --git a/expansion/src/main/generated/data/projectred_expansion/recipes/transposer.json b/expansion/src/main/generated/data/projectred_expansion/recipes/transposer.json index 5078ec43a..22c0429bd 100644 --- a/expansion/src/main/generated/data/projectred_expansion/recipes/transposer.json +++ b/expansion/src/main/generated/data/projectred_expansion/recipes/transposer.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "P": { "item": "minecraft:piston" diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/CraftingHelper.java b/expansion/src/main/java/mrtjp/projectred/expansion/CraftingHelper.java index 82a29c50f..7b90e19de 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/CraftingHelper.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/CraftingHelper.java @@ -11,12 +11,12 @@ import net.minecraft.world.inventory.ResultContainer; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingRecipe; +import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.level.Level; -import net.minecraftforge.common.ForgeHooks; +import net.neoforged.neoforge.common.CommonHooks; import javax.annotation.Nullable; -import java.util.List; import java.util.function.Predicate; public class CraftingHelper { @@ -37,8 +37,8 @@ public int getHeight() { } @Override - public List getItems() { - return List.copyOf(items); + public NonNullList getItems() { + return NonNullList.copyOf(items); } } @@ -48,7 +48,7 @@ public List getItems() { private final InventorySource inputSource; - private @Nullable CraftingRecipe recipe = null; + private @Nullable RecipeHolder recipe = null; private CraftingResult result = CraftingResult.EMPTY; public CraftingHelper(InventorySource inputSource) { @@ -90,7 +90,7 @@ public void loadRecipe() { recipe = inputSource.getWorld().getRecipeManager() .getRecipeFor(RecipeType.CRAFTING, craftingInventory, inputSource.getWorld()).orElse(null); - craftResultInventory.setItem(0, recipe == null ? ItemStack.EMPTY : recipe.assemble(craftingInventory, inputSource.getWorld().registryAccess())); + craftResultInventory.setItem(0, recipe == null ? ItemStack.EMPTY : recipe.value().assemble(craftingInventory, inputSource.getWorld().registryAccess())); } public void loadOutput() { @@ -128,9 +128,9 @@ public boolean onCraftedByPlayer(Player player, boolean leaveRemainingInGrid) { } // Re-obtain remaining items in case "setCraftingPlayer" changes remaining items - ForgeHooks.setCraftingPlayer(player); - NonNullList remainingStacks = recipe.getRemainingItems(craftingInventory); // Skip re-searching for recipe, should be ok - ForgeHooks.setCraftingPlayer(null); + CommonHooks.setCraftingPlayer(player); + NonNullList remainingStacks = recipe.value().getRemainingItems(craftingInventory); // Skip re-searching for recipe, should be ok + CommonHooks.setCraftingPlayer(null); Container craftingGird = inputSource.getCraftingMatrix(); Container storage = inputSource.getStorage(); @@ -184,9 +184,9 @@ private CraftingResult craftFromSource(Container source, boolean simulate) { if (recipe == null) return CraftingResult.EMPTY; - if (!recipe.matches(craftingInventory, inputSource.getWorld())) return CraftingResult.EMPTY; + if (!recipe.value().matches(craftingInventory, inputSource.getWorld())) return CraftingResult.EMPTY; - ItemStack result = recipe.assemble(craftingInventory, inputSource.getWorld().registryAccess()); + ItemStack result = recipe.value().assemble(craftingInventory, inputSource.getWorld().registryAccess()); if (result.isEmpty()) return CraftingResult.EMPTY; if (simulate) { @@ -207,8 +207,8 @@ private CraftingResult craftFromSource(Container source, boolean simulate) { // Recipe must still function with new input swapped in craftingInventory.setItem(slot, input); boolean canStillCraft = - recipe.matches(craftingInventory, inputSource.getWorld()) && - ItemStack.isSameItem(result, recipe.assemble(craftingInventory, inputSource.getWorld().registryAccess())); + recipe.value().matches(craftingInventory, inputSource.getWorld()) && + ItemStack.isSameItem(result, recipe.value().assemble(craftingInventory, inputSource.getWorld().registryAccess())); craftingInventory.setItem(slot, previousInput); return canStillCraft; @@ -223,7 +223,7 @@ private CraftingResult craftFromSource(Container source, boolean simulate) { return CraftingResult.missingIngredients(missingIngredientMask); } - return new CraftingResult(result, recipe.getRemainingItems(craftingInventory), 0, simulate ? source : copyInventory(source)); + return new CraftingResult(result, recipe.value().getRemainingItems(craftingInventory), 0, simulate ? source : copyInventory(source)); } private boolean consumeIngredient(Container storage, int startIndex, Predicate matchFunc) { diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/ExpansionNetwork.java b/expansion/src/main/java/mrtjp/projectred/expansion/ExpansionNetwork.java index 945e5d0b2..08719ec9b 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/ExpansionNetwork.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/ExpansionNetwork.java @@ -2,12 +2,11 @@ import codechicken.lib.packet.ICustomPacketHandler; import codechicken.lib.packet.PacketCustom; -import codechicken.lib.packet.PacketCustomChannelBuilder; +import codechicken.lib.packet.PacketCustomChannel; import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; +import net.neoforged.bus.api.IEventBus; import java.util.Objects; @@ -21,17 +20,21 @@ public class ExpansionNetwork { public static final int MM_FROM_SERVER = 1; public static final int LINK_DEBUG_RENDERER_FROM_SERVER = 2; - public static void init() { - PacketCustomChannelBuilder.named(NET_CHANNEL) - .assignClientHandler(() -> ClientHandler::new) - .assignServerHandler(() -> ServerHandler::new) - .build(); + // Channel instance + private static final PacketCustomChannel channel = new PacketCustomChannel(NET_CHANNEL) + .versioned(ProjectRedExpansion.getContainer().getModInfo().getVersion().toString()) + .client(() -> ClientHandler::new) + .server(() -> ServerHandler::new); + + + public static void init(IEventBus modBus) { + channel.init(modBus); } private static class ClientHandler implements ICustomPacketHandler.IClientPacketHandler { @Override - public void handlePacket(PacketCustom packet, Minecraft mc, ClientPacketListener handler) { + public void handlePacket(PacketCustom packet, Minecraft mc) { switch (packet.getType()) { case MM_FROM_SERVER -> MovementManager.getInstance(Objects.requireNonNull(mc.level)).read(packet, mc.level); case LINK_DEBUG_RENDERER_FROM_SERVER -> GraphDebugManager.getInstance(Objects.requireNonNull(mc.level)).read(packet, mc.level); @@ -43,7 +46,7 @@ public void handlePacket(PacketCustom packet, Minecraft mc, ClientPacketListener private static class ServerHandler implements ICustomPacketHandler.IServerPacketHandler { @Override - public void handlePacket(PacketCustom packet, ServerPlayer sender, ServerGamePacketListenerImpl handler) { + public void handlePacket(PacketCustom packet, ServerPlayer sender) { } } diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/GraphDebugManager.java b/expansion/src/main/java/mrtjp/projectred/expansion/GraphDebugManager.java index 1434383e9..9b0bd3535 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/GraphDebugManager.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/GraphDebugManager.java @@ -27,12 +27,12 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.event.RegisterClientCommandsEvent; -import net.minecraftforge.client.event.RenderLevelStageEvent; -import net.minecraftforge.event.TickEvent; -import net.minecraftforge.event.level.LevelEvent; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.event.RegisterClientCommandsEvent; +import net.neoforged.neoforge.client.event.RenderLevelStageEvent; +import net.neoforged.neoforge.event.TickEvent; +import net.neoforged.neoforge.event.level.LevelEvent; import java.util.*; import java.util.function.Function; diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/MovementManager.java b/expansion/src/main/java/mrtjp/projectred/expansion/MovementManager.java index f09a6e8f7..3b5fe4fd7 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/MovementManager.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/MovementManager.java @@ -28,14 +28,14 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.event.RenderLevelStageEvent; -import net.minecraftforge.client.model.data.ModelData; -import net.minecraftforge.event.TickEvent; -import net.minecraftforge.event.level.ChunkEvent; -import net.minecraftforge.event.level.ChunkWatchEvent; -import net.minecraftforge.event.level.LevelEvent; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.event.RenderLevelStageEvent; +import net.neoforged.neoforge.client.model.data.ModelData; +import net.neoforged.neoforge.event.TickEvent; +import net.neoforged.neoforge.event.level.ChunkEvent; +import net.neoforged.neoforge.event.level.ChunkWatchEvent; +import net.neoforged.neoforge.event.level.LevelEvent; import javax.annotation.Nullable; import java.util.*; diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/MovementRegistry.java b/expansion/src/main/java/mrtjp/projectred/expansion/MovementRegistry.java index d6e1b55be..42d83a041 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/MovementRegistry.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/MovementRegistry.java @@ -14,7 +14,6 @@ import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.chunk.LevelChunkSection; import net.minecraft.world.level.levelgen.Heightmap; -import net.minecraftforge.common.util.LazyOptional; import javax.annotation.Nullable; import java.util.HashMap; @@ -42,15 +41,17 @@ public static void registerFrameInteraction(FrameInteraction interaction) { } public static @Nullable Frame getFrame(Level level, BlockPos pos) { - Block block = level.getBlockState(pos).getBlock(); + BlockState state = level.getBlockState(pos); + Block block = state.getBlock(); if (block instanceof Frame f) return f; BlockEntity be = level.getBlockEntity(pos); if (be instanceof Frame f) return f; if (be != null) { - LazyOptional cap = be.getCapability(IExpansionAPI.FRAME_CAPABILITY); - if (cap.isPresent()) return cap.orElseThrow(() -> new RuntimeException("??")); + @SuppressWarnings("DataFlowIssue") + var cap = level.getCapability(IExpansionAPI.FRAME_CAPABILITY, pos, state, be, null); + if (cap != null) return cap; } for (FrameInteraction interaction : frameInteractions) { @@ -61,15 +62,17 @@ public static void registerFrameInteraction(FrameInteraction interaction) { } public static @Nullable MovementController getMovementController(Level level, BlockPos pos) { - Block block = level.getBlockState(pos).getBlock(); + BlockState state = level.getBlockState(pos); + Block block = state.getBlock(); if (block instanceof MovementController mhb) return mhb; BlockEntity be = level.getBlockEntity(pos); if (be instanceof MovementController mbe) return mbe; if (be != null) { - LazyOptional cap = be.getCapability(IExpansionAPI.MOVEMENT_CONTROLLER_CAPABILITY); - if (cap.isPresent()) return cap.orElseThrow(() -> new RuntimeException("??")); + @SuppressWarnings("DataFlowIssue") + var cap = level.getCapability(IExpansionAPI.MOVEMENT_CONTROLLER_CAPABILITY, pos, state, be, null); + if (cap != null) return cap; } return null; diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/ProjectRedExpansion.java b/expansion/src/main/java/mrtjp/projectred/expansion/ProjectRedExpansion.java index 05e9ad305..b0ab3f233 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/ProjectRedExpansion.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/ProjectRedExpansion.java @@ -7,6 +7,7 @@ import mrtjp.projectred.api.ProjectRedAPI; import mrtjp.projectred.expansion.data.*; import mrtjp.projectred.expansion.init.*; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; @@ -16,19 +17,21 @@ import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.data.event.GatherDataEvent; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; +import net.neoforged.fml.loading.FMLEnvironment; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.data.event.GatherDataEvent; +import net.neoforged.neoforge.registries.DeferredRegister; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.Nullable; + +import java.util.Objects; import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID; @@ -39,15 +42,17 @@ public class ProjectRedExpansion { public static final Logger LOGGER = LogManager.getLogger(MOD_ID); - public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MOD_ID); - public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID); - public static final DeferredRegister SOUNDS = DeferredRegister.create(ForgeRegistries.SOUND_EVENTS, MOD_ID); - public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, MOD_ID); - public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(ForgeRegistries.MENU_TYPES, MOD_ID); + public static final DeferredRegister BLOCKS = DeferredRegister.create(BuiltInRegistries.BLOCK, MOD_ID); + public static final DeferredRegister ITEMS = DeferredRegister.create(BuiltInRegistries.ITEM, MOD_ID); + public static final DeferredRegister SOUNDS = DeferredRegister.create(BuiltInRegistries.SOUND_EVENT, MOD_ID); + public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(BuiltInRegistries.BLOCK_ENTITY_TYPE, MOD_ID); + public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(BuiltInRegistries.MENU, MOD_ID); public static final DeferredRegister> PART_TYPES = DeferredRegister.create(MultipartType.MULTIPART_TYPES, MOD_ID); public static final DeferredRegister PART_CONVERTERS = DeferredRegister.create(PartConverter.PART_CONVERTERS, MOD_ID); public static final DeferredRegister CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID); + private static @Nullable ModContainer container; + static { ProjectRedAPI.expansionAPI = ExpansionAPI.INSTANCE; @@ -59,13 +64,19 @@ public class ProjectRedExpansion { ExpansionCreativeModeTabs.register(); } - public ProjectRedExpansion() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); + public ProjectRedExpansion(ModContainer container, IEventBus modEventBus) { + ProjectRedExpansion.container = container; modEventBus.addListener(this::commonSetup); modEventBus.addListener(this::onGatherDataEvent); + modEventBus.addListener(this::onRegisterCaps); - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> ExpansionClientInit::init); + if (FMLEnvironment.dist.isClient()) { + ExpansionClientInit.init(modEventBus); + } + + // Init packet handler + ExpansionNetwork.init(modEventBus); BLOCKS.register(modEventBus); ITEMS.register(modEventBus); @@ -77,23 +88,24 @@ public ProjectRedExpansion() { CREATIVE_TABS.register(modEventBus); // MovementManager hooks - MinecraftForge.EVENT_BUS.addListener(MovementManager::onChunkWatchEvent); - MinecraftForge.EVENT_BUS.addListener(MovementManager::onChunkUnwatchEvent); - MinecraftForge.EVENT_BUS.addListener(MovementManager::onChunkUnloadEvent); - MinecraftForge.EVENT_BUS.addListener(MovementManager::onLevelTick); - MinecraftForge.EVENT_BUS.addListener(MovementManager::onLevelLoad); - MinecraftForge.EVENT_BUS.addListener(MovementManager::onLevelUnload); + NeoForge.EVENT_BUS.addListener(MovementManager::onChunkWatchEvent); + NeoForge.EVENT_BUS.addListener(MovementManager::onChunkUnwatchEvent); + NeoForge.EVENT_BUS.addListener(MovementManager::onChunkUnloadEvent); + NeoForge.EVENT_BUS.addListener(MovementManager::onLevelTick); + NeoForge.EVENT_BUS.addListener(MovementManager::onLevelLoad); + NeoForge.EVENT_BUS.addListener(MovementManager::onLevelUnload); // GraphDebugManager hooks - MinecraftForge.EVENT_BUS.addListener(GraphDebugManager::onLevelUnload); - MinecraftForge.EVENT_BUS.addListener(GraphDebugManager::onLevelTick); - MinecraftForge.EVENT_BUS.addListener(GraphDebugManager::registerClientCommands); + NeoForge.EVENT_BUS.addListener(GraphDebugManager::onLevelUnload); + NeoForge.EVENT_BUS.addListener(GraphDebugManager::onLevelTick); + NeoForge.EVENT_BUS.addListener(GraphDebugManager::registerClientCommands); } - private void commonSetup(final FMLCommonSetupEvent event) { - // Init packet handler - ExpansionNetwork.init(); + public static ModContainer getContainer() { + return Objects.requireNonNull(container); + } + private void commonSetup(final FMLCommonSetupEvent event) { // Register frame as Multipart tile passthrough interface MultipartGenerator.INSTANCE.registerPassThroughInterface(Frame.class); @@ -115,4 +127,8 @@ private void onGatherDataEvent(final GatherDataEvent event) { generator.addProvider(event.includeServer(), new ExpansionRecipeProvider(output)); generator.addProvider(event.includeServer(), new ExpansionLootTableProvider(output)); } + + public void onRegisterCaps(RegisterCapabilitiesEvent event) { + ExpansionBlocks.registerCaps(event); + } } diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/TubeType.java b/expansion/src/main/java/mrtjp/projectred/expansion/TubeType.java index 2ad3122af..0e0bdc94c 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/TubeType.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/TubeType.java @@ -11,17 +11,17 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.event.TextureStitchEvent; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; +import net.neoforged.neoforge.registries.DeferredRegister; import javax.annotation.Nullable; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.function.Function; +import java.util.function.Supplier; import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID; import static mrtjp.projectred.expansion.init.ExpansionParts.ID_PNEUMATIC_TUBE; @@ -36,8 +36,8 @@ public enum TubeType { private final List textureNames; - private @Nullable RegistryObject itemSupplier; - private @Nullable RegistryObject> partSupplier; + private @Nullable Supplier itemSupplier; + private @Nullable Supplier> partSupplier; @OnlyIn(Dist.CLIENT) private @Nullable List textures; @@ -64,7 +64,7 @@ public MultipartType getPartType() { return Objects.requireNonNull(partSupplier).get(); } - public RegistryObject getItemRegistryObject() { + public Supplier getItemRegistryObject() { return Objects.requireNonNull(itemSupplier); } @@ -78,7 +78,7 @@ public List getTextures() { } @OnlyIn (Dist.CLIENT) - public void onTextureStitchEvent(TextureStitchEvent.Post event) { + public void onTextureStitchEvent(TextureAtlasStitchedEvent event) { if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return; if (textureNames.isEmpty()) return; diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/block/BatteryBoxBlock.java b/expansion/src/main/java/mrtjp/projectred/expansion/block/BatteryBoxBlock.java index f477f528b..44f385942 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/block/BatteryBoxBlock.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/block/BatteryBoxBlock.java @@ -11,6 +11,7 @@ import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; @@ -69,7 +70,7 @@ public List getDrops(BlockState state, LootParams.Builder builder) { } @Override - public ItemStack getCloneItemStack(BlockState state, HitResult target, BlockGetter world, BlockPos pos, Player player) { + public ItemStack getCloneItemStack(BlockState state, HitResult target, LevelReader world, BlockPos pos, Player player) { BlockEntity tile = world.getBlockEntity(pos); if (tile instanceof BatteryBoxTile) return ((BatteryBoxTile) tile).createStackWithStoredPower(); // Pick block with stored power diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/block/FrameBlock.java b/expansion/src/main/java/mrtjp/projectred/expansion/block/FrameBlock.java index 97888b08a..ea9887ba9 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/block/FrameBlock.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/block/FrameBlock.java @@ -19,7 +19,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.fml.DistExecutor; +import net.neoforged.fml.loading.FMLEnvironment; import java.util.LinkedList; import java.util.List; @@ -103,9 +103,12 @@ private static VoxelShape generateShape(int mask) { // Clients will use verts directly from parsed OBJ. // Server will use data-pack JSON file with verts from OBJ - Vertex5[] verts = DistExecutor.unsafeRunForDist( - () -> () -> FrameModelRenderer.getQuadsForMask(mask), - () -> () -> getQuadsForMask(mask)); + Vertex5[] verts; + if (FMLEnvironment.dist.isClient()) { + verts = FrameModelRenderer.getQuadsForMask(mask); + } else { + verts = getQuadsForMask(mask); + } VoxelShape parent = VoxelShapeCache.merge(ImmutableSet.copyOf(faceShapes)); return ModelVoxelShape.fromQuads(parent, verts); diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameBlockRenderer.java b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameBlockRenderer.java index a3e3f5a66..81dff4e2b 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameBlockRenderer.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameBlockRenderer.java @@ -19,7 +19,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.client.model.data.ModelData; +import net.neoforged.neoforge.client.model.data.ModelData; import org.jetbrains.annotations.Nullable; public class FrameBlockRenderer implements ICCBlockRenderer, IItemRenderer { diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameModelRenderer.java b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameModelRenderer.java index 55c3794e4..54f8111e2 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameModelRenderer.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameModelRenderer.java @@ -10,8 +10,8 @@ import net.minecraft.client.renderer.texture.TextureAtlas; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.client.event.TextureStitchEvent; -import net.minecraftforge.fml.loading.FMLEnvironment; +import net.neoforged.fml.loading.FMLEnvironment; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; import java.io.FileWriter; import java.io.IOException; @@ -45,7 +45,7 @@ public static Vertex5[] getQuadsForMask(int mask) { return getOrGenerateModel(mask).verts; } - public static void onTextureStitchEvent(TextureStitchEvent.Post event) { + public static void onTextureStitchEvent(TextureAtlasStitchedEvent event) { if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return; frameIcon = new IconTransformation(event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/frame"))); } diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameMotorBlockRenderer.java b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameMotorBlockRenderer.java index 25004423d..665dcd648 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameMotorBlockRenderer.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/client/FrameMotorBlockRenderer.java @@ -14,7 +14,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.client.event.TextureStitchEvent; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; import javax.annotation.Nullable; import java.util.Objects; @@ -82,7 +82,7 @@ private void createIconTransforms() { } } - public static void onTextureStitchEvent(TextureStitchEvent.Post event) { + public static void onTextureStitchEvent(TextureAtlasStitchedEvent event) { if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return; topIcon = event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/frame_motor_top")); frontBack0Icon = event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/frame_motor_front_back_0")); diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/client/MovingBlockSuppressorRenderer.java b/expansion/src/main/java/mrtjp/projectred/expansion/client/MovingBlockSuppressorRenderer.java index caf349b38..24fb48ed8 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/client/MovingBlockSuppressorRenderer.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/client/MovingBlockSuppressorRenderer.java @@ -12,7 +12,7 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.client.model.data.ModelData; +import net.neoforged.neoforge.client.model.data.ModelData; import org.jetbrains.annotations.Nullable; /** diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/client/PneumaticSmokeParticle.java b/expansion/src/main/java/mrtjp/projectred/expansion/client/PneumaticSmokeParticle.java index 1e5cbda0b..fab00bc24 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/client/PneumaticSmokeParticle.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/client/PneumaticSmokeParticle.java @@ -14,7 +14,7 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.client.event.TextureStitchEvent; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; import java.util.LinkedList; import java.util.List; @@ -135,7 +135,7 @@ public ParticleRenderType getRenderType() { return PARTICLE_TYPE_SMOKE; } - public static void onTextureStitchEvent(TextureStitchEvent.Post event) { + public static void onTextureStitchEvent(TextureAtlasStitchedEvent event) { if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return; SMOKE_PARTICLE_SPRITE = event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "particle/smoke")); } diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockStateModelProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockStateModelProvider.java index 960d4ec14..e048a0e34 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockStateModelProvider.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockStateModelProvider.java @@ -2,14 +2,14 @@ import mrtjp.projectred.core.block.ProjectRedBlock; import mrtjp.projectred.expansion.block.BatteryBoxBlock; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.PackOutput; import net.minecraft.world.level.block.Block; -import net.minecraftforge.client.model.generators.BlockModelBuilder; -import net.minecraftforge.client.model.generators.BlockStateProvider; -import net.minecraftforge.client.model.generators.ConfiguredModel; -import net.minecraftforge.client.model.generators.ModelFile; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.client.model.generators.BlockModelBuilder; +import net.neoforged.neoforge.client.model.generators.BlockStateProvider; +import net.neoforged.neoforge.client.model.generators.ConfiguredModel; +import net.neoforged.neoforge.client.model.generators.ModelFile; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID; import static mrtjp.projectred.expansion.init.ExpansionBlocks.*; @@ -42,7 +42,7 @@ protected void registerStatesAndModels() { } private void addProgrammaticWithParticleTexture(Block block, String texSuffix) { - String blockName = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String blockName = BuiltInRegistries.BLOCK.getKey(block).getPath(); String texName = blockName + texSuffix; ModelFile dummy = models() .withExistingParent(blockName + "_programmatically_rendered", "block") @@ -172,7 +172,7 @@ private void addSidedPoweredDeviceVariants(Block block, ModelFile idle, ModelFil } private BlockModelBuilder createOppositeMatchingFaceModel(Block block) { - String texture = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String texture = BuiltInRegistries.BLOCK.getKey(block).getPath(); return models().cube(texture, modLoc("block/" + texture + "_bottom"), modLoc("block/" + texture + "_top"), @@ -184,7 +184,7 @@ private BlockModelBuilder createOppositeMatchingFaceModel(Block block) { } private BlockModelBuilder createBatteryModel(Block block, int charge) { - String texture = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String texture = BuiltInRegistries.BLOCK.getKey(block).getPath(); String modelName = texture + (charge > 0 ? "_charge" + charge : ""); return models().cubeBottomTop(modelName, modLoc("block/" + texture + "_side_" + charge), @@ -193,7 +193,7 @@ private BlockModelBuilder createBatteryModel(Block block, int charge) { } private BlockModelBuilder createFrontFacedMachineModel(Block block, int state) { - String texture = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String texture = BuiltInRegistries.BLOCK.getKey(block).getPath(); String modelName = texture + (state > 0 ? "_state" + state : ""); return models().orientableWithBottom(modelName, modLoc("block/" + texture + "_side"), @@ -203,7 +203,7 @@ private BlockModelBuilder createFrontFacedMachineModel(Block block, int state) { } private BlockModelBuilder createSideAndTopStateModel(Block block, int state) { - String texture = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String texture = BuiltInRegistries.BLOCK.getKey(block).getPath(); String modelName = texture + (state > 0 ? "_state" + state : ""); return models().cubeBottomTop(modelName, modLoc("block/" + texture + "_side_" + state), @@ -212,7 +212,7 @@ private BlockModelBuilder createSideAndTopStateModel(Block block, int state) { } private BlockModelBuilder createSideStateModel(Block block, int state) { - String texture = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String texture = BuiltInRegistries.BLOCK.getKey(block).getPath(); String modelName = texture + (state > 0 ? "_state" + state : ""); return models().cubeBottomTop(modelName, modLoc("block/" + texture + "_side_" + state), @@ -221,7 +221,7 @@ private BlockModelBuilder createSideStateModel(Block block, int state) { } private BlockModelBuilder createSideAndTopActiveModel(Block block, boolean active) { - String texture = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String texture = BuiltInRegistries.BLOCK.getKey(block).getPath(); String activeKey = active ? "_active" : ""; String modelName = texture + activeKey; return models().cubeBottomTop(modelName, @@ -231,7 +231,7 @@ private BlockModelBuilder createSideAndTopActiveModel(Block block, boolean activ } private BlockModelBuilder createOppositeMatchingFaceDeviceModel(Block block, boolean active) { - String texture = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String texture = BuiltInRegistries.BLOCK.getKey(block).getPath(); String activeKey = active ? "_active" : ""; String modelName = texture + activeKey; return models().cube(modelName, diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockTagsProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockTagsProvider.java index 0382390d7..ec5278146 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockTagsProvider.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionBlockTagsProvider.java @@ -3,8 +3,8 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.tags.BlockTags; -import net.minecraftforge.common.data.BlockTagsProvider; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionItemModelProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionItemModelProvider.java index 0c4f2b782..6106c1a89 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionItemModelProvider.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionItemModelProvider.java @@ -8,9 +8,9 @@ import net.minecraft.data.PackOutput; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; -import net.minecraftforge.client.model.generators.ItemModelBuilder; -import net.minecraftforge.client.model.generators.ModelFile; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.client.model.generators.ItemModelBuilder; +import net.neoforged.neoforge.client.model.generators.ModelFile; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID; import static mrtjp.projectred.expansion.init.ExpansionBlocks.*; diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLanguageProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLanguageProvider.java index f71ac730f..99cd96c30 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLanguageProvider.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLanguageProvider.java @@ -2,7 +2,7 @@ import mrtjp.projectred.expansion.TubeType; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.LanguageProvider; +import net.neoforged.neoforge.common.data.LanguageProvider; import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID; import static mrtjp.projectred.expansion.init.ExpansionBlocks.*; @@ -15,11 +15,6 @@ public ExpansionLanguageProvider(PackOutput output) { super(output, MOD_ID, "en_us"); } - @Override - public String getName() { - return "ProjectRed-Expansion Languages: en_us"; - } - @Override protected void addTranslations() { diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLootTableProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLootTableProvider.java index 2afa13346..8f9e8704a 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLootTableProvider.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionLootTableProvider.java @@ -1,30 +1,53 @@ package mrtjp.projectred.expansion.data; -import codechicken.lib.datagen.LootTableProvider; +import mrtjp.projectred.expansion.ProjectRedExpansion; +import net.minecraft.core.Holder; import net.minecraft.data.PackOutput; +import net.minecraft.data.loot.BlockLootSubProvider; +import net.minecraft.data.loot.LootTableProvider; +import net.minecraft.world.flag.FeatureFlags; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; + +import java.util.List; +import java.util.Set; -import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID; import static mrtjp.projectred.expansion.init.ExpansionBlocks.*; -public class ExpansionLootTableProvider extends LootTableProvider.BlockLootProvider { +public class ExpansionLootTableProvider extends LootTableProvider { public ExpansionLootTableProvider(PackOutput output) { - super(output, MOD_ID); + super(output, Set.of(), List.of( + new LootTableProvider.SubProviderEntry(BlockLootTable::new, LootContextParamSets.BLOCK) + )); } - @Override - protected void registerTables() { - - register(PROJECT_BENCH_BLOCK.get(), singleItem(PROJECT_BENCH_BLOCK.get())); - register(BATTERY_BOX_BLOCK.get(), singleItem(BATTERY_BOX_BLOCK.get())); - register(AUTO_CRAFTER_BLOCK.get(), singleItem(AUTO_CRAFTER_BLOCK.get())); - register(CHARGING_BENCH_BLOCK.get(), singleItem(CHARGING_BENCH_BLOCK.get())); - register(FIRE_STARTER_BLOCK.get(), singleItem(FIRE_STARTER_BLOCK.get())); - register(FRAME_BLOCK.get(), singleItem(FRAME_BLOCK.get())); - register(FRAME_MOTOR_BLOCK.get(), singleItem(FRAME_MOTOR_BLOCK.get())); - register(FRAME_ACTUATOR_BLOCK.get(), singleItem(FRAME_ACTUATOR_BLOCK.get())); - register(TRANSPOSER_BLOCK.get(), singleItem(TRANSPOSER_BLOCK.get())); - register(BLOCK_BREAKER_BLOCK.get(), singleItem(BLOCK_BREAKER_BLOCK.get())); - register(DEPLOYER_BLOCK.get(), singleItem(DEPLOYER_BLOCK.get())); + private static final class BlockLootTable extends BlockLootSubProvider { + BlockLootTable() { + super(Set.of(), FeatureFlags.REGISTRY.allFlags()); + } + + @Override + protected Iterable getKnownBlocks() { + return ProjectRedExpansion.BLOCKS.getEntries() + .stream() + .map(Holder::value) + .toList(); + } + + @Override + protected void generate() { + dropSelf(PROJECT_BENCH_BLOCK.get()); + dropSelf(BATTERY_BOX_BLOCK.get()); + dropSelf(AUTO_CRAFTER_BLOCK.get()); + dropSelf(CHARGING_BENCH_BLOCK.get()); + dropSelf(FIRE_STARTER_BLOCK.get()); + dropSelf(FRAME_BLOCK.get()); + dropSelf(FRAME_MOTOR_BLOCK.get()); + dropSelf(FRAME_ACTUATOR_BLOCK.get()); + dropSelf(TRANSPOSER_BLOCK.get()); + dropSelf(BLOCK_BREAKER_BLOCK.get()); + dropSelf(DEPLOYER_BLOCK.get()); + } } } diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionRecipeProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionRecipeProvider.java index fcf5d930d..a88cb5933 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionRecipeProvider.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionRecipeProvider.java @@ -6,7 +6,7 @@ import net.minecraft.tags.ItemTags; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Blocks; -import net.minecraftforge.common.Tags; +import net.neoforged.neoforge.common.Tags; import static mrtjp.projectred.core.init.CoreItems.COPPER_COIL_ITEM; import static mrtjp.projectred.core.init.CoreItems.MOTOR_ITEM; @@ -14,7 +14,7 @@ import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID; import static mrtjp.projectred.expansion.init.ExpansionBlocks.*; import static mrtjp.projectred.expansion.init.ExpansionItems.*; -import static net.minecraftforge.common.Tags.Items.INGOTS_COPPER; + public class ExpansionRecipeProvider extends RecipeProvider { @@ -132,7 +132,7 @@ protected void registerRecipes() { // Parts shapedRecipe(TubeType.PNEUMATIC_TUBE.getItem(), 8) - .key('B', INGOTS_COPPER) //TODO replace with brass + .key('B', Tags.Items.INGOTS_COPPER) //TODO replace with brass .key('G', Tags.Items.GLASS_PANES) .patternLine("BGB") .patternLine("BGB") @@ -142,7 +142,7 @@ protected void registerRecipes() { shapedRecipe(BATTERY_ITEM.get(), 1) .key('E', ELECTROTINE_DUST_TAG) .key('T', TIN_INGOT_TAG) - .key('C', INGOTS_COPPER) + .key('C', Tags.Items.INGOTS_COPPER) .patternLine("ETE") .patternLine("ECE") .patternLine("ETE"); diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionSoundProvider.java b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionSoundProvider.java index 7c7f16981..513e019c3 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionSoundProvider.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/data/ExpansionSoundProvider.java @@ -3,8 +3,8 @@ import mrtjp.projectred.expansion.init.ExpansionUnlocal; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.common.data.SoundDefinitionsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.SoundDefinitionsProvider; import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID; import static mrtjp.projectred.expansion.init.ExpansionSounds.DEPRESSURIZE; diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionBlocks.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionBlocks.java index 090225b77..7acb4c740 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionBlocks.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionBlocks.java @@ -6,7 +6,10 @@ import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; + +import java.util.function.Supplier; import static mrtjp.projectred.expansion.ProjectRedExpansion.*; @@ -26,31 +29,30 @@ public class ExpansionBlocks { public static final String ID_DEPLOYER = "deployer"; // Blocks - public static RegistryObject FRAME_BLOCK; - - public static RegistryObject PROJECT_BENCH_BLOCK; - public static RegistryObject BATTERY_BOX_BLOCK; - public static RegistryObject CHARGING_BENCH_BLOCK; - public static RegistryObject AUTO_CRAFTER_BLOCK; - public static RegistryObject FIRE_STARTER_BLOCK; - public static RegistryObject FRAME_MOTOR_BLOCK; - public static RegistryObject FRAME_ACTUATOR_BLOCK; - public static RegistryObject TRANSPOSER_BLOCK; - public static RegistryObject BLOCK_BREAKER_BLOCK; - public static RegistryObject DEPLOYER_BLOCK; + public static Supplier FRAME_BLOCK; + + public static Supplier PROJECT_BENCH_BLOCK; + public static Supplier BATTERY_BOX_BLOCK; + public static Supplier CHARGING_BENCH_BLOCK; + public static Supplier AUTO_CRAFTER_BLOCK; + public static Supplier FIRE_STARTER_BLOCK; + public static Supplier FRAME_MOTOR_BLOCK; + public static Supplier FRAME_ACTUATOR_BLOCK; + public static Supplier TRANSPOSER_BLOCK; + public static Supplier BLOCK_BREAKER_BLOCK; + public static Supplier DEPLOYER_BLOCK; // Tiles - public static RegistryObject> PROJECT_BENCH_TILE; - public static RegistryObject> BATTERY_BOX_TILE; - public static RegistryObject> CHARGING_BENCH_TILE; - public static RegistryObject> AUTO_CRAFTER_TILE; - public static RegistryObject> FIRE_STARTER_TILE; - public static RegistryObject> FRAME_MOTOR_TILE; - public static RegistryObject> FRAME_ACTUATOR_TILE; - public static RegistryObject> TRANSPOSER_BLOCK_TILE; - public static RegistryObject> BLOCK_BREAKER_TILE; - public static RegistryObject> DEPLOYER_TILE; - + public static Supplier> PROJECT_BENCH_TILE; + public static Supplier> BATTERY_BOX_TILE; + public static Supplier> CHARGING_BENCH_TILE; + public static Supplier> AUTO_CRAFTER_TILE; + public static Supplier> FIRE_STARTER_TILE; + public static Supplier> FRAME_MOTOR_TILE; + public static Supplier> FRAME_ACTUATOR_TILE; + public static Supplier> TRANSPOSER_BLOCK_TILE; + public static Supplier> BLOCK_BREAKER_TILE; + public static Supplier> DEPLOYER_TILE; public static void register() { @@ -98,4 +100,12 @@ public static void register() { ITEMS.register(ID_FRAME, () -> new BlockItem(FRAME_BLOCK.get(), new Item.Properties())); } + public static void registerCaps(RegisterCapabilitiesEvent event) { + event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, PROJECT_BENCH_TILE.get(), (tile, ctx) -> tile.getHandler()); + event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, BATTERY_BOX_TILE.get(), BatteryBoxTile::getHandler); + event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, CHARGING_BENCH_TILE.get(), ChargingBenchTile::getHandler); + event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, AUTO_CRAFTER_TILE.get(), (tile, ctx) -> tile.getHandler()); + event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, DEPLOYER_TILE.get(), (tile, ctx) -> tile.getHandler()); + } + } \ No newline at end of file diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionClientInit.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionClientInit.java index a62f22b35..013ace5bc 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionClientInit.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionClientInit.java @@ -15,10 +15,9 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.item.ItemProperties; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; +import net.neoforged.neoforge.common.NeoForge; import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID; import static mrtjp.projectred.expansion.init.ExpansionBlocks.*; @@ -32,16 +31,14 @@ public class ExpansionClientInit { public static final ResourceLocation ITEM_MODEL_PROPERTY_CHARGE_LEVEL = new ResourceLocation(MOD_ID, "charge_level"); public static final ResourceLocation ITEM_MODEL_PROPERTY_WRITTEN_RECIPE_PLAN = new ResourceLocation(MOD_ID, "written"); - public static void init() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); - + public static void init(IEventBus modEventBus) { modEventBus.addListener(ExpansionClientInit::clientSetup); // MovementManager hooks - MinecraftForge.EVENT_BUS.addListener(MovementManager::onRenderLevelStage); + NeoForge.EVENT_BUS.addListener(MovementManager::onRenderLevelStage); // GraphDebugManager hooks - MinecraftForge.EVENT_BUS.addListener(GraphDebugManager::onRenderLevelStage); + NeoForge.EVENT_BUS.addListener(GraphDebugManager::onRenderLevelStage); // Register sprites modEventBus.addListener(FrameModelRenderer::onTextureStitchEvent); diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionCreativeModeTabs.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionCreativeModeTabs.java index edcd91187..266c0bb6b 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionCreativeModeTabs.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionCreativeModeTabs.java @@ -5,7 +5,8 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID; import static mrtjp.projectred.expansion.init.ExpansionBlocks.*; @@ -14,7 +15,7 @@ @SuppressWarnings("NotNullFieldNotInitialized") public class ExpansionCreativeModeTabs { - public static RegistryObject EXPANSION_CREATIVE_TAB; + public static Supplier EXPANSION_CREATIVE_TAB; public static void register() { diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionItems.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionItems.java index f41a4198b..3c1073e9f 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionItems.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionItems.java @@ -5,7 +5,8 @@ import mrtjp.projectred.expansion.item.EmptyBatteryItem; import mrtjp.projectred.expansion.item.RecipePlanItem; import net.minecraft.world.item.Item; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.expansion.ProjectRedExpansion.ITEMS; @@ -17,10 +18,10 @@ public class ExpansionItems { public static final String ID_EMPTY_BATTERY = "empty_battery"; public static final String ID_ELECTRIC_SCREWDRIVER = "electric_screwdriver"; - public static RegistryObject RECIPE_PLAN_ITEM; - public static RegistryObject BATTERY_ITEM; - public static RegistryObject EMPTY_BATTERY_ITEM; - public static RegistryObject ELECTRIC_SCREWDRIVER_ITEM; + public static Supplier RECIPE_PLAN_ITEM; + public static Supplier BATTERY_ITEM; + public static Supplier EMPTY_BATTERY_ITEM; + public static Supplier ELECTRIC_SCREWDRIVER_ITEM; public static void register() { diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionMenus.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionMenus.java index a8dba033e..4c1b86214 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionMenus.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionMenus.java @@ -3,7 +3,8 @@ import codechicken.lib.inventory.container.ICCLContainerType; import mrtjp.projectred.expansion.inventory.container.*; import net.minecraft.world.inventory.MenuType; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.expansion.ProjectRedExpansion.MENU_TYPES; import static mrtjp.projectred.expansion.init.ExpansionBlocks.*; @@ -11,11 +12,11 @@ @SuppressWarnings("NotNullFieldNotInitialized") public class ExpansionMenus { - public static RegistryObject> PROJECT_BENCH_CONTAINER; - public static RegistryObject> BATTERY_BOX_CONTAINER; - public static RegistryObject> AUTO_CRAFTER_CONTAINER; - public static RegistryObject> CHARGING_BENCH_CONTAINER; - public static RegistryObject> DEPLOYER_CONTAINER; + public static Supplier> PROJECT_BENCH_CONTAINER; + public static Supplier> BATTERY_BOX_CONTAINER; + public static Supplier> AUTO_CRAFTER_CONTAINER; + public static Supplier> CHARGING_BENCH_CONTAINER; + public static Supplier> DEPLOYER_CONTAINER; public static void register() { diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionParts.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionParts.java index 248fbd3f4..be167b818 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionParts.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionParts.java @@ -5,7 +5,8 @@ import mrtjp.projectred.expansion.TubeType; import mrtjp.projectred.expansion.part.FramePart; import mrtjp.projectred.expansion.part.FramePartConverter; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.expansion.ProjectRedExpansion.*; @@ -16,7 +17,7 @@ public class ExpansionParts { public static final String ID_PNEUMATIC_TUBE = "pneumatic_tube"; - public static RegistryObject> FRAME_PART; + public static Supplier> FRAME_PART; public static void register() { diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionSounds.java b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionSounds.java index 00b6b5282..cea693126 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionSounds.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/init/ExpansionSounds.java @@ -3,7 +3,8 @@ import mrtjp.projectred.expansion.ProjectRedExpansion; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.expansion.ProjectRedExpansion.MOD_ID; @@ -15,8 +16,8 @@ public class ExpansionSounds { public static final String SOUND_DEPRESSURIZE = "depressurize"; // Sound events - public static RegistryObject PRESSURIZE; - public static RegistryObject DEPRESSURIZE; + public static Supplier PRESSURIZE; + public static Supplier DEPRESSURIZE; public static void register() { diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/part/BaseTubePart.java b/expansion/src/main/java/mrtjp/projectred/expansion/part/BaseTubePart.java index 466d8bb32..a0f755aaf 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/part/BaseTubePart.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/part/BaseTubePart.java @@ -34,8 +34,8 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import javax.annotation.Nullable; import java.util.LinkedList; @@ -125,7 +125,7 @@ public void writeDesc(MCDataOutput packet) { packet.writeByte(packedConnMap()); packet.writeBoolean(material != null); if (material != null) { - packet.writeRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS, material); + packet.writeRegistryIdDirect(MicroMaterialRegistry.microMaterials(), material); } } @@ -147,7 +147,7 @@ public ItemStack getCloneStack(PartRayTraceResult hit) { public void readDesc(MCDataInput packet) { connMap = packet.readUByte(); if (packet.readBoolean()) { - material = packet.readRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS); + material = packet.readRegistryIdDirect(MicroMaterialRegistry.microMaterials()); } } //endregion @@ -179,7 +179,7 @@ protected void read(MCDataInput packet, int key) { if (useStaticRenderer()) tile().markRender(); } case KEY_MATERIAL -> { - material = packet.readRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS); + material = packet.readRegistryIdDirect(MicroMaterialRegistry.microMaterials()); if (useStaticRenderer()) tile().markRender(); } case KEY_REMOVE_MATERIAL -> { @@ -200,7 +200,7 @@ protected void sendMaterialUpdate() { if (material == null) { sendUpdate(KEY_REMOVE_MATERIAL, p -> {}); } else { - sendUpdate(KEY_MATERIAL, p -> p.writeRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS, material)); + sendUpdate(KEY_MATERIAL, p -> p.writeRegistryIdDirect(MicroMaterialRegistry.microMaterials(), material)); } } //endregion diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/part/PneumaticTubePart.java b/expansion/src/main/java/mrtjp/projectred/expansion/part/PneumaticTubePart.java index 0065b98ef..16ad52a36 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/part/PneumaticTubePart.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/part/PneumaticTubePart.java @@ -21,10 +21,10 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.world.WorldlyContainer; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.fml.DistExecutor; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.fml.loading.FMLEnvironment; +import net.neoforged.neoforge.capabilities.Capabilities; import java.util.Collection; import java.util.Collections; @@ -50,10 +50,10 @@ public class PneumaticTubePart extends GraphContainerTubePart implements Pneumat public PneumaticTubePart(TubeType pipeType) { super(pipeType); - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> { + if (FMLEnvironment.dist.isClient()) { linkCache.setRemovedCallback(this::onLinksRemoved); linkCache.setAddedCallback(this::onLinksAdded); - }); + } } @Override @@ -254,9 +254,9 @@ private boolean hasEndpointOnSide(int s) { return wc.getSlotsForFace(Direction.values()[lookup.otherDirection]).length > 0; } - var itemCapOpt = lookup.tile.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.values()[lookup.otherDirection]); - if (itemCapOpt.isPresent()) { - return itemCapOpt.orElseThrow(NullPointerException::new).getSlots() > 0; + var itemCap = level().getCapability(Capabilities.ItemHandler.BLOCK, lookup.tile.getBlockPos(), Direction.values()[lookup.otherDirection]); + if (itemCap != null) { + return itemCap.getSlots() > 0; } return false; @@ -464,9 +464,8 @@ public boolean onPayloadReachedOutput(int id, PneumaticTubePayload payload) { } // Pass to IItemHandler capability - var itemCapOpt = lookup.tile.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.values()[lookup.otherDirection]); - if (itemCapOpt.isPresent()) { - var itemCap = itemCapOpt.orElseThrow(NullPointerException::new); + var itemCap = level().getCapability(Capabilities.ItemHandler.BLOCK, lookup.tile.getBlockPos(), Direction.values()[lookup.otherDirection]); + if (itemCap != null) { if (InventoryLib.injectItemHandler(itemCap, payload.getItemStack(), false)) { sendPayloadRemoved(Collections.singletonList(id)); return true; @@ -506,9 +505,8 @@ public boolean canItemExitTube(PneumaticTubePayload payload, int side, Pneumatic } // Check IItemHandler cap - var itemCapOpt = lookup.tile.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.values()[lookup.otherDirection]); - if (itemCapOpt.isPresent()) { - var itemCap = itemCapOpt.orElseThrow(NullPointerException::new); + var itemCap = level().getCapability(Capabilities.ItemHandler.BLOCK, lookup.tile.getBlockPos(), Direction.values()[lookup.otherDirection]); + if (itemCap != null) { ItemStack copy = payload.getItemStack().copy(); InventoryLib.injectItemHandler(itemCap, copy, true); if (copy.getCount() < payload.getItemStack().getCount()) { // If anything was inserted diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/AutoCrafterTile.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/AutoCrafterTile.java index d37f9995c..bfed70143 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/AutoCrafterTile.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/AutoCrafterTile.java @@ -9,7 +9,6 @@ import mrtjp.projectred.expansion.inventory.container.AutoCrafterContainer; import mrtjp.projectred.expansion.item.RecipePlanItem; import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.Container; @@ -20,14 +19,8 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.wrapper.InvWrapper; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.wrapper.InvWrapper; public class AutoCrafterTile extends BaseMachineTile implements CraftingHelper.InventorySource { @@ -42,7 +35,7 @@ public boolean canPlaceItem(int slot, ItemStack stack) { private final BaseInventory storageInventory = new BaseInventory(18); private final BaseInventory craftingGrid = new BaseInventory(9); - private final LazyOptional handler = LazyOptional.of(() -> new InvWrapper(storageInventory)); + private final IItemHandler handler = new InvWrapper(storageInventory); private final CraftingHelper craftingHelper = new CraftingHelper(this); @@ -232,19 +225,8 @@ protected void finishWork() { //endregion //region Capabilities - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER) { - return handler.cast(); - } - return super.getCapability(cap, side); - } - - @Override - public void invalidateCaps() { - super.invalidateCaps(); - handler.invalidate(); + public IItemHandler getHandler() { + return handler; } //endregion } diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/BatteryBoxTile.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/BatteryBoxTile.java index 0440b0889..f74128b88 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/BatteryBoxTile.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/BatteryBoxTile.java @@ -21,13 +21,9 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.wrapper.SidedInvWrapper; +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.wrapper.SidedInvWrapper; -import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.Objects; @@ -39,7 +35,10 @@ public class BatteryBoxTile extends LowLoadPoweredTile { public static final String TAG_KEY_CHARGE_LEVEL_STATE = "charge_level"; private final BatteryBoxInventory inventory = new BatteryBoxInventory(); - private final LazyOptional[] handlers = SidedInvWrapper.create(inventory, Direction.UP, Direction.DOWN); + private final IItemHandler[] handlers = { + new SidedInvWrapper(inventory, Direction.DOWN), + new SidedInvWrapper(inventory, Direction.UP), + }; private int powerStored = 0; @@ -213,21 +212,8 @@ private boolean tryDischargeBattery() { } //region Capabilities - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER) { - return side == Direction.UP ? handlers[0].cast() : handlers[1].cast(); - } - return super.getCapability(cap, side); - } - - @Override - public void invalidateCaps() { - super.invalidateCaps(); - for (LazyOptional handler : handlers) { - handler.invalidate(); - } + public IItemHandler getHandler(Direction side) { + return handlers[side == Direction.UP ? 1 : 0]; } //endregion diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/BlockBreakerBlockEntity.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/BlockBreakerBlockEntity.java index 31e1e2cc8..e7e732c75 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/BlockBreakerBlockEntity.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/BlockBreakerBlockEntity.java @@ -14,7 +14,7 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.TierSortingRegistry; +import net.neoforged.neoforge.common.TierSortingRegistry; import java.util.List; import java.util.UUID; diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/ChargingBenchTile.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/ChargingBenchTile.java index 985e6f038..e86249995 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/ChargingBenchTile.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/ChargingBenchTile.java @@ -20,19 +20,19 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.wrapper.SidedInvWrapper; +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.wrapper.SidedInvWrapper; -import javax.annotation.Nonnull; import javax.annotation.Nullable; public class ChargingBenchTile extends LowLoadPoweredTile { private final ChargingBenchInventory inventory = new ChargingBenchInventory(); - private final LazyOptional[] handlers = SidedInvWrapper.create(inventory, Direction.UP, Direction.DOWN); + + private final IItemHandler[] handlers = { + new SidedInvWrapper(inventory, Direction.DOWN), + new SidedInvWrapper(inventory, Direction.UP) + }; private boolean isCharged = false; private int chargeSlot = 0; @@ -174,21 +174,8 @@ private boolean tryDropDownItemInSlot(int i) { } //region Capabilities - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER) { - return side == Direction.UP ? handlers[0].cast() : handlers[1].cast(); - } - return super.getCapability(cap, side); - } - - @Override - public void invalidateCaps() { - super.invalidateCaps(); - for (LazyOptional handler : handlers) { - handler.invalidate(); - } + public IItemHandler getHandler(Direction side) { + return handlers[side == Direction.UP ? 1 : 0]; } //endregion diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/DeployerBlockEntity.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/DeployerBlockEntity.java index ef8a3209e..33e96ee70 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/DeployerBlockEntity.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/DeployerBlockEntity.java @@ -25,18 +25,13 @@ import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.common.ForgeHooks; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.FakePlayerFactory; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.event.entity.player.PlayerInteractEvent.RightClickBlock; -import net.minecraftforge.eventbus.api.Event; -import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.wrapper.InvWrapper; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import net.neoforged.bus.api.Event; +import net.neoforged.neoforge.common.CommonHooks; +import net.neoforged.neoforge.common.util.FakePlayerFactory; +import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent; +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.wrapper.InvWrapper; + import java.util.LinkedList; import java.util.List; import java.util.UUID; @@ -50,7 +45,7 @@ public class DeployerBlockEntity extends BaseDeviceTile { private final BaseInventory inventory = new BaseInventory(9); - private final LazyOptional handler = LazyOptional.of(() -> new InvWrapper(inventory)); + private final IItemHandler handler = new InvWrapper(inventory); public DeployerBlockEntity(BlockPos pos, BlockState state) { super(ExpansionBlocks.DEPLOYER_TILE.get(), pos, state); @@ -174,7 +169,7 @@ protected boolean deployFromFakePlayer(Player player) { // Mimics the logic of and MultiPlayerGameMode#performUseItemOn protected InteractionResult runUseOnLogic(Player player, BlockPos usePos, BlockHitResult hit) { - RightClickBlock event = ForgeHooks.onRightClickBlock(player, InteractionHand.MAIN_HAND, usePos, hit); + PlayerInteractEvent.RightClickBlock event = CommonHooks.onRightClickBlock(player, InteractionHand.MAIN_HAND, usePos, hit); if (event.isCanceled()) { return event.getCancellationResult(); } @@ -208,7 +203,7 @@ protected InteractionResult runUseOnLogic(Player player, BlockPos usePos, BlockH } // At this point, block use has failed. PLayer use is now attempted (i.e. food, weapons, etc) - result = ForgeHooks.onItemRightClick(player, InteractionHand.MAIN_HAND); + result = CommonHooks.onItemRightClick(player, InteractionHand.MAIN_HAND); if (result != null) { return result; } @@ -243,7 +238,7 @@ protected InteractionResult runInteractWithEntityLogic(Player player, BlockPos u // Then try direct interaction Vec3 vec3 = hit.getLocation().subtract(entity.getX(), entity.getY(), entity.getZ()); - result = ForgeHooks.onInteractEntityAt(player, entity, vec3, InteractionHand.MAIN_HAND); + result = CommonHooks.onInteractEntityAt(player, entity, vec3, InteractionHand.MAIN_HAND); if (result != null) { return result; } @@ -261,21 +256,8 @@ protected void handlePostDeployExcess(List excess) { } //region Capabilities - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER) { - if (side != Direction.values()[this.side ^ 1]) { - return handler.cast(); - } - } - return super.getCapability(cap, side); - } - - @Override - public void invalidateCaps() { - super.invalidateCaps(); - handler.invalidate(); + public IItemHandler getHandler() { + return handler; } //endregion diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/ProjectBenchTile.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/ProjectBenchTile.java index d1441078c..00a88a8f2 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/ProjectBenchTile.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/ProjectBenchTile.java @@ -13,7 +13,6 @@ import mrtjp.projectred.expansion.item.RecipePlanItem; import mrtjp.projectred.lib.InventoryLib; import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.*; @@ -23,14 +22,8 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.wrapper.InvWrapper; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.wrapper.InvWrapper; public class ProjectBenchTile extends ProjectRedTile implements IPacketReceiverTile, CraftingHelper.InventorySource { @@ -48,7 +41,7 @@ public boolean canPlaceItem(int slot, ItemStack stack) { private final BaseInventory planCraftingGrid = new BaseInventory(9); private final CraftingHelper craftingHelper = new CraftingHelper(this); - private final LazyOptional storageInventoryCap = LazyOptional.of(this::createStorageInventoryCap); + private final IItemHandler handler = new InvWrapper(storageInventory); private boolean isPlanRecipe = false; private boolean recipeNeedsUpdate = true; @@ -264,22 +257,8 @@ public CraftingHelper getCraftingHelper() { //endregion //region Capabilities - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - if (!this.remove && cap == ForgeCapabilities.ITEM_HANDLER) - return storageInventoryCap.cast(); - return super.getCapability(cap, side); - } - - @Override - public void invalidateCaps() { - super.invalidateCaps(); - storageInventoryCap.invalidate(); - } - - private IItemHandler createStorageInventoryCap() { - return new InvWrapper(storageInventory); + public IItemHandler getHandler() { + return handler; } //endregion } diff --git a/expansion/src/main/java/mrtjp/projectred/expansion/tile/TransposerBlockEntity.java b/expansion/src/main/java/mrtjp/projectred/expansion/tile/TransposerBlockEntity.java index 0efb18a9c..328c3816b 100644 --- a/expansion/src/main/java/mrtjp/projectred/expansion/tile/TransposerBlockEntity.java +++ b/expansion/src/main/java/mrtjp/projectred/expansion/tile/TransposerBlockEntity.java @@ -8,7 +8,9 @@ import net.minecraft.core.Direction; import net.minecraft.world.WorldlyContainer; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.capabilities.ForgeCapabilities; +import net.neoforged.neoforge.capabilities.Capabilities; + +import java.util.Objects; public class TransposerBlockEntity extends BasePneumaticDeviceBlockEntity implements RedstoneConnector { @@ -57,9 +59,9 @@ private boolean importFromInventory() { } // Import from Item Handler capability - var itemCapOpt = lookup.tile.getCapability(ForgeCapabilities.ITEM_HANDLER, Direction.values()[lookup.otherDirection]); - if (itemCapOpt.isPresent()) { - var itemCap = itemCapOpt.orElseThrow(NullPointerException::new); + var level = Objects.requireNonNull(lookup.tile.getLevel()); + var itemCap = level.getCapability(Capabilities.ItemHandler.BLOCK, lookup.tile.getBlockPos(), Direction.values()[lookup.otherDirection]); + if (itemCap != null) { for (int s = 0; s < itemCap.getSlots(); s++) { var extracted = itemCap.extractItem(s, containerImportStackSize(), false); diff --git a/expansion/src/main/resources/META-INF/mods.toml b/expansion/src/main/resources/META-INF/mods.toml index 534c7cc27..ab6e4189b 100644 --- a/expansion/src/main/resources/META-INF/mods.toml +++ b/expansion/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[${lang_version},)" +loaderVersion="[2,)" issueTrackerURL="https://github.com/MrTJP/ProjectRed" license="MIT" @@ -15,32 +15,32 @@ license="MIT" Redstone. The way it was meant to be. ''' [[dependencies.projectred_expansion]] - modId="forge" - mandatory=true + modId="neoforge" + type="required" versionRange="[${forge_version},)" ordering="NONE" side="BOTH" [[dependencies.projectred_expansion]] modId="minecraft" - mandatory=true - versionRange="[1.20.1]" + type="required" + versionRange="[1.20.4]" ordering="NONE" side="BOTH" [[dependencies.projectred_expansion]] modId="codechickenlib" - mandatory=true + type="required" versionRange="[${ccl_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_expansion]] modId="cb_multipart" - mandatory=true + type="required" versionRange="[${cbm_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_expansion]] modId="projectred_core" - mandatory=true + type="required" versionRange="[${file.jarVersion},)" ordering="AFTER" side="BOTH" \ No newline at end of file diff --git a/expansion/src/main/resources/mixins.projectred.expansion.json b/expansion/src/main/resources/mixins.projectred.expansion.json index 3029d28b4..eb89522be 100644 --- a/expansion/src/main/resources/mixins.projectred.expansion.json +++ b/expansion/src/main/resources/mixins.projectred.expansion.json @@ -2,7 +2,6 @@ "required": true, "minVersion": "0.8", "package": "mrtjp.projectred.expansion.mixin", - "refmap": "mixins.projectred.expansion.refmap.json", "target": "@env(DEFAULT)", "compatibilityLevel": "JAVA_17", "client": [ diff --git a/exploration/build.gradle b/exploration/build.gradle index 2ff8a0dfd..05ad03a64 100644 --- a/exploration/build.gradle +++ b/exploration/build.gradle @@ -1,34 +1,29 @@ plugins { - id 'net.neoforged.gradle' + id 'net.neoforged.gradle.userdev' } String mod_id = 'projectred_exploration' minecraft { - mappings channel: mcp_mappings, version: mcp_mappings_version - accessTransformer = file("../core/src/main/resources/META-INF/accesstransformer.cfg") - runs { - data { - property 'mixin.env.remapRefMap', 'true' - property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + accessTransformers.file file("../core/src/main/resources/META-INF/accesstransformer.cfg") +} - ideaModule "${rootProject.name}.${project.name}.main" +runs { + data { + systemProperty 'mixin.env.remapRefMap', 'true' + systemProperty 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" - workingDirectory file('run') - args '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") - mods { - 'projectred_core' { source project(':core').sourceSets.main } - '${mod_id}' { source sourceSets.main } - } - } + workingDirectory file('run') + programArguments.addAll '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") + modSource sourceSets.main } } dependencies { - minecraft "net.neoforged:forge:${mc_version}-${forge_version}" + implementation "net.neoforged:neoforge:${forge_version}" - implementation fg.deobf("io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal") - implementation fg.deobf("io.codechicken:CBMultipart:${mc_version}-${cbm_version}:universal") + implementation "io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}" + implementation "io.codechicken:CBMultipart:${mc_version}-${cbm_version}" implementation project(":core") } diff --git a/exploration/src/main/generated/.cache/09d015dc330d59f8eec0a6dc4d86adf5d6409937 b/exploration/src/main/generated/.cache/09d015dc330d59f8eec0a6dc4d86adf5d6409937 deleted file mode 100644 index 4f9c8db64..000000000 --- a/exploration/src/main/generated/.cache/09d015dc330d59f8eec0a6dc4d86adf5d6409937 +++ /dev/null @@ -1,35 +0,0 @@ -// 1.20.1 2024-12-24T19:37:49.042697 projectred_exploration Block Loot Tables -f377cd52869f1bb40758dc52113c67c61d878b62 data/projectred_exploration/loot_tables/blocks/basalt.json -6b10d48608a3129d5d7885f5430a1f1e15b1a801 data/projectred_exploration/loot_tables/blocks/basalt_brick.json -0208b3852855ab1b7d0729980dcde806b2b17f00 data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json -061264989a77fe5d66e3ed5b3654e5f4f5dffd1b data/projectred_exploration/loot_tables/blocks/basalt_cobble.json -97ec71d4d8af5454ddb5ae9e4e4e7e49d72baae5 data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json -63339b3c8a6c6e021d1263bf7c9b0e7104e61b07 data/projectred_exploration/loot_tables/blocks/basalt_wall.json -1139f49b5c08fea0f1e9b0c60b844762fecbf508 data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json -e2ae109c6659c7709c28da431a674eb8c607bc6b data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json -ce59282023621005bfe023f7e7649eb55df8df20 data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json -90743dedec7a4cda562b906c4bb361806e25bd50 data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json -2c8b823513399fc72f285df091a59dca9efe7d23 data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json -6e2af0d13cd64325734e20b72cb13cc288a5763c data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json -1f80078186126007a55ffa3312150b02f8bcb40b data/projectred_exploration/loot_tables/blocks/electrotine_block.json -e3736d3df27fe6b845e109135612ed9856c8a0eb data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json -08fc1f6cd5af8e816cc6b635407a64f7659978ce data/projectred_exploration/loot_tables/blocks/electrotine_ore.json -fad0c3502933b945d3c8551461faf2dde43d826e data/projectred_exploration/loot_tables/blocks/marble.json -b96fe74b3cd68ed650c10d6109585a481be779bd data/projectred_exploration/loot_tables/blocks/marble_brick.json -6e05b4737ceaf7b7765ab85ead6576e700f8ab54 data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json -a8847ac135e1fd6232498b4a2d9205a5cfefcf55 data/projectred_exploration/loot_tables/blocks/marble_wall.json -bcd10a3de152e415a1f5ae9798ab640e425b2bb0 data/projectred_exploration/loot_tables/blocks/peridot_block.json -b3dc016100461c28ed1f9c91706b27fbedd567cb data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json -1c35291a40768dc61cfb8aff1f9fdbfd8643ed63 data/projectred_exploration/loot_tables/blocks/peridot_ore.json -8b79f7c34ac6e57f434776c0ee38e9971567d6cb data/projectred_exploration/loot_tables/blocks/raw_silver_block.json -da70bd8e675d2cbff62044aad2e3f1b5c51f79b6 data/projectred_exploration/loot_tables/blocks/raw_tin_block.json -ba61f0b0b1d54626377c356362fc8ca98856a2f3 data/projectred_exploration/loot_tables/blocks/ruby_block.json -77aacd814910ae9589955f5eb1384c8029bc72ee data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json -c4cb08e8ea7e7e32fb4aa2c4c484920e7a9019f2 data/projectred_exploration/loot_tables/blocks/ruby_ore.json -08633a25d21e8b5933c4dd253b1cfdafe7030dcd data/projectred_exploration/loot_tables/blocks/sapphire_block.json -89016b6428da9530bd1ec46b96ab793e87edffe9 data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json -e80459901675826889d9de14de57bc829e62fac5 data/projectred_exploration/loot_tables/blocks/sapphire_ore.json -65989d0c279840b6a7751351c3a5d898802705ae data/projectred_exploration/loot_tables/blocks/silver_block.json -34854d2e01bede100f7e67cd9507d02475f6d6f8 data/projectred_exploration/loot_tables/blocks/silver_ore.json -dcc50b58d079ebca41e9c2661fc58a999653290c data/projectred_exploration/loot_tables/blocks/tin_block.json -9d420b3e2f3226c2a7709487849463eed2f53675 data/projectred_exploration/loot_tables/blocks/tin_ore.json diff --git a/exploration/src/main/generated/.cache/fe07d4479e71b97bd5ac0800f5195045ee93364b b/exploration/src/main/generated/.cache/0a9253372a75393f668c88ccde5c10f6fabcdf81 similarity index 50% rename from exploration/src/main/generated/.cache/fe07d4479e71b97bd5ac0800f5195045ee93364b rename to exploration/src/main/generated/.cache/0a9253372a75393f668c88ccde5c10f6fabcdf81 index dfa9952a7..88d81b491 100644 --- a/exploration/src/main/generated/.cache/fe07d4479e71b97bd5ac0800f5195045ee93364b +++ b/exploration/src/main/generated/.cache/0a9253372a75393f668c88ccde5c10f6fabcdf81 @@ -1,2 +1,2 @@ -// 1.20.1 2024-09-04T10:59:19.228555 ProjectRed-Exploration Language Provider: en_us +// 1.20.4 2024-11-23T19:58:58.462573 Languages: en_us for mod: projectred_exploration 3b35694ed5565f42df808b4991567dc9246b4cbe assets/projectred_exploration/lang/en_us.json diff --git a/exploration/src/main/generated/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/exploration/src/main/generated/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 index 7823fc7f2..0de37f3aa 100644 --- a/exploration/src/main/generated/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 +++ b/exploration/src/main/generated/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -1,11 +1,11 @@ -// 1.20.1 2024-05-02T20:44:10.058531 Registries -97a9d9566938e88658a47d375bd0e2bae7f7829e data/projectred_exploration/forge/biome_modifier/add_electrotine_ore_to_overworld.json -5f408decc1342a0450a070a020338aae79a6ee65 data/projectred_exploration/forge/biome_modifier/add_marble_cave_to_overworld.json -502601ae57a9cd29e8b57fcf3bc50ae9f6168ac5 data/projectred_exploration/forge/biome_modifier/add_peridot_ore_to_overworld.json -00e94eea9249db1c0437056954a5ca50f0289029 data/projectred_exploration/forge/biome_modifier/add_ruby_ore_to_overworld.json -a8c210ada7c2775eb53cb097ce9510c778a69eb5 data/projectred_exploration/forge/biome_modifier/add_sapphire_ore_to_overworld.json -5be9342be1fe6bcd34bf37ce4acf990ffd4e718b data/projectred_exploration/forge/biome_modifier/add_silver_ore_to_overworld.json -bb9efec7aeb60ad4278b7a06c601bf56aad74c2b data/projectred_exploration/forge/biome_modifier/add_tin_ore_to_overworld.json +// 1.20.4 2024-11-23T19:58:58.477528 Registries +97a9d9566938e88658a47d375bd0e2bae7f7829e data/projectred_exploration/neoforge/biome_modifier/add_electrotine_ore_to_overworld.json +5f408decc1342a0450a070a020338aae79a6ee65 data/projectred_exploration/neoforge/biome_modifier/add_marble_cave_to_overworld.json +502601ae57a9cd29e8b57fcf3bc50ae9f6168ac5 data/projectred_exploration/neoforge/biome_modifier/add_peridot_ore_to_overworld.json +00e94eea9249db1c0437056954a5ca50f0289029 data/projectred_exploration/neoforge/biome_modifier/add_ruby_ore_to_overworld.json +a8c210ada7c2775eb53cb097ce9510c778a69eb5 data/projectred_exploration/neoforge/biome_modifier/add_sapphire_ore_to_overworld.json +5be9342be1fe6bcd34bf37ce4acf990ffd4e718b data/projectred_exploration/neoforge/biome_modifier/add_silver_ore_to_overworld.json +bb9efec7aeb60ad4278b7a06c601bf56aad74c2b data/projectred_exploration/neoforge/biome_modifier/add_tin_ore_to_overworld.json cf641c7961b1c8fba63980f1143a37e329fa6161 data/projectred_exploration/worldgen/configured_carver/marble_cave.json 5b0149656d80666adff6ee0d8154235f477c71d0 data/projectred_exploration/worldgen/configured_feature/electrotine_ore.json d8a2ef028fa4f9def86d83496c1ab51cc71e5732 data/projectred_exploration/worldgen/configured_feature/peridot_ore.json diff --git a/exploration/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5 b/exploration/src/main/generated/.cache/1d3100b3ef33796cefe365dd2ab5fffaccaab7ed similarity index 97% rename from exploration/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5 rename to exploration/src/main/generated/.cache/1d3100b3ef33796cefe365dd2ab5fffaccaab7ed index 7a665aa37..95746a547 100644 --- a/exploration/src/main/generated/.cache/99a5d1555286bf25041b61b612844755348b72f5 +++ b/exploration/src/main/generated/.cache/1d3100b3ef33796cefe365dd2ab5fffaccaab7ed @@ -1,4 +1,4 @@ -// 1.20.1 2024-07-16T21:14:45.153124 Tags for minecraft:item mod id projectred_core +// 1.20.4 2024-11-25T08:19:12.995114 Tags for minecraft:item mod id projectred_exploration d179a2e8b33551c32e1fde1f934d3c452080f4c7 data/cb_microblock/tags/items/tools/saw.json e71523a9e962242fb027bd7af5b4f6a7b7a958a4 data/forge/tags/items/ingots.json aa652ed8416a65e56e8df506616390236f05d840 data/forge/tags/items/ingots/silver.json diff --git a/exploration/src/main/generated/.cache/30ecaeb03adbe27d1b319f84eb0efc911b701acc b/exploration/src/main/generated/.cache/30ecaeb03adbe27d1b319f84eb0efc911b701acc index b11f3b4ca..c1587ab47 100644 --- a/exploration/src/main/generated/.cache/30ecaeb03adbe27d1b319f84eb0efc911b701acc +++ b/exploration/src/main/generated/.cache/30ecaeb03adbe27d1b319f84eb0efc911b701acc @@ -1,4 +1,4 @@ -// 1.20.1 2024-09-04T10:59:19.232416 Tags for minecraft:block mod id projectred_exploration +// 1.20.4 2024-11-23T19:58:58.472307 Tags for minecraft:block mod id projectred_exploration ab48eb507afbf19940589bc7ac60ddf81b1d7b12 data/forge/tags/blocks/ores.json f5e1a14a6429e644ffc9f0661838ed3892dddcaa data/forge/tags/blocks/ores/electrotine.json ce719fb9caf3444b61fdd325c978241c1cfd22ec data/forge/tags/blocks/ores/peridot.json diff --git a/exploration/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/exploration/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d new file mode 100644 index 000000000..63e00e648 --- /dev/null +++ b/exploration/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -0,0 +1,35 @@ +// 1.20.4 2024-12-28T12:13:42.888227 Loot Tables +0a0b8bb7a070856566134ffbb194fcc2349b64a2 data/projectred_exploration/loot_tables/blocks/basalt.json +26c37f715a8e6bbd33ced2cbcd458d88dfba1bb4 data/projectred_exploration/loot_tables/blocks/basalt_brick.json +eb7810f78431bf7e020a6535de9f1eb72bd5e104 data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json +fb549c46aca2f11d8e2559b66c0b89bbe96f52f4 data/projectred_exploration/loot_tables/blocks/basalt_cobble.json +ac605dcc9966b9ce1e1e8a972766dba36f7531cd data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json +d1297a4d0b162c0786d6ec9c209262b108c42398 data/projectred_exploration/loot_tables/blocks/basalt_wall.json +67cbf6a9fed26bf03a33f924ecf973d81c41a9e3 data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json +28b3885760690a85d0ff107c3453da25ddf5b13e data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json +98e205c6fa6bfa20d41cbf8a32aaff5c9369deeb data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json +0cd01e0b4534183ee0189cc8c4e529f9cc0e2897 data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json +b4fad0d1ccb5c1cfd588b8abc3cf67dc1478125d data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json +451acd60c79404febc06b49b067fa1177cc4ca16 data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json +c53a361c6e3e9e1e973b240e7fc38f00188e5d28 data/projectred_exploration/loot_tables/blocks/electrotine_block.json +633865c932bab374b10b824495e7caacfb948abc data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json +7a3db38d99181940e1e3223ac57c46cd49465bfa data/projectred_exploration/loot_tables/blocks/electrotine_ore.json +06d140660d7e0a278ad19239eb3099c0c2469d18 data/projectred_exploration/loot_tables/blocks/marble.json +45868175594662feeed3f7729a5e6e223111f009 data/projectred_exploration/loot_tables/blocks/marble_brick.json +687476fa458ceee32aaa7b127aafc8c50173b3de data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json +8209145784282e93db51e2c1bdfd842c66eaae73 data/projectred_exploration/loot_tables/blocks/marble_wall.json +0860435aa80863e1e22e078ae162330f591c5dcc data/projectred_exploration/loot_tables/blocks/peridot_block.json +3afc22ebb7e6139ce0c2b6176e8d08c6da74eb83 data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json +39ca2e913b142974337b73e98fd813a822705ba8 data/projectred_exploration/loot_tables/blocks/peridot_ore.json +27b6163f7c2722df1267068db2f9c76df47c2b04 data/projectred_exploration/loot_tables/blocks/raw_silver_block.json +d7177b34451c83d3ad2d407ad2521176caca9247 data/projectred_exploration/loot_tables/blocks/raw_tin_block.json +abb6e05f2ad11e0e4fd365ad3d19564b6b6090bd data/projectred_exploration/loot_tables/blocks/ruby_block.json +d40cc9bc0abba818c48f5377e20fe705d94cc4b3 data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json +6f55d94d3e9c7863d1f55f100851e99867573805 data/projectred_exploration/loot_tables/blocks/ruby_ore.json +b18cc3cf59fb9a82af0c1174ea44cde4f4fffc15 data/projectred_exploration/loot_tables/blocks/sapphire_block.json +c6d925776d6fe1c3c8abd23384b7cbf84b735402 data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json +700520f144c14d7744d5eb98fa4a6411a6e5bb37 data/projectred_exploration/loot_tables/blocks/sapphire_ore.json +bab6115fa82711b0e3166f0f95e19cdade00c74e data/projectred_exploration/loot_tables/blocks/silver_block.json +1fa864432f741208a209296fd4fe47cbf32e997d data/projectred_exploration/loot_tables/blocks/silver_ore.json +14ae3a0713ce17ee91a2d23aba5a35cbe97309d9 data/projectred_exploration/loot_tables/blocks/tin_block.json +8163d7b32500cb6212c8c4cafb6872dcfe41bfd4 data/projectred_exploration/loot_tables/blocks/tin_ore.json diff --git a/exploration/src/main/generated/.cache/6b84c9412d1bd687544400cc0e3b12cc81627f4c b/exploration/src/main/generated/.cache/6b84c9412d1bd687544400cc0e3b12cc81627f4c index c782f0d07..122d36cfd 100644 --- a/exploration/src/main/generated/.cache/6b84c9412d1bd687544400cc0e3b12cc81627f4c +++ b/exploration/src/main/generated/.cache/6b84c9412d1bd687544400cc0e3b12cc81627f4c @@ -1,4 +1,4 @@ -// 1.20.1 2024-05-02T16:38:18.808606 projectred_exploration Item models. +// 1.20.4 2024-11-23T19:58:58.477924 projectred_exploration Item models. 9d4eda6cefe361588d1d75676f06f0353ec66e6d assets/projectred_exploration/models/item/athame.json 14e6570eb4c8b533bcdd8d7a508fb9083cfa3166 assets/projectred_exploration/models/item/basalt.json e6ec2207092dc4571f1153302a561412bd2b2f57 assets/projectred_exploration/models/item/basalt_brick.json diff --git a/exploration/src/main/generated/.cache/81b061f8c78f7d01ca902511a501febdab7e0b84 b/exploration/src/main/generated/.cache/81b061f8c78f7d01ca902511a501febdab7e0b84 index 9b7f2898a..79451d458 100644 --- a/exploration/src/main/generated/.cache/81b061f8c78f7d01ca902511a501febdab7e0b84 +++ b/exploration/src/main/generated/.cache/81b061f8c78f7d01ca902511a501febdab7e0b84 @@ -1,102 +1,102 @@ -// 1.20.1 2024-06-22T11:08:44.190504 projectred_exploration Recipes. -516fc1e95323b31fb9ba7e0a14ebf236e38eb240 data/projectred_exploration/recipes/athame.json -c580751c155e6c97873ca79fcefd56de6adb0f79 data/projectred_exploration/recipes/backpack_dye.json -bffb872878c8c398815a8379ba3da55bdc2f403d data/projectred_exploration/recipes/basalt.json -8424ef14c64b2fcb3a047ba07205e3f506bc9841 data/projectred_exploration/recipes/basalt_brick.json -29da3a1779dce66c770a26e7ed76cbea93653a99 data/projectred_exploration/recipes/basalt_brick_wall.json -5faf0b193cdb996aeab45fd276f65d8f37cb3eb8 data/projectred_exploration/recipes/basalt_cobble_wall.json -a7b89ed7c2567ecc46f1bf9cba7ac985fe636696 data/projectred_exploration/recipes/basalt_wall.json -f4e73c4de0c9f8f76519f7060c3561d14d801c5b data/projectred_exploration/recipes/black_backpack.json -1e661c0a7f636375b4182e198270b5d7a88a2059 data/projectred_exploration/recipes/blue_backpack.json -4be73d78f75ecafefea5aa597471f53ae7dee796 data/projectred_exploration/recipes/brown_backpack.json -9885fbdf76c3ca29ba047274691c7fb73a5faea5 data/projectred_exploration/recipes/cyan_backpack.json -ef7657b6fbe71d8bacf8d133fd4f02014b10fa0f data/projectred_exploration/recipes/diamond_sickle.json -f4dfba6fd848afc45037e3461b267724df6a6f17 data/projectred_exploration/recipes/electrotine_block.json -9d1606ac50f680514a4aacc97bd3d051a205d8ad data/projectred_exploration/recipes/electrotine_block_wall.json -ea0f98150adf3119687e07a01a863f70aa5d4c57 data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json -16c57b76033ccd12cc2e7c88a2f0e879a154eaa1 data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json -649cb806f4a28e83bbf9da291c59502e0efb160c data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json -99b9e93e3456ba774e6443534a77d1d94b223802 data/projectred_exploration/recipes/gold_saw.json -612da094117b37fb571b8437a83895703c9a28b1 data/projectred_exploration/recipes/gold_sickle.json -52104f0dfd5cb8a4ac27c95a66c2b032d1424a92 data/projectred_exploration/recipes/gray_backpack.json -815dcee9a0edd3f0c28aad0462daf8055c56d390 data/projectred_exploration/recipes/green_backpack.json -417650820c985d30b49de077890af44b90cf1b95 data/projectred_exploration/recipes/iron_sickle.json -78031516e6cfcb1515be58acf6d1a273896e402b data/projectred_exploration/recipes/light_blue_backpack.json -8359f46bb1c133ef2a2566f39cb967c8cc44b795 data/projectred_exploration/recipes/light_gray_backpack.json -8fdd81913172ece1bedda794d5b1ba79544fcd5d data/projectred_exploration/recipes/lime_backpack.json -9d2fa7b429b3124747a8f15a16e1aa3c50bd119c data/projectred_exploration/recipes/magenta_backpack.json -4e114595836fa28d08d27aff8bfc742cbd06ae36 data/projectred_exploration/recipes/marble_brick.json -0ba50afd6cd5b0a2dd2b3ca86e1f2530c6e5a0f8 data/projectred_exploration/recipes/marble_brick_wall.json -42e6ec6574368ebb262cbab16f0215ce91c68b52 data/projectred_exploration/recipes/marble_wall.json -cb491c2a40e7a50098bafbfb051d68a18fa9fe6e data/projectred_exploration/recipes/orange_backpack.json -5a0a0c6ab3e93d0ae234823b48fa66829a50ef77 data/projectred_exploration/recipes/peridot_axe.json -3c6693564927d3750dc85525faf3117a19b91518 data/projectred_exploration/recipes/peridot_block.json -ed768fbd04cc5576de326f8b5c72e7ae5068f20d data/projectred_exploration/recipes/peridot_block_wall.json -b209c8cbf58357ffc79a7dbe2ce31f44f21c765e data/projectred_exploration/recipes/peridot_boots.json -efbd37926306d9b641c5762764be933535231c09 data/projectred_exploration/recipes/peridot_chestplate.json -c7d2651976143b2f2291ceafc16e7c905feb7eb8 data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json -03b60f9d5ed730a2b8fc4c41c750e6e6f7b88b40 data/projectred_exploration/recipes/peridot_from_nineblock.json -37d416a59e49c5838ccb9ae7045fdcf80dd1eb7f data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json -30baba12dc1d13afc85729b4643372ccc7427eec data/projectred_exploration/recipes/peridot_helmet.json -7f564d3c2e88fe45355c7f3b05126ec86bc8808e data/projectred_exploration/recipes/peridot_hoe.json -9914a862a6cf40b24164e5bcca5838c446a0bc96 data/projectred_exploration/recipes/peridot_leggings.json -03aee9c448917b135704b092ab133e9a04a4ad87 data/projectred_exploration/recipes/peridot_pickaxe.json -65fb8041579d9c63088e9094b0ea04835d57ad30 data/projectred_exploration/recipes/peridot_saw.json -ab328a30bb5c5f11ea3c9eabc01af037d052c881 data/projectred_exploration/recipes/peridot_shovel.json -198af25f92429514ab0517736be51cd92e7cf94f data/projectred_exploration/recipes/peridot_sickle.json -ca495e85a2bab6477dbd71fe25a8758f6e3d0e6e data/projectred_exploration/recipes/peridot_sword.json -b94fe6b34e64e736edfd8c57112e615e6133fb93 data/projectred_exploration/recipes/pink_backpack.json -ca15a8900e8340f0cda344ddcc7c7261d5b2db19 data/projectred_exploration/recipes/purple_backpack.json -d0f867fc87bfcfcb49cafc64c7727aa99c58524e data/projectred_exploration/recipes/raw_silver_block.json -4f40453e0046a71705b431de7e3d72e925de15fa data/projectred_exploration/recipes/raw_silver_from_nineblock.json -e89bb0c2515f603135f2de50d1503e343c4fd399 data/projectred_exploration/recipes/raw_tin_block.json -efee17d4f20fd8084d6fb6f4bcd098b07e722124 data/projectred_exploration/recipes/raw_tin_from_nineblock.json -653f9339f5a1fbec688aca56e01af603f561ac5b data/projectred_exploration/recipes/red_backpack.json -a5b68914ee96aed435b2ed9b72917047b820b25e data/projectred_exploration/recipes/ruby_axe.json -0e1a99055c5ec032304bf00604d6690cd3bad45d data/projectred_exploration/recipes/ruby_block.json -99913b72d89cda5de6a876ae85a7c392caf2d6cd data/projectred_exploration/recipes/ruby_block_wall.json -4e95dc82ad1fe115f989a43035028aea0fc912c7 data/projectred_exploration/recipes/ruby_boots.json -69fef73fef3ae879a7946a01f68a53ae51f20504 data/projectred_exploration/recipes/ruby_chestplate.json -6ebbdc6acee4458e3f965357f16dacaba5c5e9da data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json -a4c3ded828f16a84ed462a7f075f3c7d5a5a44d0 data/projectred_exploration/recipes/ruby_from_nineblock.json -361adb2dbcb10768f3b0f527a204ce2a25161cd7 data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json -f3af61d20ca47ea6d638aef8845805c5d113a73f data/projectred_exploration/recipes/ruby_helmet.json -cb60bec7e54cc53437ec6d2e843053379a9e6939 data/projectred_exploration/recipes/ruby_hoe.json -299c17c5d5e596104152d6cea32c611f508721b9 data/projectred_exploration/recipes/ruby_leggings.json -025e859acca3945fc4b179bf51cfb91a277ac130 data/projectred_exploration/recipes/ruby_pickaxe.json -48bb0595fac0176489c8e5b84944da030a346a87 data/projectred_exploration/recipes/ruby_saw.json -e21c149a8e296baa1a152d4b4f2cb5d9a81ac58c data/projectred_exploration/recipes/ruby_shovel.json -ec1922f37c62123832a99e58d8bd5c27067300f8 data/projectred_exploration/recipes/ruby_sickle.json -abbe60f4c3316383be8a68b924c911af2ede2b7e data/projectred_exploration/recipes/ruby_sword.json -ef7540661622fe13f8105245653abcf5fb5c272d data/projectred_exploration/recipes/sapphire_axe.json -d5146f1b60a6dfba96bd3c28efba82bd294e2d18 data/projectred_exploration/recipes/sapphire_block.json -86141365004d5c386f9fe5d836fdb6665c424ae4 data/projectred_exploration/recipes/sapphire_block_wall.json -1d7c23b61133fdacec5b977e925373c0119d6abe data/projectred_exploration/recipes/sapphire_boots.json -ad00c592bf4e699a979105e1acc2570bf22f5474 data/projectred_exploration/recipes/sapphire_chestplate.json -f6664876d8cbc02ac9a18cada605ed64136b9689 data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json -0e38188d99cdeedfa6e7ec7dbb76dac03b127ab1 data/projectred_exploration/recipes/sapphire_from_nineblock.json -d50d082ec0c097ad91a589a49f2dee6320eff332 data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json -66e0f7f3b771da2cb58bbe3908acad5f3f8d659a data/projectred_exploration/recipes/sapphire_helmet.json -ff02a876ed71626a23635e3ffe194e91b526324c data/projectred_exploration/recipes/sapphire_hoe.json -8c6c2e1aaaee480a3293f9c1b3fce876caca9075 data/projectred_exploration/recipes/sapphire_leggings.json -a8d06d879b873941da6de1d7123465a380f9a5dc data/projectred_exploration/recipes/sapphire_pickaxe.json -c76d36739ccd1b07a9434f74ea270c7c748f8a69 data/projectred_exploration/recipes/sapphire_saw.json -96f292fb6afb3beddce2d76d0b2fe223f5174b68 data/projectred_exploration/recipes/sapphire_shovel.json -ccd4b46dbbe3b9866bc8f07f0c2cc51a3806be77 data/projectred_exploration/recipes/sapphire_sickle.json -baf7ce07486fbb99345e2b66283cbbe2a62f3c23 data/projectred_exploration/recipes/sapphire_sword.json -5ec7332428e4e511cd98dbabede90ee7bf1601e3 data/projectred_exploration/recipes/silver_block.json -bfac71439cad7ef8bbba7789c792362bed9ad8e5 data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json -f670c83d005c6f2bb54cde13e6b85a673f96b6dd data/projectred_exploration/recipes/silver_ingot_from_nineblock.json -d307293a6ee47c8f47196d1b4e9622aaabe1ec28 data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json -b5264de1dc49170cd05eaca197ead4898a953c54 data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json -c8569df13ddab7a241c41d038539940331266bfa data/projectred_exploration/recipes/stone_sickle.json -aaaf54f311c8b7c0730bb52f4c14d7b4587a50de data/projectred_exploration/recipes/string_from_wool_gin.json -4ad1a7ffbc49f03f4c2bf283750545780351b261 data/projectred_exploration/recipes/tin_block.json -02fa62056d8d69555bd81075265cef8373c9e28d data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json -3d679e8e776418981c57e29e3b6d2909b8fa4624 data/projectred_exploration/recipes/tin_ingot_from_nineblock.json -a8b49d5b4a38d5f2f3a0fa1a41e5c0881c1284a1 data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json -88d663776697ca2996d58d97ef2c5bc94829ea8b data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json -cb98188ef77b9420ff33b16eb36533e26267b803 data/projectred_exploration/recipes/white_backpack.json -38dbf984da79493395fbaceda5f359cd9a262793 data/projectred_exploration/recipes/wood_sickle.json -571f740df980fb4f565ca1bde50e7a32cc2adf40 data/projectred_exploration/recipes/wool_gin.json -344ed363e368115ba5de67c1b252e936d9fff949 data/projectred_exploration/recipes/yellow_backpack.json +// 1.20.4 2024-11-23T19:58:58.465808 projectred_exploration Recipes. +e214ae6784f803bdc14a13b0ce8a699feca50df4 data/projectred_exploration/recipes/athame.json +ff770c527d98321aaadaca1451df68f098bad744 data/projectred_exploration/recipes/backpack_dye.json +3ca19de04c6fe31b2d3ebcb990d79dc188d748f7 data/projectred_exploration/recipes/basalt.json +b5a455f65e9de0c0b0423005e8305f15a34860d0 data/projectred_exploration/recipes/basalt_brick.json +29892af1faeb9eebc5787f2ce6f01898b01453a2 data/projectred_exploration/recipes/basalt_brick_wall.json +125fac365b2535b9c92d5c21362c5c663fc152ae data/projectred_exploration/recipes/basalt_cobble_wall.json +e3d3e657da01be0ec6d5768116e08b552bf11aae data/projectred_exploration/recipes/basalt_wall.json +ac495893610e823d2b195671d964d7da69c7c4ce data/projectred_exploration/recipes/black_backpack.json +0133b775b3b10a63cec2d32632c8afabd5b75758 data/projectred_exploration/recipes/blue_backpack.json +240f9b528e8bd9e178b4a4adc214f9ad43ca4220 data/projectred_exploration/recipes/brown_backpack.json +8be92c4d7446fca2fd919cf734c576d8c445c933 data/projectred_exploration/recipes/cyan_backpack.json +cf487ada5f2a52b413ad34932247d36dffb31767 data/projectred_exploration/recipes/diamond_sickle.json +791c6c860db7c9c5d485f5a25b7466283b8e4ec5 data/projectred_exploration/recipes/electrotine_block.json +df3b86d30afa6518e5ad8b2aeea4040d348c0caa data/projectred_exploration/recipes/electrotine_block_wall.json +dbe8f7607ce1b840fbf135c138438abbfa551e93 data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json +2e88feb4b91e844f5449b4740e2aaecac20d0144 data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json +2bc45897dee12409d0e9b3b1f655784926721239 data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json +5c2cbb1a480cd20452e756f89aad51c41d26495f data/projectred_exploration/recipes/gold_saw.json +ea0f7b26f47bb6c0c0567f21aefbbe49aa5d1239 data/projectred_exploration/recipes/gold_sickle.json +00d79fe082341c7a3fba9269744c610df72563a0 data/projectred_exploration/recipes/gray_backpack.json +6571c0faa1b860afb4f149af6c3cd45df476409b data/projectred_exploration/recipes/green_backpack.json +529683e82f73ffb8e5305f0460938ff383c769cb data/projectred_exploration/recipes/iron_sickle.json +99c12f8fe55e8fd6c754e3e914866fc686c5ca8c data/projectred_exploration/recipes/light_blue_backpack.json +7c9019408da4c771447784c590fd91f06c6ea148 data/projectred_exploration/recipes/light_gray_backpack.json +3b98faf073fa7b19288e8a6072070449674187f3 data/projectred_exploration/recipes/lime_backpack.json +2f05506dbcff46606b7d0a648f41fa23e7f3a735 data/projectred_exploration/recipes/magenta_backpack.json +94a6a9d49b23aac7c114464b7c5cec9aa757c116 data/projectred_exploration/recipes/marble_brick.json +71d4847949966ed55fb1a0bdcbb2b809422f32c6 data/projectred_exploration/recipes/marble_brick_wall.json +03f72dd01492d25dd2cf78109ed8e089c74babd4 data/projectred_exploration/recipes/marble_wall.json +fcb3d1af2ecf354b148b70e09ea4d29f6bea5c08 data/projectred_exploration/recipes/orange_backpack.json +f7493dd90413f40f3116c85c913245c6173c220f data/projectred_exploration/recipes/peridot_axe.json +c713682cb9d815a87075d93a62dd5fdf181f8d90 data/projectred_exploration/recipes/peridot_block.json +f8fb693836d36a2d7c042970aac24f84c30ccc80 data/projectred_exploration/recipes/peridot_block_wall.json +c5c35fc02fbc94629cf73bb4bef45387aaf7ed37 data/projectred_exploration/recipes/peridot_boots.json +dc462e532012390741724ccabd1f29d26970901c data/projectred_exploration/recipes/peridot_chestplate.json +131f7d9b4adfa2a1eece3c059c02fdd56d78a10d data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json +ea35f3b6704a0025f27374a983e77eab31232bc9 data/projectred_exploration/recipes/peridot_from_nineblock.json +73a0f852a24a8260b6617900b9464a03c3b189fd data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json +3fef73982712847249689f857c8f96ff83caf231 data/projectred_exploration/recipes/peridot_helmet.json +a1903fe53f29c4725aa92e61cf271d391d298259 data/projectred_exploration/recipes/peridot_hoe.json +89fbf71fd4535205b35216aa0820cb4871f4b3c9 data/projectred_exploration/recipes/peridot_leggings.json +c2f125a0d9c7f92e31692dbf355e9a29f4ae0015 data/projectred_exploration/recipes/peridot_pickaxe.json +3c88fc626528dcdd43f7bad7e68e979506da456d data/projectred_exploration/recipes/peridot_saw.json +ddb3d303eb1021e6cd6bc51ebbe3dcda1eda2826 data/projectred_exploration/recipes/peridot_shovel.json +2f7b48a677aabd91fb6cf480ced6fa86e9235303 data/projectred_exploration/recipes/peridot_sickle.json +eb69ddcedcafccad928df4c4436b1cfdd83f3a4b data/projectred_exploration/recipes/peridot_sword.json +ad3a6b8cae02e508d4a436bdb64b95a424f3d36c data/projectred_exploration/recipes/pink_backpack.json +5d482b4ee675a328b4253277de7982140d5359f1 data/projectred_exploration/recipes/purple_backpack.json +61c8382ef6981cb0f10a35ae467f94b27a6b6f2a data/projectred_exploration/recipes/raw_silver_block.json +661861421c72aa6cf3caa2f70e0461ce15a34faf data/projectred_exploration/recipes/raw_silver_from_nineblock.json +cfb30fc579040abc457fd7b4acd55fab816ad083 data/projectred_exploration/recipes/raw_tin_block.json +82d16f178e8fbd1c696c8050a01a3166bfb5b1df data/projectred_exploration/recipes/raw_tin_from_nineblock.json +538e390d4b22149b95615242b8158f7b379570d4 data/projectred_exploration/recipes/red_backpack.json +9161d13aa841a2e474febd3bbfa33da56b462e42 data/projectred_exploration/recipes/ruby_axe.json +9dd3366e1b793768ad8d5a8b45c5fcd975647bab data/projectred_exploration/recipes/ruby_block.json +fd58d63fe1faff73b18d661e699501e4231bd625 data/projectred_exploration/recipes/ruby_block_wall.json +4d1963ea707d066f0d0eb2cbb7ff1df3218c1140 data/projectred_exploration/recipes/ruby_boots.json +05a8b0aaa526620e80af290b892ddcc32a83de96 data/projectred_exploration/recipes/ruby_chestplate.json +e4389a690a77647767e8a7d224422077da8e3331 data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json +e8ede87f8e77d1546ab818c45b35f407a0e2d4ba data/projectred_exploration/recipes/ruby_from_nineblock.json +5a36c46cd3a8640de3fe7742f874dea5ebe55199 data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json +25dc3ad0370d8a93c69b3f48e9ca7295a083368e data/projectred_exploration/recipes/ruby_helmet.json +b8c2ec8d49c235a02656ceffd0c0abdc4da5f9df data/projectred_exploration/recipes/ruby_hoe.json +413395459efa5760cafb5a2101f9585183bbf77c data/projectred_exploration/recipes/ruby_leggings.json +ece44bcf2fa32d6c3bc50cf57fa343f10c687e79 data/projectred_exploration/recipes/ruby_pickaxe.json +237f8893909db7fa84aa04d239168836cc759fd3 data/projectred_exploration/recipes/ruby_saw.json +214a10d9d3c31aac948d41a6822fa16e9e649f22 data/projectred_exploration/recipes/ruby_shovel.json +d70309423fa042b4ff74eb9f15e0b2ab910e3c9a data/projectred_exploration/recipes/ruby_sickle.json +61b965e4f8c388545082b79e17663aa00e74d703 data/projectred_exploration/recipes/ruby_sword.json +d8d92ed7a74c8810710477b7e3866411bedf6c90 data/projectred_exploration/recipes/sapphire_axe.json +69164aff16dab6a88308509686d731c32bc3da3e data/projectred_exploration/recipes/sapphire_block.json +965b9cfd3f5b70d669acbaae33e6f80a356f28b8 data/projectred_exploration/recipes/sapphire_block_wall.json +668f2669e2e3d16afe4c5205751a45561d6919f7 data/projectred_exploration/recipes/sapphire_boots.json +5954d077004b4c52091d15c46fb9c3ce077b5aad data/projectred_exploration/recipes/sapphire_chestplate.json +810195c8c10b9c74b54acd92c49f7abe1219adca data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json +a4a6cab84ba5c0393c4f60e39487c166ad21146f data/projectred_exploration/recipes/sapphire_from_nineblock.json +bacd09a758a052be0aae4acef1c653deaf5979de data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json +4d63186d2b5b86ce0a2f96729efc0726debe5704 data/projectred_exploration/recipes/sapphire_helmet.json +7a4d6f38442cf2917708b478c4568bec04726810 data/projectred_exploration/recipes/sapphire_hoe.json +379a54fcb5a315cd21357706d38c36087c6d0831 data/projectred_exploration/recipes/sapphire_leggings.json +7e12afdf777a7a6df25969a027ff49478c6e0dc0 data/projectred_exploration/recipes/sapphire_pickaxe.json +356e57793e63b1ccf8834dc59b29b3968d3a9a06 data/projectred_exploration/recipes/sapphire_saw.json +9c98efaa696c354e263d0b2b7dd2df88d4144ce0 data/projectred_exploration/recipes/sapphire_shovel.json +fe84801421b0c85f31f1300c8cd99a42e2a8196a data/projectred_exploration/recipes/sapphire_sickle.json +c687bc5fa85f68eba1e349ebcc53d2e1c524d4a8 data/projectred_exploration/recipes/sapphire_sword.json +83977b0b6f65cc355576a0fade0551828517ff89 data/projectred_exploration/recipes/silver_block.json +e4709673a248da0da781c025e3bc17898de97e68 data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json +94a9cbb50b15c379c79ca779f64e27edb12c5039 data/projectred_exploration/recipes/silver_ingot_from_nineblock.json +971c3fad6dc0f27269768991cbc6c2794ee78635 data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json +bc61f1a837fd93c058ebb91b209db4da8e385cf7 data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json +812b76edfa0c109ce0096a7546b8a7294e4eddfe data/projectred_exploration/recipes/stone_sickle.json +09f22ad3e69f689e61147e22f156736b0eec3e4c data/projectred_exploration/recipes/string_from_wool_gin.json +6f4d63467d9c4bdd03de5e068f68fffc61f1618b data/projectred_exploration/recipes/tin_block.json +77db6a752f18d8cecb2da38d0ab4cca1d2b93499 data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json +3315e63dddafcf68dcf29679a34e20da5529d93b data/projectred_exploration/recipes/tin_ingot_from_nineblock.json +e89cad19108f701f68a1c1a2d90b4661d81351ed data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json +db30ddf508264f303ea9b93fac8966578cfd03ec data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json +ad3e6ff337010cfa10e986472705698867e1646c data/projectred_exploration/recipes/white_backpack.json +3779d4f4d951e78864d6036139e87f50a7b96458 data/projectred_exploration/recipes/wood_sickle.json +7b3f57d0b29eb5eb334fd1cfb2379cda09506432 data/projectred_exploration/recipes/wool_gin.json +67571bf17cb23fcc289ff146923694d46528b569 data/projectred_exploration/recipes/yellow_backpack.json diff --git a/exploration/src/main/generated/.cache/d9c1e35ddba8a1b293edd840b666d1c4118383a9 b/exploration/src/main/generated/.cache/d9c1e35ddba8a1b293edd840b666d1c4118383a9 index 71e40c8b0..2a7db055d 100644 --- a/exploration/src/main/generated/.cache/d9c1e35ddba8a1b293edd840b666d1c4118383a9 +++ b/exploration/src/main/generated/.cache/d9c1e35ddba8a1b293edd840b666d1c4118383a9 @@ -1,4 +1,4 @@ -// 1.20.1 2024-05-02T16:38:18.803185 ProjectRed-Exploration Block State Models +// 1.20.4 2024-11-23T19:58:58.473226 ProjectRed-Exploration Block State Models 712e68fe8499682bd75aa6d0d410c4f07401c48f assets/projectred_exploration/blockstates/basalt.json 3d825a3f24d6944a5f9e1f5134d6070c3af075d4 assets/projectred_exploration/blockstates/basalt_brick.json addfaa1bcf6d5801accfbd4c60731ab0d5e5a926 assets/projectred_exploration/blockstates/basalt_brick_wall.json diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt.json index 0b2fe7dea..911b68d49 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/basalt" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick.json index 2de297ecf..80349986d 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/basalt_brick" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json index 2ea4a083f..2b04d18ff 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_brick_wall.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/basalt_brick_wall" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble.json index 7be373b1b..d53136d16 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/basalt_cobble" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json index e4b7ae91f..cbacfac84 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_cobble_wall.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/basalt_cobble_wall" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_wall.json index 9063e49fb..96f0f9255 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/basalt_wall.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/basalt_wall" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json index b0cd89186..2299744b1 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_electrotine_ore.json @@ -42,6 +42,9 @@ "enchantment": "minecraft:fortune", "formula": "minecraft:ore_drops", "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" } ], "name": "projectred_core:electrotine_dust" @@ -51,5 +54,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/deepslate_electrotine_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json index 3c297eea5..01a52eb28 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_peridot_ore.json @@ -42,6 +42,9 @@ "enchantment": "minecraft:fortune", "formula": "minecraft:ore_drops", "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" } ], "name": "projectred_core:peridot" @@ -51,5 +54,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/deepslate_peridot_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json index 48db24b09..23ea15dfa 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_ruby_ore.json @@ -42,6 +42,9 @@ "enchantment": "minecraft:fortune", "formula": "minecraft:ore_drops", "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" } ], "name": "projectred_core:ruby" @@ -51,5 +54,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/deepslate_ruby_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json index e34ad44bf..7566cdb32 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_sapphire_ore.json @@ -42,6 +42,9 @@ "enchantment": "minecraft:fortune", "formula": "minecraft:ore_drops", "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" } ], "name": "projectred_core:sapphire" @@ -51,5 +54,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/deepslate_sapphire_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json index 40bacd9a9..783357b74 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_silver_ore.json @@ -28,6 +28,16 @@ }, { "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], "name": "projectred_exploration:raw_silver" } ] @@ -35,5 +45,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/deepslate_silver_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json index bd195dc7f..476260c1a 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/deepslate_tin_ore.json @@ -28,6 +28,16 @@ }, { "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], "name": "projectred_exploration:raw_tin" } ] @@ -35,5 +45,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/deepslate_tin_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block.json index 8cce42296..913958458 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/electrotine_block" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json index 42108ee2b..0607733f9 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_block_wall.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/electrotine_block_wall" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_ore.json index 757b2d4a5..17cb528d6 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/electrotine_ore.json @@ -42,6 +42,9 @@ "enchantment": "minecraft:fortune", "formula": "minecraft:ore_drops", "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" } ], "name": "projectred_core:electrotine_dust" @@ -51,5 +54,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/electrotine_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble.json index da4fd8415..5d0e40853 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/marble" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick.json index 53a80e67b..81a150fd5 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/marble_brick" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json index fd603244f..81f19792d 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_brick_wall.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/marble_brick_wall" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_wall.json index ff756e75f..d04435dee 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/marble_wall.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/marble_wall" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block.json index 1ef4fcf35..381aa46cc 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/peridot_block" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json index 433d400f7..a113b9c4b 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_block_wall.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/peridot_block_wall" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_ore.json index 8d3bbac0c..d715272ec 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/peridot_ore.json @@ -42,6 +42,9 @@ "enchantment": "minecraft:fortune", "formula": "minecraft:ore_drops", "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" } ], "name": "projectred_core:peridot" @@ -51,5 +54,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/peridot_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_silver_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_silver_block.json index 1b477b3a0..748ebe603 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_silver_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_silver_block.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/raw_silver_block" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_tin_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_tin_block.json index 5ccb212a2..1a5383a6f 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_tin_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/raw_tin_block.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/raw_tin_block" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block.json index fc7606ea0..0120d0b64 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/ruby_block" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json index 493bf3fc4..6101eeaf9 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_block_wall.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/ruby_block_wall" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_ore.json index ef51c7e99..ba5d7c365 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/ruby_ore.json @@ -42,6 +42,9 @@ "enchantment": "minecraft:fortune", "formula": "minecraft:ore_drops", "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" } ], "name": "projectred_core:ruby" @@ -51,5 +54,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/ruby_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block.json index 46ebda96a..9bcede215 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/sapphire_block" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json index 43d85f767..b1982690c 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_block_wall.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/sapphire_block_wall" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_ore.json index 6141681e3..2f5bb1570 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/sapphire_ore.json @@ -42,6 +42,9 @@ "enchantment": "minecraft:fortune", "formula": "minecraft:ore_drops", "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" } ], "name": "projectred_core:sapphire" @@ -51,5 +54,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/sapphire_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_block.json index 2653dbba9..24215545a 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_block.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/silver_block" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_ore.json index b60cc90ed..285e186f9 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/silver_ore.json @@ -28,6 +28,16 @@ }, { "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], "name": "projectred_exploration:raw_silver" } ] @@ -35,5 +45,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/silver_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_block.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_block.json index a59dc157c..fa8c576e8 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_block.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/tin_block" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_ore.json b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_ore.json index 164eb194a..3b6d6c3d8 100644 --- a/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_ore.json +++ b/exploration/src/main/generated/data/projectred_exploration/loot_tables/blocks/tin_ore.json @@ -28,6 +28,16 @@ }, { "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops", + "function": "minecraft:apply_bonus" + }, + { + "function": "minecraft:explosion_decay" + } + ], "name": "projectred_exploration:raw_tin" } ] @@ -35,5 +45,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_exploration:blocks/tin_ore" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_electrotine_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_electrotine_ore_to_overworld.json similarity index 100% rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_electrotine_ore_to_overworld.json rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_electrotine_ore_to_overworld.json diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_marble_cave_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_marble_cave_to_overworld.json similarity index 100% rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_marble_cave_to_overworld.json rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_marble_cave_to_overworld.json diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_peridot_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_peridot_ore_to_overworld.json similarity index 100% rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_peridot_ore_to_overworld.json rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_peridot_ore_to_overworld.json diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_ruby_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_ruby_ore_to_overworld.json similarity index 100% rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_ruby_ore_to_overworld.json rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_ruby_ore_to_overworld.json diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_sapphire_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_sapphire_ore_to_overworld.json similarity index 100% rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_sapphire_ore_to_overworld.json rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_sapphire_ore_to_overworld.json diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_silver_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_silver_ore_to_overworld.json similarity index 100% rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_silver_ore_to_overworld.json rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_silver_ore_to_overworld.json diff --git a/exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_tin_ore_to_overworld.json b/exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_tin_ore_to_overworld.json similarity index 100% rename from exploration/src/main/generated/data/projectred_exploration/forge/biome_modifier/add_tin_ore_to_overworld.json rename to exploration/src/main/generated/data/projectred_exploration/neoforge/biome_modifier/add_tin_ore_to_overworld.json diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/athame.json b/exploration/src/main/generated/data/projectred_exploration/recipes/athame.json index 679678e48..64c8c3235 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/athame.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/athame.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:ingots/silver" @@ -13,7 +14,6 @@ "W" ], "result": { - "item": "projectred_exploration:athame", - "nbt": "{Damage:0}" + "item": "projectred_exploration:athame" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/backpack_dye.json b/exploration/src/main/generated/data/projectred_exploration/recipes/backpack_dye.json index 6ad4a4b5f..43a8fc346 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/backpack_dye.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/backpack_dye.json @@ -1,3 +1,4 @@ { - "type": "projectred_exploration:backpack_dye" + "type": "projectred_exploration:backpack_dye", + "category": "misc" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt.json b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt.json index 5d45d888f..60b26d6b5 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.1, "ingredient": { "item": "projectred_exploration:basalt_cobble" }, - "result": { - "item": "projectred_exploration:basalt" - } + "result": "projectred_exploration:basalt" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick.json b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick.json index 93a662030..05cbfa179 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_exploration:basalt" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick_wall.json index daffa6129..a7e5839b6 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_brick_wall.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "item": "projectred_exploration:basalt_brick" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_cobble_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_cobble_wall.json index 20b3f7a4e..418f9d418 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_cobble_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_cobble_wall.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "item": "projectred_exploration:basalt_cobble" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_wall.json index 51db9ab98..2b759988d 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/basalt_wall.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:stone/basalt" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/black_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/black_backpack.json index c2ea3641a..66446bc99 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/black_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/black_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/blue_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/blue_backpack.json index f51d76524..cc651b847 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/blue_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/blue_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/brown_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/brown_backpack.json index 2feb97ca8..62b18270f 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/brown_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/brown_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/cyan_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/cyan_backpack.json index 98ae1053a..e06dd3d70 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/cyan_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/cyan_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/diamond_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/diamond_sickle.json index fda42f8f6..1e4719e61 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/diamond_sickle.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/diamond_sickle.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/diamond" @@ -14,7 +15,6 @@ "SM " ], "result": { - "item": "projectred_exploration:diamond_sickle", - "nbt": "{Damage:0}" + "item": "projectred_exploration:diamond_sickle" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block.json index 0332a61a0..7f4a8687d 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:dusts/electrotine" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block_wall.json index 281dcc79f..9d4e5e4ae 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_block_wall.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:storage_blocks/electrotine" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json index 6aac6e127..279886bf3 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_deepslate_electrotine_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.7, "ingredient": { "item": "projectred_exploration:deepslate_electrotine_ore" }, - "result": { - "item": "projectred_core:electrotine_dust" - } + "result": "projectred_core:electrotine_dust" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json index 79645fd8e..7fcf00873 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_electrotine_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.7, "ingredient": { "item": "projectred_exploration:electrotine_ore" }, - "result": { - "item": "projectred_core:electrotine_dust" - } + "result": "projectred_core:electrotine_dust" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json index c5ac14da6..e076e110d 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/electrotine_dust_from_nineblock.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "item": "projectred_exploration:electrotine_block" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/gold_saw.json b/exploration/src/main/generated/data/projectred_exploration/recipes/gold_saw.json index eaded20bc..352c72cb5 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/gold_saw.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/gold_saw.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:ingots/gold" @@ -16,7 +17,6 @@ "SMM" ], "result": { - "item": "projectred_exploration:gold_saw", - "nbt": "{Damage:0}" + "item": "projectred_exploration:gold_saw" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/gold_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/gold_sickle.json index 8b1f7b549..36ba3fd4e 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/gold_sickle.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/gold_sickle.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:ingots/gold" @@ -14,7 +15,6 @@ "SM " ], "result": { - "item": "projectred_exploration:gold_sickle", - "nbt": "{Damage:0}" + "item": "projectred_exploration:gold_sickle" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/gray_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/gray_backpack.json index 100cb2de5..3455c8c28 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/gray_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/gray_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/green_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/green_backpack.json index 72a883754..1d2d5d0a5 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/green_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/green_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/iron_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/iron_sickle.json index 970ecbfb7..9ce365d97 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/iron_sickle.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/iron_sickle.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:ingots/iron" @@ -14,7 +15,6 @@ "SM " ], "result": { - "item": "projectred_exploration:iron_sickle", - "nbt": "{Damage:0}" + "item": "projectred_exploration:iron_sickle" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/light_blue_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/light_blue_backpack.json index 627a68591..7a1472cb9 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/light_blue_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/light_blue_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/light_gray_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/light_gray_backpack.json index c418168bb..997473820 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/light_gray_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/light_gray_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/lime_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/lime_backpack.json index 9c1785bba..92ea3d0e1 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/lime_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/lime_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/magenta_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/magenta_backpack.json index c2ed6f820..acf60fa1f 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/magenta_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/magenta_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick.json b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick.json index bf2fe3e39..dcfb48457 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_exploration:marble" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick_wall.json index b94eb749d..f36fbef62 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_brick_wall.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "item": "projectred_exploration:marble_brick" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_wall.json index ba677a9a3..2ca024517 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/marble_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/marble_wall.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:stone/marble" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/orange_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/orange_backpack.json index be4ecff92..f591fe193 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/orange_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/orange_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_axe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_axe.json index 7f859a730..ee01199cf 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_axe.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_axe.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/peridot" @@ -14,7 +15,6 @@ " S" ], "result": { - "item": "projectred_exploration:peridot_axe", - "nbt": "{Damage:0}" + "item": "projectred_exploration:peridot_axe" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block.json index c4c118a0b..9ad8936bf 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:gems/peridot" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block_wall.json index ab5c55d54..16cf38580 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_block_wall.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:storage_blocks/peridot" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_boots.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_boots.json index 9a619aaa9..600658904 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_boots.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_boots.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/peridot" @@ -10,7 +11,6 @@ "M M" ], "result": { - "item": "projectred_exploration:peridot_boots", - "nbt": "{Damage:0}" + "item": "projectred_exploration:peridot_boots" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_chestplate.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_chestplate.json index eedab5e75..18c548e9b 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_chestplate.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_chestplate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/peridot" @@ -11,7 +12,6 @@ "MMM" ], "result": { - "item": "projectred_exploration:peridot_chestplate", - "nbt": "{Damage:0}" + "item": "projectred_exploration:peridot_chestplate" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json index d2becde99..14a1a78c9 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_deepslate_peridot_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 1.0, "ingredient": { "item": "projectred_exploration:deepslate_peridot_ore" }, - "result": { - "item": "projectred_core:peridot" - } + "result": "projectred_core:peridot" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_nineblock.json index 3bcdc0ccb..ea9760eaf 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_nineblock.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_nineblock.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "item": "projectred_exploration:peridot_block" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json index dff9c2b4d..731975de9 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_from_peridot_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 1.0, "ingredient": { "item": "projectred_exploration:peridot_ore" }, - "result": { - "item": "projectred_core:peridot" - } + "result": "projectred_core:peridot" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_helmet.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_helmet.json index 66dd63f84..8daeb0154 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_helmet.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_helmet.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/peridot" @@ -10,7 +11,6 @@ "M M" ], "result": { - "item": "projectred_exploration:peridot_helmet", - "nbt": "{Damage:0}" + "item": "projectred_exploration:peridot_helmet" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_hoe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_hoe.json index f916b765f..b01035724 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_hoe.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_hoe.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/peridot" @@ -14,7 +15,6 @@ " S" ], "result": { - "item": "projectred_exploration:peridot_hoe", - "nbt": "{Damage:0}" + "item": "projectred_exploration:peridot_hoe" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_leggings.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_leggings.json index a72b802b8..a8c17e152 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_leggings.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_leggings.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/peridot" @@ -11,7 +12,6 @@ "M M" ], "result": { - "item": "projectred_exploration:peridot_leggings", - "nbt": "{Damage:0}" + "item": "projectred_exploration:peridot_leggings" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_pickaxe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_pickaxe.json index 0cf5115d6..dd85b1137 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_pickaxe.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_pickaxe.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/peridot" @@ -14,7 +15,6 @@ " S " ], "result": { - "item": "projectred_exploration:peridot_pickaxe", - "nbt": "{Damage:0}" + "item": "projectred_exploration:peridot_pickaxe" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_saw.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_saw.json index 70ac1799b..870566596 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_saw.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_saw.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/peridot" @@ -16,7 +17,6 @@ "SMM" ], "result": { - "item": "projectred_exploration:peridot_saw", - "nbt": "{Damage:0}" + "item": "projectred_exploration:peridot_saw" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_shovel.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_shovel.json index 266ecd187..55e0e5d84 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_shovel.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_shovel.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/peridot" @@ -14,7 +15,6 @@ "S" ], "result": { - "item": "projectred_exploration:peridot_shovel", - "nbt": "{Damage:0}" + "item": "projectred_exploration:peridot_shovel" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sickle.json index d992ca683..3be13b077 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sickle.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sickle.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/peridot" @@ -14,7 +15,6 @@ "SM " ], "result": { - "item": "projectred_exploration:peridot_sickle", - "nbt": "{Damage:0}" + "item": "projectred_exploration:peridot_sickle" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sword.json b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sword.json index 85718ff7f..42a859c1c 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sword.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/peridot_sword.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/peridot" @@ -14,7 +15,6 @@ "S" ], "result": { - "item": "projectred_exploration:peridot_sword", - "nbt": "{Damage:0}" + "item": "projectred_exploration:peridot_sword" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/pink_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/pink_backpack.json index 0096b6cf6..e6587062e 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/pink_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/pink_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/purple_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/purple_backpack.json index e28b5b12c..74a101d15 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/purple_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/purple_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_block.json index 4b6d4768f..cfad73f01 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_block.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:raw_materials/silver" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_from_nineblock.json index 6686cf1a9..dd3ec507d 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_from_nineblock.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_silver_from_nineblock.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "item": "projectred_exploration:raw_silver_block" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_block.json index b050953a2..e4c71ce5d 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_block.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:raw_materials/tin" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_from_nineblock.json index 3082f0d27..b49641a03 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_from_nineblock.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/raw_tin_from_nineblock.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "item": "projectred_exploration:raw_tin_block" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/red_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/red_backpack.json index 9b18b5dcd..bee4e11b5 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/red_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/red_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_axe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_axe.json index 1dc0475d2..25ce8e4de 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_axe.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_axe.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/ruby" @@ -14,7 +15,6 @@ " S" ], "result": { - "item": "projectred_exploration:ruby_axe", - "nbt": "{Damage:0}" + "item": "projectred_exploration:ruby_axe" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block.json index a2968672b..b056f3439 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:gems/ruby" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block_wall.json index 35ad35fc7..1458fff4e 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_block_wall.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:storage_blocks/ruby" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_boots.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_boots.json index ec48f77cd..aa5346663 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_boots.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_boots.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/ruby" @@ -10,7 +11,6 @@ "M M" ], "result": { - "item": "projectred_exploration:ruby_boots", - "nbt": "{Damage:0}" + "item": "projectred_exploration:ruby_boots" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_chestplate.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_chestplate.json index 06e4b23fc..138a5aab3 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_chestplate.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_chestplate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/ruby" @@ -11,7 +12,6 @@ "MMM" ], "result": { - "item": "projectred_exploration:ruby_chestplate", - "nbt": "{Damage:0}" + "item": "projectred_exploration:ruby_chestplate" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json index 07c312592..ec955fd21 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_deepslate_ruby_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 1.0, "ingredient": { "item": "projectred_exploration:deepslate_ruby_ore" }, - "result": { - "item": "projectred_core:ruby" - } + "result": "projectred_core:ruby" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_nineblock.json index 656581b95..079ca579a 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_nineblock.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_nineblock.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "item": "projectred_exploration:ruby_block" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json index acb2aacfe..9e59bb320 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_from_ruby_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 1.0, "ingredient": { "item": "projectred_exploration:ruby_ore" }, - "result": { - "item": "projectred_core:ruby" - } + "result": "projectred_core:ruby" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_helmet.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_helmet.json index 14b19f6dc..097a97bc1 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_helmet.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_helmet.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/ruby" @@ -10,7 +11,6 @@ "M M" ], "result": { - "item": "projectred_exploration:ruby_helmet", - "nbt": "{Damage:0}" + "item": "projectred_exploration:ruby_helmet" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_hoe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_hoe.json index e429fa5ae..9c315743a 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_hoe.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_hoe.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/ruby" @@ -14,7 +15,6 @@ " S" ], "result": { - "item": "projectred_exploration:ruby_hoe", - "nbt": "{Damage:0}" + "item": "projectred_exploration:ruby_hoe" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_leggings.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_leggings.json index 62fb20602..1d2e9bdff 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_leggings.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_leggings.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/ruby" @@ -11,7 +12,6 @@ "M M" ], "result": { - "item": "projectred_exploration:ruby_leggings", - "nbt": "{Damage:0}" + "item": "projectred_exploration:ruby_leggings" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_pickaxe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_pickaxe.json index e334bff3b..2ac295801 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_pickaxe.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_pickaxe.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/ruby" @@ -14,7 +15,6 @@ " S " ], "result": { - "item": "projectred_exploration:ruby_pickaxe", - "nbt": "{Damage:0}" + "item": "projectred_exploration:ruby_pickaxe" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_saw.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_saw.json index 1ac1e29fb..c07935c30 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_saw.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_saw.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/ruby" @@ -16,7 +17,6 @@ "SMM" ], "result": { - "item": "projectred_exploration:ruby_saw", - "nbt": "{Damage:0}" + "item": "projectred_exploration:ruby_saw" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_shovel.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_shovel.json index 48e786f91..b0d5cbba6 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_shovel.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_shovel.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/ruby" @@ -14,7 +15,6 @@ "S" ], "result": { - "item": "projectred_exploration:ruby_shovel", - "nbt": "{Damage:0}" + "item": "projectred_exploration:ruby_shovel" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sickle.json index c9f33c45c..c8307f88e 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sickle.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sickle.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/ruby" @@ -14,7 +15,6 @@ "SM " ], "result": { - "item": "projectred_exploration:ruby_sickle", - "nbt": "{Damage:0}" + "item": "projectred_exploration:ruby_sickle" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sword.json b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sword.json index 62b49b583..3b863fb33 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sword.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/ruby_sword.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/ruby" @@ -14,7 +15,6 @@ "S" ], "result": { - "item": "projectred_exploration:ruby_sword", - "nbt": "{Damage:0}" + "item": "projectred_exploration:ruby_sword" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_axe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_axe.json index cea02c52f..fac0a534c 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_axe.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_axe.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/sapphire" @@ -14,7 +15,6 @@ " S" ], "result": { - "item": "projectred_exploration:sapphire_axe", - "nbt": "{Damage:0}" + "item": "projectred_exploration:sapphire_axe" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block.json index 153f2feab..5946f6478 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:gems/sapphire" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block_wall.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block_wall.json index 63980d01e..7a641622e 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block_wall.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_block_wall.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:storage_blocks/sapphire" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_boots.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_boots.json index 680d65e89..c81a921c8 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_boots.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_boots.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/sapphire" @@ -10,7 +11,6 @@ "M M" ], "result": { - "item": "projectred_exploration:sapphire_boots", - "nbt": "{Damage:0}" + "item": "projectred_exploration:sapphire_boots" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_chestplate.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_chestplate.json index a21c39101..940aae486 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_chestplate.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_chestplate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/sapphire" @@ -11,7 +12,6 @@ "MMM" ], "result": { - "item": "projectred_exploration:sapphire_chestplate", - "nbt": "{Damage:0}" + "item": "projectred_exploration:sapphire_chestplate" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json index 55d334692..e0c2dc999 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_deepslate_sapphire_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 1.0, "ingredient": { "item": "projectred_exploration:deepslate_sapphire_ore" }, - "result": { - "item": "projectred_core:sapphire" - } + "result": "projectred_core:sapphire" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_nineblock.json index e2b3e2fa8..8ea259bda 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_nineblock.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_nineblock.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "item": "projectred_exploration:sapphire_block" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json index 8e4323b51..7039efb70 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_from_sapphire_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 1.0, "ingredient": { "item": "projectred_exploration:sapphire_ore" }, - "result": { - "item": "projectred_core:sapphire" - } + "result": "projectred_core:sapphire" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_helmet.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_helmet.json index c00ae5fd4..e18e08521 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_helmet.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_helmet.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/sapphire" @@ -10,7 +11,6 @@ "M M" ], "result": { - "item": "projectred_exploration:sapphire_helmet", - "nbt": "{Damage:0}" + "item": "projectred_exploration:sapphire_helmet" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_hoe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_hoe.json index 6c59732df..7dd4b05f4 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_hoe.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_hoe.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/sapphire" @@ -14,7 +15,6 @@ " S" ], "result": { - "item": "projectred_exploration:sapphire_hoe", - "nbt": "{Damage:0}" + "item": "projectred_exploration:sapphire_hoe" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_leggings.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_leggings.json index 9cb0a29fa..e4e4a96a0 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_leggings.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_leggings.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/sapphire" @@ -11,7 +12,6 @@ "M M" ], "result": { - "item": "projectred_exploration:sapphire_leggings", - "nbt": "{Damage:0}" + "item": "projectred_exploration:sapphire_leggings" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_pickaxe.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_pickaxe.json index a4b6f593d..9fc26e3c9 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_pickaxe.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_pickaxe.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/sapphire" @@ -14,7 +15,6 @@ " S " ], "result": { - "item": "projectred_exploration:sapphire_pickaxe", - "nbt": "{Damage:0}" + "item": "projectred_exploration:sapphire_pickaxe" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_saw.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_saw.json index 89fddd8c9..f9aea741e 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_saw.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_saw.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/sapphire" @@ -16,7 +17,6 @@ "SMM" ], "result": { - "item": "projectred_exploration:sapphire_saw", - "nbt": "{Damage:0}" + "item": "projectred_exploration:sapphire_saw" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_shovel.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_shovel.json index d3fdeab60..81c8e30eb 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_shovel.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_shovel.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/sapphire" @@ -14,7 +15,6 @@ "S" ], "result": { - "item": "projectred_exploration:sapphire_shovel", - "nbt": "{Damage:0}" + "item": "projectred_exploration:sapphire_shovel" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sickle.json index b680fe04f..109ec60c1 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sickle.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sickle.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/sapphire" @@ -14,7 +15,6 @@ "SM " ], "result": { - "item": "projectred_exploration:sapphire_sickle", - "nbt": "{Damage:0}" + "item": "projectred_exploration:sapphire_sickle" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sword.json b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sword.json index ba5db7847..20ccbce1e 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sword.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/sapphire_sword.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:gems/sapphire" @@ -14,7 +15,6 @@ "S" ], "result": { - "item": "projectred_exploration:sapphire_sword", - "nbt": "{Damage:0}" + "item": "projectred_exploration:sapphire_sword" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_block.json index 93f496217..144caae04 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_block.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:ingots/silver" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json index de78e4e02..780fb29da 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_deepslate_silver_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.7, "ingredient": { "item": "projectred_exploration:deepslate_silver_ore" }, - "result": { - "item": "projectred_exploration:silver_ingot" - } + "result": "projectred_exploration:silver_ingot" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_nineblock.json index 592fb6b3f..62ab97a51 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_nineblock.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_nineblock.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "item": "projectred_exploration:silver_block" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json index 60919e5ce..3bb1676b0 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_raw_silver_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.7, "ingredient": { "item": "projectred_exploration:raw_silver" }, - "result": { - "item": "projectred_exploration:silver_ingot" - } + "result": "projectred_exploration:silver_ingot" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json index 5e035dfa9..c964efb75 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/silver_ingot_from_silver_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.7, "ingredient": { "item": "projectred_exploration:silver_ore" }, - "result": { - "item": "projectred_exploration:silver_ingot" - } + "result": "projectred_exploration:silver_ingot" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/stone_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/stone_sickle.json index 16031e930..4db22d0b5 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/stone_sickle.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/stone_sickle.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:cobblestone" @@ -14,7 +15,6 @@ "SM " ], "result": { - "item": "projectred_exploration:stone_sickle", - "nbt": "{Damage:0}" + "item": "projectred_exploration:stone_sickle" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/string_from_wool_gin.json b/exploration/src/main/generated/data/projectred_exploration/recipes/string_from_wool_gin.json index 5f615eea1..39eb2258c 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/string_from_wool_gin.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/string_from_wool_gin.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "item": "projectred_exploration:wool_gin" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_block.json b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_block.json index 840af7ea0..13c580d15 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_block.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_block.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:ingots/tin" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json index 64d178dc9..4df966eee 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_deepslate_tin_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.7, "ingredient": { "item": "projectred_exploration:deepslate_tin_ore" }, - "result": { - "item": "projectred_exploration:tin_ingot" - } + "result": "projectred_exploration:tin_ingot" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_nineblock.json b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_nineblock.json index 98509da88..64c566575 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_nineblock.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_nineblock.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "item": "projectred_exploration:tin_block" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json index 863c2c6b0..74596c304 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_raw_tin_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.7, "ingredient": { "item": "projectred_exploration:raw_tin" }, - "result": { - "item": "projectred_exploration:tin_ingot" - } + "result": "projectred_exploration:tin_ingot" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json index f41e2938a..434b8725c 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/tin_ingot_from_tin_ore_smelting.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.7, "ingredient": { "item": "projectred_exploration:tin_ore" }, - "result": { - "item": "projectred_exploration:tin_ingot" - } + "result": "projectred_exploration:tin_ingot" } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/white_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/white_backpack.json index 8e3279f8d..930101d5c 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/white_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/white_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/wood_sickle.json b/exploration/src/main/generated/data/projectred_exploration/recipes/wood_sickle.json index 9ad5af2bc..6ddf40abf 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/wood_sickle.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/wood_sickle.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "M": { "tag": "forge:rods/wooden" @@ -14,7 +15,6 @@ "SM " ], "result": { - "item": "projectred_exploration:wood_sickle", - "nbt": "{Damage:0}" + "item": "projectred_exploration:wood_sickle" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/wool_gin.json b/exploration/src/main/generated/data/projectred_exploration/recipes/wool_gin.json index 91927f0e2..f44180f65 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/wool_gin.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/wool_gin.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_core:iron_coil" @@ -14,7 +15,6 @@ " S " ], "result": { - "item": "projectred_exploration:wool_gin", - "nbt": "{Damage:0}" + "item": "projectred_exploration:wool_gin" } } \ No newline at end of file diff --git a/exploration/src/main/generated/data/projectred_exploration/recipes/yellow_backpack.json b/exploration/src/main/generated/data/projectred_exploration/recipes/yellow_backpack.json index a0c747307..02ca38d9b 100644 --- a/exploration/src/main/generated/data/projectred_exploration/recipes/yellow_backpack.json +++ b/exploration/src/main/generated/data/projectred_exploration/recipes/yellow_backpack.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:woven_cloth" diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/ProjectRedExploration.java b/exploration/src/main/java/mrtjp/projectred/exploration/ProjectRedExploration.java index 8f2d90ec0..ee1bc6f77 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/ProjectRedExploration.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/ProjectRedExploration.java @@ -5,6 +5,7 @@ import com.mojang.serialization.Codec; import mrtjp.projectred.exploration.data.*; import mrtjp.projectred.exploration.init.*; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; @@ -15,18 +16,18 @@ import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.levelgen.carver.WorldCarver; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.common.data.BlockTagsProvider; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.common.world.BiomeModifier; -import net.minecraftforge.data.event.GatherDataEvent; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; +import net.neoforged.fml.loading.FMLEnvironment; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.world.BiomeModifier; +import net.neoforged.neoforge.data.event.GatherDataEvent; +import net.neoforged.neoforge.registries.DeferredRegister; +import net.neoforged.neoforge.registries.NeoForgeRegistries; +import org.jetbrains.annotations.Nullable; import static mrtjp.projectred.exploration.ProjectRedExploration.MOD_ID; @@ -35,15 +36,17 @@ public class ProjectRedExploration { public static final String MOD_ID = "projectred_exploration"; - public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MOD_ID); - public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID); - public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(ForgeRegistries.MENU_TYPES, MOD_ID); - public static final DeferredRegister> WORLD_CARVERS = DeferredRegister.create(ForgeRegistries.WORLD_CARVERS, MOD_ID); - public static final DeferredRegister> BIOME_MODIFIER_SERIALIZERS = DeferredRegister.create(ForgeRegistries.Keys.BIOME_MODIFIER_SERIALIZERS, MOD_ID); - public static final DeferredRegister> RECIPE_SERIALIZERS = DeferredRegister.create(ForgeRegistries.RECIPE_SERIALIZERS, MOD_ID); + public static final DeferredRegister BLOCKS = DeferredRegister.create(BuiltInRegistries.BLOCK, MOD_ID); + public static final DeferredRegister ITEMS = DeferredRegister.create(BuiltInRegistries.ITEM, MOD_ID); + public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(BuiltInRegistries.MENU, MOD_ID); + public static final DeferredRegister> WORLD_CARVERS = DeferredRegister.create(BuiltInRegistries.CARVER, MOD_ID); + public static final DeferredRegister> BIOME_MODIFIER_SERIALIZERS = DeferredRegister.create(NeoForgeRegistries.BIOME_MODIFIER_SERIALIZERS, MOD_ID); + public static final DeferredRegister> RECIPE_SERIALIZERS = DeferredRegister.create(BuiltInRegistries.RECIPE_SERIALIZER, MOD_ID); public static final DeferredRegister MICRO_MATERIALS = DeferredRegister.create(new ResourceLocation(CBMicroblock.MOD_ID, "micro_material"), MOD_ID); public static final DeferredRegister CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID); + private static @Nullable ModContainer container; + static { ExplorationBlocks.register(); ExplorationItems.register(); @@ -53,14 +56,16 @@ public class ProjectRedExploration { ExplorationCreativeModeTabs.register(); } - public ProjectRedExploration() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); + public ProjectRedExploration(ModContainer container, IEventBus modEventBus) { + ProjectRedExploration.container = container; modEventBus.addListener(this::commonSetup); modEventBus.addListener(this::onGatherDataEvent); modEventBus.addListener(ExplorationBlocks::onRegisterMicroMaterials); - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> ExplorationClientInit::init); + if (FMLEnvironment.dist.isClient()) { + ExplorationClientInit.init(modEventBus); + } BLOCKS.register(modEventBus); ITEMS.register(modEventBus); diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/block/ElectrotineOreBlock.java b/exploration/src/main/java/mrtjp/projectred/exploration/block/ElectrotineOreBlock.java index e70c37fd6..80364dda8 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/block/ElectrotineOreBlock.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/block/ElectrotineOreBlock.java @@ -36,8 +36,8 @@ public class ElectrotineOreBlock extends DropExperienceBlock { public static final DustParticleOptions ELECTROTINE_PARTICLE = new DustParticleOptions( new Vector3f(15 / 255F, 103 / 255F, 178 / 255F), 0.6F); - public ElectrotineOreBlock(BlockBehaviour.Properties properties, IntProvider xpRange) { - super(properties.lightLevel(s -> s.getValue(LIT) ? 9 : 0), xpRange); + public ElectrotineOreBlock(IntProvider xpRange, BlockBehaviour.Properties properties) { + super(xpRange, properties.lightLevel(s -> s.getValue(LIT) ? 9 : 0)); registerDefaultState(defaultBlockState().setValue(LIT, false)); } diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBlockStateModelProvider.java b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBlockStateModelProvider.java index a38a1b96d..c98def11d 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBlockStateModelProvider.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBlockStateModelProvider.java @@ -1,8 +1,8 @@ package mrtjp.projectred.exploration.data; import net.minecraft.data.PackOutput; -import net.minecraftforge.client.model.generators.BlockStateProvider; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.client.model.generators.BlockStateProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import javax.annotation.Nonnull; diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBlockTagsProvider.java b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBlockTagsProvider.java index c286fdc81..0af727571 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBlockTagsProvider.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBlockTagsProvider.java @@ -3,9 +3,9 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.tags.BlockTags; -import net.minecraftforge.common.Tags; -import net.minecraftforge.common.data.BlockTagsProvider; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.Tags; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBuiltInEntriesProvider.java b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBuiltInEntriesProvider.java index d935132e1..49c414c43 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBuiltInEntriesProvider.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationBuiltInEntriesProvider.java @@ -5,8 +5,8 @@ import net.minecraft.core.RegistrySetBuilder; import net.minecraft.core.registries.Registries; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; +import net.neoforged.neoforge.registries.NeoForgeRegistries; import java.util.Set; import java.util.concurrent.CompletableFuture; @@ -19,7 +19,7 @@ public class ExplorationBuiltInEntriesProvider extends DatapackBuiltinEntriesPro .add(Registries.CONFIGURED_CARVER, ExplorationWorldFeatures::bootstrapCarvers) .add(Registries.CONFIGURED_FEATURE, ExplorationWorldFeatures::bootstrapFeatures) .add(Registries.PLACED_FEATURE, ExplorationWorldFeatures::bootstrapPlacements) - .add(ForgeRegistries.Keys.BIOME_MODIFIERS, ExplorationWorldFeatures::bootstrapBiomeModifiers); + .add(NeoForgeRegistries.Keys.BIOME_MODIFIERS, ExplorationWorldFeatures::bootstrapBiomeModifiers); public ExplorationBuiltInEntriesProvider(PackOutput output, CompletableFuture provider) { super(output, provider, BUILDER, Set.of("minecraft", MOD_ID)); diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationItemModelProvider.java b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationItemModelProvider.java index 6d471198f..de4ab697f 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationItemModelProvider.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationItemModelProvider.java @@ -1,10 +1,10 @@ package mrtjp.projectred.exploration.data; import codechicken.lib.datagen.ItemModelProvider; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.PackOutput; import net.minecraft.world.level.block.Block; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import static mrtjp.projectred.exploration.ProjectRedExploration.MOD_ID; import static mrtjp.projectred.exploration.init.ExplorationBlocks.*; @@ -147,6 +147,6 @@ protected void registerModels() { private void wallItemBlock(Block wallBlock, Block textureBlock) { getSimple(wallBlock) .noTexture() - .parent(wallInventory(ForgeRegistries.BLOCKS.getKey(wallBlock) + "_inventory", blockTexture(textureBlock))); + .parent(wallInventory(BuiltInRegistries.BLOCK.getKey(wallBlock) + "_inventory", blockTexture(textureBlock))); } } diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationItemTagsProvider.java b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationItemTagsProvider.java index 9ebb3a04f..5a1a5c47f 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationItemTagsProvider.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationItemTagsProvider.java @@ -1,19 +1,19 @@ package mrtjp.projectred.exploration.data; import codechicken.microblock.init.CBMicroblockTags; -import mrtjp.projectred.core.ProjectRedCore; import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.data.tags.ItemTagsProvider; import net.minecraft.data.tags.TagsProvider; import net.minecraft.world.level.block.Block; -import net.minecraftforge.common.Tags; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.Tags; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import javax.annotation.Nullable; import java.util.concurrent.CompletableFuture; import static mrtjp.projectred.core.init.CoreTags.*; +import static mrtjp.projectred.exploration.ProjectRedExploration.MOD_ID; import static mrtjp.projectred.exploration.init.ExplorationBlocks.*; import static mrtjp.projectred.exploration.init.ExplorationItems.*; import static mrtjp.projectred.exploration.init.ExplorationTags.*; @@ -21,7 +21,7 @@ public class ExplorationItemTagsProvider extends ItemTagsProvider { public ExplorationItemTagsProvider(PackOutput output, CompletableFuture lookupProvider, CompletableFuture> blockTags, @Nullable ExistingFileHelper helper) { - super(output, lookupProvider, blockTags, ProjectRedCore.MOD_ID, helper); + super(output, lookupProvider, blockTags, MOD_ID, helper); } @Override diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationLanguageProvider.java b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationLanguageProvider.java index 0e9314a74..0646b9b52 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationLanguageProvider.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationLanguageProvider.java @@ -1,7 +1,7 @@ package mrtjp.projectred.exploration.data; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.LanguageProvider; +import net.neoforged.neoforge.common.data.LanguageProvider; import static mrtjp.projectred.exploration.ProjectRedExploration.MOD_ID; import static mrtjp.projectred.exploration.init.ExplorationBlocks.*; @@ -13,11 +13,6 @@ public ExplorationLanguageProvider(PackOutput output) { super(output, MOD_ID, "en_us"); } - @Override - public String getName() { - return "ProjectRed-Exploration Language Provider: en_us"; - } - @Override protected void addTranslations() { diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationLootTableProvider.java b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationLootTableProvider.java index cc3e21e0c..2ef3021af 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationLootTableProvider.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationLootTableProvider.java @@ -1,61 +1,104 @@ package mrtjp.projectred.exploration.data; -import codechicken.lib.datagen.LootTableProvider; +import mrtjp.projectred.exploration.ProjectRedExploration; +import net.minecraft.core.Holder; import net.minecraft.data.PackOutput; +import net.minecraft.data.loot.BlockLootSubProvider; +import net.minecraft.data.loot.LootTableProvider; +import net.minecraft.world.flag.FeatureFlags; +import net.minecraft.world.item.enchantment.Enchantments; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.storage.loot.LootTable; +import net.minecraft.world.level.storage.loot.entries.LootItem; +import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount; +import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; +import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; + +import java.util.List; +import java.util.Set; import static mrtjp.projectred.core.init.CoreItems.*; -import static mrtjp.projectred.exploration.ProjectRedExploration.MOD_ID; import static mrtjp.projectred.exploration.init.ExplorationBlocks.*; import static mrtjp.projectred.exploration.init.ExplorationItems.RAW_SILVER_ITEM; import static mrtjp.projectred.exploration.init.ExplorationItems.RAW_TIN_ITEM; -public class ExplorationLootTableProvider extends LootTableProvider.BlockLootProvider { +public class ExplorationLootTableProvider extends LootTableProvider { public ExplorationLootTableProvider(PackOutput output) { - super(output, MOD_ID); + super(output, Set.of(), List.of( + new LootTableProvider.SubProviderEntry(BlockLootTable::new, LootContextParamSets.BLOCK) + )); } - @Override - protected void registerTables() { - - // Ores - register(RUBY_ORE_BLOCK.get(), valueRangeOrSilkWithFortune(RUBY_ORE_BLOCK.get(), RUBY_ITEM.get(), 1, 2)); - register(DEEPSLATE_RUBY_ORE_BLOCK.get(), valueRangeOrSilkWithFortune(DEEPSLATE_RUBY_ORE_BLOCK.get(), RUBY_ITEM.get(), 1, 2)); - register(SAPPHIRE_ORE_BLOCK.get(), valueRangeOrSilkWithFortune(SAPPHIRE_ORE_BLOCK.get(), SAPPHIRE_ITEM.get(), 1, 2)); - register(DEEPSLATE_SAPPHIRE_ORE_BLOCK.get(), valueRangeOrSilkWithFortune(DEEPSLATE_SAPPHIRE_ORE_BLOCK.get(), SAPPHIRE_ITEM.get(), 1, 2)); - register(PERIDOT_ORE_BLOCK.get(), valueRangeOrSilkWithFortune(PERIDOT_ORE_BLOCK.get(), PERIDOT_ITEM.get(), 1, 2)); - register(DEEPSLATE_PERIDOT_ORE_BLOCK.get(), valueRangeOrSilkWithFortune(DEEPSLATE_PERIDOT_ORE_BLOCK.get(), PERIDOT_ITEM.get(), 1, 2)); - register(ELECTROTINE_ORE_BLOCK.get(), valueRangeOrSilkWithFortune(ELECTROTINE_ORE_BLOCK.get(), ELECTROTINE_DUST_ITEM.get(), 1, 8)); - register(DEEPSLATE_ELECTROTINE_ORE_BLOCK.get(), valueRangeOrSilkWithFortune(DEEPSLATE_ELECTROTINE_ORE_BLOCK.get(), ELECTROTINE_DUST_ITEM.get(), 1, 8)); - register(TIN_ORE_BLOCK.get(), singleItemOrSilk(TIN_ORE_BLOCK.get(), RAW_TIN_ITEM.get())); - register(DEEPSLATE_TIN_ORE_BLOCK.get(), singleItemOrSilk(DEEPSLATE_TIN_ORE_BLOCK.get(), RAW_TIN_ITEM.get())); - register(SILVER_ORE_BLOCK.get(), singleItemOrSilk(SILVER_ORE_BLOCK.get(), RAW_SILVER_ITEM.get())); - register(DEEPSLATE_SILVER_ORE_BLOCK.get(), singleItemOrSilk(DEEPSLATE_SILVER_ORE_BLOCK.get(), RAW_SILVER_ITEM.get())); - - // Decorative Blocks - register(MARBLE_BLOCK.get(), singleItem(MARBLE_BLOCK.get())); - register(MARBLE_BRICK_BLOCK.get(), singleItem(MARBLE_BRICK_BLOCK.get())); - register(BASALT_BLOCK.get(), singleItem(BASALT_BLOCK.get())); - register(BASALT_COBBLE_BLOCK.get(), singleItem(BASALT_COBBLE_BLOCK.get())); - register(BASALT_BRICK_BLOCK.get(), singleItem(BASALT_BRICK_BLOCK.get())); - register(RUBY_BLOCK.get(), singleItem(RUBY_BLOCK.get())); - register(SAPPHIRE_BLOCK.get(), singleItem(SAPPHIRE_BLOCK.get())); - register(PERIDOT_BLOCK.get(), singleItem(PERIDOT_BLOCK.get())); - register(ELECTROTINE_BLOCK.get(), singleItem(ELECTROTINE_BLOCK.get())); - register(RAW_TIN_BLOCK.get(), singleItem(RAW_TIN_BLOCK.get())); - register(RAW_SILVER_BLOCK.get(), singleItem(RAW_SILVER_BLOCK.get())); - register(TIN_BLOCK.get(), singleItem(TIN_BLOCK.get())); - register(SILVER_BLOCK.get(), singleItem(SILVER_BLOCK.get())); - - // Walls - register(MARBLE_WALL.get(), singleItem(MARBLE_WALL.get())); - register(MARBLE_BRICK_WALL.get(), singleItem(MARBLE_BRICK_WALL.get())); - register(BASALT_WALL.get(), singleItem(BASALT_WALL.get())); - register(BASALT_COBBLE_WALL.get(), singleItem(BASALT_COBBLE_WALL.get())); - register(BASALT_BRICK_WALL.get(), singleItem(BASALT_BRICK_WALL.get())); - register(RUBY_BLOCK_WALL.get(), singleItem(RUBY_BLOCK_WALL.get())); - register(SAPPHIRE_BLOCK_WALL.get(), singleItem(SAPPHIRE_BLOCK_WALL.get())); - register(PERIDOT_BLOCK_WALL.get(), singleItem(PERIDOT_BLOCK_WALL.get())); - register(ELECTROTINE_BLOCK_WALL.get(), singleItem(ELECTROTINE_BLOCK_WALL.get())); + private static final class BlockLootTable extends BlockLootSubProvider { + + BlockLootTable() { + super(Set.of(), FeatureFlags.REGISTRY.allFlags()); + } + + @Override + protected Iterable getKnownBlocks() { + return ProjectRedExploration.BLOCKS.getEntries() + .stream() + .map(Holder::value) + .toList(); + } + + @Override + protected void generate() { + // Ores + add(RUBY_ORE_BLOCK.get(), b -> createOreMultiDrops(b, RUBY_ITEM.get(), 1, 2)); + add(DEEPSLATE_RUBY_ORE_BLOCK.get(), b -> createOreMultiDrops(b, RUBY_ITEM.get(), 1, 2)); + add(SAPPHIRE_ORE_BLOCK.get(), b -> createOreMultiDrops(b, SAPPHIRE_ITEM.get(), 1, 2)); + add(DEEPSLATE_SAPPHIRE_ORE_BLOCK.get(), b -> createOreMultiDrops(b, SAPPHIRE_ITEM.get(), 1, 2)); + add(PERIDOT_ORE_BLOCK.get(), b -> createOreMultiDrops(b, PERIDOT_ITEM.get(), 1, 2)); + add(DEEPSLATE_PERIDOT_ORE_BLOCK.get(), b -> createOreMultiDrops(b, PERIDOT_ITEM.get(), 1, 2)); + add(ELECTROTINE_ORE_BLOCK.get(), b -> createOreMultiDrops(b, ELECTROTINE_DUST_ITEM.get(), 1, 8)); + add(DEEPSLATE_ELECTROTINE_ORE_BLOCK.get(), b -> createOreMultiDrops(b, ELECTROTINE_DUST_ITEM.get(), 1, 8)); + add(TIN_ORE_BLOCK.get(), b -> createOreDrop(b, RAW_TIN_ITEM.get())); + add(DEEPSLATE_TIN_ORE_BLOCK.get(), b -> createOreDrop(b, RAW_TIN_ITEM.get())); + add(SILVER_ORE_BLOCK.get(), b -> createOreDrop(b, RAW_SILVER_ITEM.get())); + add(DEEPSLATE_SILVER_ORE_BLOCK.get(), b -> createOreDrop(b, RAW_SILVER_ITEM.get())); + + // Decorative Blocks + dropSelf(MARBLE_BLOCK.get()); + dropSelf(MARBLE_BRICK_BLOCK.get()); + dropSelf(BASALT_BLOCK.get()); + dropSelf(BASALT_COBBLE_BLOCK.get()); + dropSelf(BASALT_BRICK_BLOCK.get()); + dropSelf(RUBY_BLOCK.get()); + dropSelf(SAPPHIRE_BLOCK.get()); + dropSelf(PERIDOT_BLOCK.get()); + dropSelf(ELECTROTINE_BLOCK.get()); + dropSelf(RAW_TIN_BLOCK.get()); + dropSelf(RAW_SILVER_BLOCK.get()); + dropSelf(TIN_BLOCK.get()); + dropSelf(SILVER_BLOCK.get()); + + // Walls + dropSelf(MARBLE_WALL.get()); + dropSelf(MARBLE_BRICK_WALL.get()); + dropSelf(BASALT_WALL.get()); + dropSelf(BASALT_COBBLE_WALL.get()); + dropSelf(BASALT_BRICK_WALL.get()); + dropSelf(RUBY_BLOCK_WALL.get()); + dropSelf(SAPPHIRE_BLOCK_WALL.get()); + dropSelf(PERIDOT_BLOCK_WALL.get()); + dropSelf(ELECTROTINE_BLOCK_WALL.get()); + } + + private LootTable.Builder createOreMultiDrops(Block oreBlock, ItemLike dropItem, float min, float max) { + return createSilkTouchDispatchTable( + oreBlock, + this.applyExplosionDecay( + oreBlock, + LootItem.lootTableItem(dropItem) + .apply(SetItemCountFunction.setCount(UniformGenerator.between(min, max))) + .apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)) + ) + ); + } } } diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationRecipeProvider.java b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationRecipeProvider.java index 14177511e..90caa2429 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationRecipeProvider.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/data/ExplorationRecipeProvider.java @@ -4,6 +4,8 @@ import codechicken.lib.datagen.recipe.ShapedRecipeBuilder; import codechicken.microblock.init.CBMicroblockModContent; import mrtjp.projectred.exploration.item.BackpackItem; +import mrtjp.projectred.exploration.item.crafting.BackpackDyeRecipe; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.ItemTags; @@ -11,9 +13,9 @@ import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.CraftingBookCategory; import net.minecraft.world.level.ItemLike; -import net.minecraftforge.common.Tags; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.common.Tags; import java.util.Collection; import java.util.List; @@ -23,7 +25,6 @@ import static mrtjp.projectred.exploration.ProjectRedExploration.MOD_ID; import static mrtjp.projectred.exploration.init.ExplorationBlocks.*; import static mrtjp.projectred.exploration.init.ExplorationItems.*; -import static mrtjp.projectred.exploration.init.ExplorationRecipeSerializers.BACKPACK_DYE_RECIPE_SERIALIZER; import static mrtjp.projectred.exploration.init.ExplorationTags.*; @SuppressWarnings("DataFlowIssue") @@ -158,14 +159,15 @@ protected void registerRecipes() { backpackRecipe(getBackpackByColor(i)); } - special(BACKPACK_DYE_RECIPE_SERIALIZER.get(), new ResourceLocation(MOD_ID, "backpack_dye")); + //TODO Now we have to hardcode CraftingBookCategory.MISC? + special(new ResourceLocation(MOD_ID, "backpack_dye"), () -> new BackpackDyeRecipe(CraftingBookCategory.MISC)); } private void oreSmeltingRecipe(ItemLike result, Collection sources, float xp) { - String resultName = ForgeRegistries.ITEMS.getKey(result.asItem()).getPath(); + String resultName = BuiltInRegistries.ITEM.getKey(result.asItem()).getPath(); for (ItemLike source : sources) { - String sourceName = ForgeRegistries.ITEMS.getKey(source.asItem()).getPath(); + String sourceName = BuiltInRegistries.ITEM.getKey(source.asItem()).getPath(); smelting(result, 1, new ResourceLocation(MOD_ID, resultName + "_from_" + sourceName + "_smelting")) .ingredient(source) @@ -182,7 +184,7 @@ private void nineBlockStorageRecipes(TagKey itemTag, ItemLike block, ItemL .patternLine("SSS"); // Block to item - shapelessRecipe(item, 9, new ResourceLocation(MOD_ID, ForgeRegistries.ITEMS.getKey(item.asItem()).getPath() + "_from_nineblock")) + shapelessRecipe(item, 9, new ResourceLocation(MOD_ID, BuiltInRegistries.ITEM.getKey(item.asItem()).getPath() + "_from_nineblock")) .addIngredient(block); } diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationBlocks.java b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationBlocks.java index d2f43ca28..d207a194d 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationBlocks.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationBlocks.java @@ -13,8 +13,9 @@ import net.minecraft.world.level.block.WallBlock; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.material.MapColor; -import net.minecraftforge.registries.RegisterEvent; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.neoforge.registries.RegisterEvent; + +import java.util.function.Supplier; import static mrtjp.projectred.exploration.ProjectRedExploration.BLOCKS; import static mrtjp.projectred.exploration.ProjectRedExploration.ITEMS; @@ -60,44 +61,44 @@ public class ExplorationBlocks { public static final String ID_ELECTROTINE_BLOCK_WALL = "electrotine_block_wall"; // Ores - public static RegistryObject RUBY_ORE_BLOCK; - public static RegistryObject DEEPSLATE_RUBY_ORE_BLOCK; - public static RegistryObject SAPPHIRE_ORE_BLOCK; - public static RegistryObject DEEPSLATE_SAPPHIRE_ORE_BLOCK; - public static RegistryObject PERIDOT_ORE_BLOCK; - public static RegistryObject DEEPSLATE_PERIDOT_ORE_BLOCK; - public static RegistryObject TIN_ORE_BLOCK; - public static RegistryObject DEEPSLATE_TIN_ORE_BLOCK; - public static RegistryObject SILVER_ORE_BLOCK; - public static RegistryObject DEEPSLATE_SILVER_ORE_BLOCK; - public static RegistryObject ELECTROTINE_ORE_BLOCK; - public static RegistryObject DEEPSLATE_ELECTROTINE_ORE_BLOCK; + public static Supplier RUBY_ORE_BLOCK; + public static Supplier DEEPSLATE_RUBY_ORE_BLOCK; + public static Supplier SAPPHIRE_ORE_BLOCK; + public static Supplier DEEPSLATE_SAPPHIRE_ORE_BLOCK; + public static Supplier PERIDOT_ORE_BLOCK; + public static Supplier DEEPSLATE_PERIDOT_ORE_BLOCK; + public static Supplier TIN_ORE_BLOCK; + public static Supplier DEEPSLATE_TIN_ORE_BLOCK; + public static Supplier SILVER_ORE_BLOCK; + public static Supplier DEEPSLATE_SILVER_ORE_BLOCK; + public static Supplier ELECTROTINE_ORE_BLOCK; + public static Supplier DEEPSLATE_ELECTROTINE_ORE_BLOCK; // Decorative blocks - public static RegistryObject MARBLE_BLOCK; - public static RegistryObject MARBLE_BRICK_BLOCK; - public static RegistryObject BASALT_BLOCK; - public static RegistryObject BASALT_COBBLE_BLOCK; - public static RegistryObject BASALT_BRICK_BLOCK; - public static RegistryObject RUBY_BLOCK; - public static RegistryObject SAPPHIRE_BLOCK; - public static RegistryObject PERIDOT_BLOCK; - public static RegistryObject ELECTROTINE_BLOCK; - public static RegistryObject RAW_TIN_BLOCK; - public static RegistryObject RAW_SILVER_BLOCK; - public static RegistryObject TIN_BLOCK; - public static RegistryObject SILVER_BLOCK; + public static Supplier MARBLE_BLOCK; + public static Supplier MARBLE_BRICK_BLOCK; + public static Supplier BASALT_BLOCK; + public static Supplier BASALT_COBBLE_BLOCK; + public static Supplier BASALT_BRICK_BLOCK; + public static Supplier RUBY_BLOCK; + public static Supplier SAPPHIRE_BLOCK; + public static Supplier PERIDOT_BLOCK; + public static Supplier ELECTROTINE_BLOCK; + public static Supplier RAW_TIN_BLOCK; + public static Supplier RAW_SILVER_BLOCK; + public static Supplier TIN_BLOCK; + public static Supplier SILVER_BLOCK; // Walls - public static RegistryObject MARBLE_WALL; - public static RegistryObject MARBLE_BRICK_WALL; - public static RegistryObject BASALT_WALL; - public static RegistryObject BASALT_COBBLE_WALL; - public static RegistryObject BASALT_BRICK_WALL; - public static RegistryObject RUBY_BLOCK_WALL; - public static RegistryObject SAPPHIRE_BLOCK_WALL; - public static RegistryObject PERIDOT_BLOCK_WALL; - public static RegistryObject ELECTROTINE_BLOCK_WALL; + public static Supplier MARBLE_WALL; + public static Supplier MARBLE_BRICK_WALL; + public static Supplier BASALT_WALL; + public static Supplier BASALT_COBBLE_WALL; + public static Supplier BASALT_BRICK_WALL; + public static Supplier RUBY_BLOCK_WALL; + public static Supplier SAPPHIRE_BLOCK_WALL; + public static Supplier PERIDOT_BLOCK_WALL; + public static Supplier ELECTROTINE_BLOCK_WALL; public static void register() { @@ -187,7 +188,7 @@ public static void register() { public static void onRegisterMicroMaterials(RegisterEvent event) { - event.register(MicroMaterialRegistry.MICRO_MATERIALS.getRegistryKey(), r -> { + event.register(MicroMaterialRegistry.microMaterials().key(), r -> { registerBlockMicro(r, new BlockMicroMaterial(MARBLE_BLOCK.get())); registerBlockMicro(r, new BlockMicroMaterial(MARBLE_BRICK_BLOCK.get())); registerBlockMicro(r, new BlockMicroMaterial(BASALT_BLOCK.get())); @@ -205,24 +206,24 @@ private static void registerBlockMicro(RegisterEvent.RegisterHelper block) { - return new WallBlock(BlockBehaviour.Properties.copy(block.get())); + private static WallBlock createWallBlock(Supplier block) { + return new WallBlock(BlockBehaviour.Properties.ofFullCopy(block.get())); } private static Block createDecorativeStoneBlock(float hardness, float resistance) { @@ -249,7 +250,7 @@ private static Block createDecorativeMetalBlock(float hardness, float resistance .sound(SoundType.METAL)); } - private static Item createBlockItem(RegistryObject block) { + private static Item createBlockItem(Supplier block) { return new BlockItem(block.get(), new Item.Properties()); } diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationClientInit.java b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationClientInit.java index 2f1362361..521b9193e 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationClientInit.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationClientInit.java @@ -2,17 +2,14 @@ import mrtjp.projectred.exploration.gui.screen.inventory.BackpackScreen; import net.minecraft.client.gui.screens.MenuScreens; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; import static mrtjp.projectred.exploration.init.ExplorationMenus.BACKPACK_CONTAINER; public class ExplorationClientInit { - public static void init() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); - + public static void init(IEventBus modEventBus) { modEventBus.addListener(ExplorationClientInit::clientSetup); } diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationCreativeModeTabs.java b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationCreativeModeTabs.java index 627265877..0e9985a78 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationCreativeModeTabs.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationCreativeModeTabs.java @@ -4,14 +4,15 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.exploration.init.ExplorationBlocks.*; import static mrtjp.projectred.exploration.init.ExplorationItems.*; public class ExplorationCreativeModeTabs { - public static RegistryObject EXPLORATION_CREATIVE_TAB; + public static Supplier EXPLORATION_CREATIVE_TAB; public static void register() { diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationItems.java b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationItems.java index dcee53465..1868479ac 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationItems.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationItems.java @@ -1,7 +1,6 @@ package mrtjp.projectred.exploration.init; import codechicken.lib.item.SimpleArmorMaterial; -import codechicken.lib.item.SimpleItemTier; import codechicken.microblock.item.SawItem; import mrtjp.projectred.exploration.item.AthameItem; import mrtjp.projectred.exploration.item.BackpackItem; @@ -9,10 +8,11 @@ import mrtjp.projectred.exploration.item.WoolGinItem; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; +import net.minecraft.tags.BlockTags; import net.minecraft.world.item.*; import net.minecraft.world.item.crafting.Ingredient; -import net.minecraftforge.common.TierSortingRegistry; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.neoforge.common.SimpleTier; +import net.neoforged.neoforge.common.TierSortingRegistry; import java.util.List; import java.util.function.Supplier; @@ -100,116 +100,123 @@ public class ExplorationItems { public static final String ID_BLACK_BACKPACK = "black_backpack"; // Ingots / dusts / gems - public static RegistryObject RAW_TIN_ITEM; - public static RegistryObject TIN_INGOT_ITEM; - public static RegistryObject RAW_SILVER_ITEM; - public static RegistryObject SILVER_INGOT_ITEM; + public static Supplier RAW_TIN_ITEM; + public static Supplier TIN_INGOT_ITEM; + public static Supplier RAW_SILVER_ITEM; + public static Supplier SILVER_INGOT_ITEM; - public static RegistryObject WOOL_GIN; - public static RegistryObject ATHAME; + public static Supplier WOOL_GIN; + public static Supplier ATHAME; // Tools - public static RegistryObject RUBY_AXE; - public static RegistryObject SAPPHIRE_AXE; - public static RegistryObject PERIDOT_AXE; - - public static RegistryObject RUBY_PICKAXE; - public static RegistryObject SAPPHIRE_PICKAXE; - public static RegistryObject PERIDOT_PICKAXE; - - public static RegistryObject RUBY_SHOVEL; - public static RegistryObject SAPPHIRE_SHOVEL; - public static RegistryObject PERIDOT_SHOVEL; - - public static RegistryObject RUBY_HOE; - public static RegistryObject SAPPHIRE_HOE; - public static RegistryObject PERIDOT_HOE; - - public static RegistryObject RUBY_SWORD; - public static RegistryObject SAPPHIRE_SWORD; - public static RegistryObject PERIDOT_SWORD; - - public static RegistryObject GOLD_SAW; - public static RegistryObject RUBY_SAW; - public static RegistryObject SAPPHIRE_SAW; - public static RegistryObject PERIDOT_SAW; - - public static RegistryObject WOOD_SICKLE; - public static RegistryObject STONE_SICKLE; - public static RegistryObject IRON_SICKLE; - public static RegistryObject GOLD_SICKLE; - public static RegistryObject DIAMOND_SICKLE; - public static RegistryObject RUBY_SICKLE; - public static RegistryObject SAPPHIRE_SICKLE; - public static RegistryObject PERIDOT_SICKLE; + public static Supplier RUBY_AXE; + public static Supplier SAPPHIRE_AXE; + public static Supplier PERIDOT_AXE; + + public static Supplier RUBY_PICKAXE; + public static Supplier SAPPHIRE_PICKAXE; + public static Supplier PERIDOT_PICKAXE; + + public static Supplier RUBY_SHOVEL; + public static Supplier SAPPHIRE_SHOVEL; + public static Supplier PERIDOT_SHOVEL; + + public static Supplier RUBY_HOE; + public static Supplier SAPPHIRE_HOE; + public static Supplier PERIDOT_HOE; + + public static Supplier RUBY_SWORD; + public static Supplier SAPPHIRE_SWORD; + public static Supplier PERIDOT_SWORD; + + public static Supplier GOLD_SAW; + public static Supplier RUBY_SAW; + public static Supplier SAPPHIRE_SAW; + public static Supplier PERIDOT_SAW; + + public static Supplier WOOD_SICKLE; + public static Supplier STONE_SICKLE; + public static Supplier IRON_SICKLE; + public static Supplier GOLD_SICKLE; + public static Supplier DIAMOND_SICKLE; + public static Supplier RUBY_SICKLE; + public static Supplier SAPPHIRE_SICKLE; + public static Supplier PERIDOT_SICKLE; // Armor - public static RegistryObject RUBY_HELMET; - public static RegistryObject SAPPHIRE_HELMET; - public static RegistryObject PERIDOT_HELMET; + public static Supplier RUBY_HELMET; + public static Supplier SAPPHIRE_HELMET; + public static Supplier PERIDOT_HELMET; - public static RegistryObject RUBY_CHESTPLATE; - public static RegistryObject SAPPHIRE_CHESTPLATE; - public static RegistryObject PERIDOT_CHESTPLATE; + public static Supplier RUBY_CHESTPLATE; + public static Supplier SAPPHIRE_CHESTPLATE; + public static Supplier PERIDOT_CHESTPLATE; - public static RegistryObject RUBY_LEGGINGS; - public static RegistryObject SAPPHIRE_LEGGINGS; - public static RegistryObject PERIDOT_LEGGINGS; + public static Supplier RUBY_LEGGINGS; + public static Supplier SAPPHIRE_LEGGINGS; + public static Supplier PERIDOT_LEGGINGS; - public static RegistryObject RUBY_BOOTS; - public static RegistryObject SAPPHIRE_BOOTS; - public static RegistryObject PERIDOT_BOOTS; + public static Supplier RUBY_BOOTS; + public static Supplier SAPPHIRE_BOOTS; + public static Supplier PERIDOT_BOOTS; //Backpacks - public static RegistryObject WHITE_BACKPACK; - public static RegistryObject ORANGE_BACKPACK; - public static RegistryObject MAGENTA_BACKPACK; - public static RegistryObject LIGHT_BLUE_BACKPACK; - public static RegistryObject YELLOW_BACKPACK; - public static RegistryObject LIME_BACKPACK; - public static RegistryObject PINK_BACKPACK; - public static RegistryObject GRAY_BACKPACK; - public static RegistryObject LIGHT_GRAY_BACKPACK; - public static RegistryObject CYAN_BACKPACK; - public static RegistryObject PURPLE_BACKPACK; - public static RegistryObject BLUE_BACKPACK; - public static RegistryObject BROWN_BACKPACK; - public static RegistryObject GREEN_BACKPACK; - public static RegistryObject RED_BACKPACK; - public static RegistryObject BLACK_BACKPACK; - - public static final SimpleItemTier ATHAME_ITEM_TIER = SimpleItemTier.builder(Tiers.DIAMOND) - .maxUses(100) - .enchantability(30) - .repairMaterial(() -> Ingredient.of(SILVER_INGOT_TAG)) - .build(); - - public static final SimpleItemTier RUBY_ITEM_TIER = SimpleItemTier.builder() - .maxUses(512) - .efficiency(8.00F) - .attackDamage(3.00F) - .harvestLevel(2) - .enchantability(10) - .repairMaterial(() -> Ingredient.of(RUBY_GEM_TAG)) - .build(); - - public static final SimpleItemTier SAPPHIRE_ITEM_TIER = SimpleItemTier.builder() - .maxUses(512) - .efficiency(8.00F) - .attackDamage(3.00F) - .harvestLevel(2) - .enchantability(10) - .repairMaterial(() -> Ingredient.of(SAPPHIRE_GEM_TAG)) - .build(); - - public static final SimpleItemTier PERIDOT_ITEM_TIER = SimpleItemTier.builder() - .maxUses(512) - .efficiency(7.75F) - .attackDamage(2.75F) - .harvestLevel(2) - .enchantability(14) - .repairMaterial(() -> Ingredient.of(PERIDOT_GEM_TAG)) - .build(); + public static Supplier WHITE_BACKPACK; + public static Supplier ORANGE_BACKPACK; + public static Supplier MAGENTA_BACKPACK; + public static Supplier LIGHT_BLUE_BACKPACK; + public static Supplier YELLOW_BACKPACK; + public static Supplier LIME_BACKPACK; + public static Supplier PINK_BACKPACK; + public static Supplier GRAY_BACKPACK; + public static Supplier LIGHT_GRAY_BACKPACK; + public static Supplier CYAN_BACKPACK; + public static Supplier PURPLE_BACKPACK; + public static Supplier BLUE_BACKPACK; + public static Supplier BROWN_BACKPACK; + public static Supplier GREEN_BACKPACK; + public static Supplier RED_BACKPACK; + public static Supplier BLACK_BACKPACK; + + public static final SimpleTier ATHAME_ITEM_TIER = new SimpleTier( + Tiers.DIAMOND.getLevel(), + 100, + Tiers.DIAMOND.getSpeed(), + Tiers.DIAMOND.getAttackDamageBonus(), + 30, + BlockTags.NEEDS_IRON_TOOL, + () -> Ingredient.of(SILVER_INGOT_TAG) + ); + + public static final SimpleTier RUBY_ITEM_TIER = new SimpleTier( + 2, + 512, + 8.00F, + 3.00F, + 10, + BlockTags.NEEDS_IRON_TOOL, + () -> Ingredient.of(RUBY_GEM_TAG) + ); + + public static final SimpleTier SAPPHIRE_ITEM_TIER = new SimpleTier( + 2, + 512, + 8.00F, + 3.00F, + 10, + BlockTags.NEEDS_IRON_TOOL, + () -> Ingredient.of(SAPPHIRE_GEM_TAG) + ); + + public static final SimpleTier PERIDOT_ITEM_TIER = new SimpleTier( + 2, + 512, + 7.75F, + 2.75F, + 14, + BlockTags.NEEDS_IRON_TOOL, + () -> Ingredient.of(PERIDOT_GEM_TAG) + ); public static final SimpleArmorMaterial RUBY_ARMOR_MATERIAL = SimpleArmorMaterial.builder() .durabilityFactor(16) @@ -336,23 +343,23 @@ private static Supplier createSimpleItemSupplier() { return () -> new Item(new Item.Properties()); } - private static Item createAxeItem(SimpleItemTier tier, float attackDamage, float attackSpeed) { + private static Item createAxeItem(Tier tier, float attackDamage, float attackSpeed) { return new AxeItem(tier, attackDamage, attackSpeed, new Item.Properties()); } - private static Item createPickaxeItem(SimpleItemTier tier, int attackDamage, float attackSpeed) { + private static Item createPickaxeItem(Tier tier, int attackDamage, float attackSpeed) { return new PickaxeItem(tier, attackDamage, attackSpeed, new Item.Properties()); } - private static Item createShovelItem(SimpleItemTier tier, float attackDamage, float attackSpeed) { + private static Item createShovelItem(Tier tier, float attackDamage, float attackSpeed) { return new ShovelItem(tier, attackDamage, attackSpeed, new Item.Properties()); } - private static Item createHoeItem(SimpleItemTier tier, int attackDamage, float attackSpeed) { + private static Item createHoeItem(Tier tier, int attackDamage, float attackSpeed) { return new HoeItem(tier, attackDamage, attackSpeed, new Item.Properties()); } - private static Item createSwordItem(SimpleItemTier tier, int attackDamage, float attackSpeed) { + private static Item createSwordItem(Tier tier, int attackDamage, float attackSpeed) { return new SwordItem(tier, attackDamage, attackSpeed, new Item.Properties()); } diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationMenus.java b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationMenus.java index fc56bb5ce..2833f92f1 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationMenus.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationMenus.java @@ -3,7 +3,8 @@ import codechicken.lib.inventory.container.ICCLContainerType; import mrtjp.projectred.exploration.inventory.container.BackpackContainer; import net.minecraft.world.inventory.MenuType; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.exploration.ProjectRedExploration.MENU_TYPES; @@ -12,7 +13,7 @@ public class ExplorationMenus { public static final String ID_BACKPACK_CONTAINER = "backpack"; - public static RegistryObject> BACKPACK_CONTAINER; + public static Supplier> BACKPACK_CONTAINER; public static void register() { diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationRecipeSerializers.java b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationRecipeSerializers.java index c42798ff9..3b06f88fa 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationRecipeSerializers.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationRecipeSerializers.java @@ -2,7 +2,8 @@ import mrtjp.projectred.exploration.item.crafting.BackpackDyeRecipe; import net.minecraft.world.item.crafting.SimpleCraftingRecipeSerializer; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.exploration.ProjectRedExploration.RECIPE_SERIALIZERS; @@ -11,7 +12,7 @@ public class ExplorationRecipeSerializers { public static final String ID_BACKPACK_DYE = "backpack_dye"; - public static RegistryObject> BACKPACK_DYE_RECIPE_SERIALIZER; + public static Supplier> BACKPACK_DYE_RECIPE_SERIALIZER; public static void register() { diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationWorldFeatures.java b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationWorldFeatures.java index de175c95e..0d557d29d 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationWorldFeatures.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/init/ExplorationWorldFeatures.java @@ -31,9 +31,8 @@ import net.minecraft.world.level.levelgen.heightproviders.UniformHeight; import net.minecraft.world.level.levelgen.placement.*; import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest; -import net.minecraftforge.common.world.BiomeModifier; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.neoforge.common.world.BiomeModifier; +import net.neoforged.neoforge.registries.NeoForgeRegistries; import java.util.List; import java.util.function.Supplier; @@ -48,11 +47,11 @@ public class ExplorationWorldFeatures { /* Static registry entries */ // World carvers - public static RegistryObject> MARBLE_CAVE_CARVER; + public static Supplier> MARBLE_CAVE_CARVER; // Biome Modifier Codecs - public static RegistryObject> ADD_CARVER_BIOME_MODIFIER_CODEC; - public static RegistryObject> ADD_FEATURES_BIOME_MODIFIER_CODEC; + public static Supplier> ADD_CARVER_BIOME_MODIFIER_CODEC; + public static Supplier> ADD_FEATURES_BIOME_MODIFIER_CODEC; /* Dynamic registry entries */ // Configured carvers @@ -100,7 +99,7 @@ public static ResourceKey createPlacedFeatureKey(String name) { } public static ResourceKey createBiomeModifierKey(String name) { - return ResourceKey.create(ForgeRegistries.Keys.BIOME_MODIFIERS, new ResourceLocation(MOD_ID, name)); + return ResourceKey.create(NeoForgeRegistries.Keys.BIOME_MODIFIERS, new ResourceLocation(MOD_ID, name)); } public static void bootstrapCarvers(BootstapContext> context) { diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/item/crafting/BackpackDyeRecipe.java b/exploration/src/main/java/mrtjp/projectred/exploration/item/crafting/BackpackDyeRecipe.java index ddce2eaee..3b74a76a7 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/item/crafting/BackpackDyeRecipe.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/item/crafting/BackpackDyeRecipe.java @@ -4,7 +4,6 @@ import mrtjp.projectred.exploration.init.ExplorationRecipeSerializers; import mrtjp.projectred.exploration.item.BackpackItem; import net.minecraft.core.RegistryAccess; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; @@ -12,14 +11,14 @@ import net.minecraft.world.item.crafting.CustomRecipe; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.level.Level; -import net.minecraftforge.common.Tags; +import net.neoforged.neoforge.common.Tags; import java.util.Objects; public class BackpackDyeRecipe extends CustomRecipe { - public BackpackDyeRecipe(ResourceLocation id, CraftingBookCategory category) { - super(id, category); + public BackpackDyeRecipe(CraftingBookCategory category) { + super(category); } @Override diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/world/gen/ConfigFileControlledAddCarversBiomeModifier.java b/exploration/src/main/java/mrtjp/projectred/exploration/world/gen/ConfigFileControlledAddCarversBiomeModifier.java index e7c7dd65b..937514c13 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/world/gen/ConfigFileControlledAddCarversBiomeModifier.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/world/gen/ConfigFileControlledAddCarversBiomeModifier.java @@ -9,19 +9,19 @@ import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.carver.ConfiguredWorldCarver; -import net.minecraftforge.common.world.BiomeGenerationSettingsBuilder; -import net.minecraftforge.common.world.BiomeModifier; -import net.minecraftforge.common.world.ForgeBiomeModifiers; -import net.minecraftforge.common.world.ModifiableBiomeInfo; +import net.neoforged.neoforge.common.world.BiomeGenerationSettingsBuilder; +import net.neoforged.neoforge.common.world.BiomeModifier; +import net.neoforged.neoforge.common.world.BiomeModifiers; +import net.neoforged.neoforge.common.world.ModifiableBiomeInfo; /** - * For some reason, Forge does not provide this in {@link ForgeBiomeModifiers}. This one also allows for + * For some reason, Forge does not provide this in {@link BiomeModifiers}. This one also allows for * dynamic control via ProjectRed's mod config file. */ public record ConfigFileControlledAddCarversBiomeModifier(HolderSet biomes, HolderSet> carvers, GenerationStep.Carving step, String configKey) implements BiomeModifier { @Override - public void modify(Holder biome, Phase phase, ModifiableBiomeInfo.BiomeInfo.Builder builder) { + public void modify(Holder biome, BiomeModifier.Phase phase, ModifiableBiomeInfo.BiomeInfo.Builder builder) { if (isEnabled() && phase == Phase.ADD && this.biomes.contains(biome)) { BiomeGenerationSettingsBuilder generationSettings = builder.getGenerationSettings(); diff --git a/exploration/src/main/java/mrtjp/projectred/exploration/world/gen/ConfigFileControlledAddFeaturesBiomeModifier.java b/exploration/src/main/java/mrtjp/projectred/exploration/world/gen/ConfigFileControlledAddFeaturesBiomeModifier.java index 468ed07e3..ae4317717 100644 --- a/exploration/src/main/java/mrtjp/projectred/exploration/world/gen/ConfigFileControlledAddFeaturesBiomeModifier.java +++ b/exploration/src/main/java/mrtjp/projectred/exploration/world/gen/ConfigFileControlledAddFeaturesBiomeModifier.java @@ -9,19 +9,19 @@ import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.placement.PlacedFeature; -import net.minecraftforge.common.world.BiomeGenerationSettingsBuilder; -import net.minecraftforge.common.world.BiomeModifier; -import net.minecraftforge.common.world.ForgeBiomeModifiers; -import net.minecraftforge.common.world.ModifiableBiomeInfo; +import net.neoforged.neoforge.common.world.BiomeGenerationSettingsBuilder; +import net.neoforged.neoforge.common.world.BiomeModifier; +import net.neoforged.neoforge.common.world.BiomeModifiers; +import net.neoforged.neoforge.common.world.ModifiableBiomeInfo; /** - * A type of {@link ForgeBiomeModifiers.AddFeaturesBiomeModifier} that can be disabled by its corresponding + * A type of {@link BiomeModifiers.AddFeaturesBiomeModifier} that can be disabled by its corresponding * field in ProjectRed's Config file. */ public record ConfigFileControlledAddFeaturesBiomeModifier(HolderSet biomes, HolderSet features, GenerationStep.Decoration step, String configKey) implements BiomeModifier { @Override - public void modify(Holder biome, Phase phase, ModifiableBiomeInfo.BiomeInfo.Builder builder) { + public void modify(Holder biome, BiomeModifier.Phase phase, ModifiableBiomeInfo.BiomeInfo.Builder builder) { if (isEnabled() && phase == Phase.ADD && this.biomes.contains(biome)) { BiomeGenerationSettingsBuilder generationSettings = builder.getGenerationSettings(); diff --git a/exploration/src/main/resources/META-INF/mods.toml b/exploration/src/main/resources/META-INF/mods.toml index f879ef963..d5289a11d 100644 --- a/exploration/src/main/resources/META-INF/mods.toml +++ b/exploration/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[${lang_version},)" +loaderVersion="[2,)" issueTrackerURL="https://github.com/MrTJP/ProjectRed" license="MIT" @@ -15,38 +15,38 @@ license="MIT" Redstone. The way it was meant to be. ''' [[dependencies.projectred_exploration]] - modId="forge" - mandatory=true + modId="neoforge" + type="required" versionRange="[${forge_version},)" ordering="NONE" side="BOTH" [[dependencies.projectred_exploration]] modId="minecraft" - mandatory=true - versionRange="[1.20.1]" + type="required" + versionRange="[1.20.4]" ordering="AFTER" side="BOTH" [[dependencies.projectred_exploration]] modId="codechickenlib" - mandatory=true + type="required" versionRange="[${ccl_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_exploration]] modId="cb_multipart" - mandatory=true + type="required" versionRange="[${cbm_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_exploration]] modId="cb_microblock" - mandatory=true + type="required" versionRange="[${cbm_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_exploration]] modId="projectred_core" - mandatory=true + type="required" versionRange="[${file.jarVersion},)" ordering="AFTER" side="BOTH" diff --git a/fabrication/build.gradle b/fabrication/build.gradle index b53e100ee..851af55b8 100644 --- a/fabrication/build.gradle +++ b/fabrication/build.gradle @@ -1,34 +1,30 @@ plugins { - id 'net.neoforged.gradle' + id 'net.neoforged.gradle.userdev' id 'com.github.johnrengelman.shadow' } String mod_id = 'projectred_fabrication' minecraft { - mappings channel: mcp_mappings, version: mcp_mappings_version - accessTransformer = file("../core/src/main/resources/META-INF/accesstransformer.cfg") - runs { - data { - property 'mixin.env.remapRefMap', 'true' - property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" - - ideaModule "${rootProject.name}.${project.name}.main" - - workingDirectory file('run') - args '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") - mods { - '${mod_id}' { source sourceSets.main } - } - } + accessTransformers.file file("../core/src/main/resources/META-INF/accesstransformer.cfg") +} + +runs { + data { + systemProperty 'mixin.env.remapRefMap', 'true' + systemProperty 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + + workingDirectory file('run') + programArguments.addAll '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") + modSource sourceSets.main } } dependencies { - minecraft "net.neoforged:forge:${mc_version}-${forge_version}" + implementation "net.neoforged:neoforge:${forge_version}" - implementation fg.deobf("io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal") - implementation fg.deobf("io.codechicken:CBMultipart:${mc_version}-${cbm_version}:universal") + implementation "io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}" + implementation "io.codechicken:CBMultipart:${mc_version}-${cbm_version}" implementation project(":core") @@ -46,14 +42,7 @@ shadowJar { // Jar configurations archiveClassifier = jar.archiveClassifier configurations = [project.configurations.shadow] - - // Attach reobf task - finalizedBy 'reobfShadowJar' } build.dependsOn shadowJar -reobf { - jar { enabled = false } // Disable unshaded jar - shadowJar { } // Enable shadow jar reobf -} diff --git a/fabrication/src/main/generated/.cache/af9e6e51e4f0a9c76d168bf51cd141f0b8234be4 b/fabrication/src/main/generated/.cache/2b832aea76cf0b2d39e9eefa68e4d55f0e7691bb similarity index 50% rename from fabrication/src/main/generated/.cache/af9e6e51e4f0a9c76d168bf51cd141f0b8234be4 rename to fabrication/src/main/generated/.cache/2b832aea76cf0b2d39e9eefa68e4d55f0e7691bb index d6d5478bb..6c7b481d4 100644 --- a/fabrication/src/main/generated/.cache/af9e6e51e4f0a9c76d168bf51cd141f0b8234be4 +++ b/fabrication/src/main/generated/.cache/2b832aea76cf0b2d39e9eefa68e4d55f0e7691bb @@ -1,2 +1,2 @@ -// 1.20.1 2024-08-15T10:56:47.975786 ProjectRed-Fabrication Languages: en_us +// 1.20.4 2024-11-23T20:01:25.944075 Languages: en_us for mod: projectred_fabrication 2d7d38de5e785dd19cfb12c6cc8885486ac71c1f assets/projectred_fabrication/lang/en_us.json diff --git a/fabrication/src/main/generated/.cache/4cbdb80d40a3d0a708ad9fd5e4bf268842bd5f55 b/fabrication/src/main/generated/.cache/4cbdb80d40a3d0a708ad9fd5e4bf268842bd5f55 index 1398c7a4e..ab3e432ec 100644 --- a/fabrication/src/main/generated/.cache/4cbdb80d40a3d0a708ad9fd5e4bf268842bd5f55 +++ b/fabrication/src/main/generated/.cache/4cbdb80d40a3d0a708ad9fd5e4bf268842bd5f55 @@ -1,4 +1,4 @@ -// 1.20.1 2024-11-20T10:19:10.612339 projectred_fabrication Item models. +// 1.20.4 2024-11-23T20:01:25.931268 projectred_fabrication Item models. 1ed00fc3905c39043afd5719cad608e5f9083e9b assets/projectred_fabrication/models/item/blank_photomask.json ad27f25b0b09f179175e551b1f53b0d5b44ede55 assets/projectred_fabrication/models/item/etched_silicon_wafer.json 1ad624e432abba49e3dca47630174141d067ebb1 assets/projectred_fabrication/models/item/fabricated_gate.json diff --git a/fabrication/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/fabrication/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d new file mode 100644 index 000000000..d2a77f113 --- /dev/null +++ b/fabrication/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -0,0 +1,5 @@ +// 1.20.4 2024-11-23T20:01:25.942416 Loot Tables +0a9a4d46d97ea2505f1bc426b01b9115b2beb8d2 data/projectred_fabrication/loot_tables/blocks/ic_workbench.json +0461b86faea0d61301092ed07b378ffc1ca86a15 data/projectred_fabrication/loot_tables/blocks/lithography_table.json +3600d1d9fb076713d61edb43e92945f8957549e0 data/projectred_fabrication/loot_tables/blocks/packaging_table.json +f68584b83a846928dda25e6c8ae5292e5e0565d3 data/projectred_fabrication/loot_tables/blocks/plotting_table.json diff --git a/fabrication/src/main/generated/.cache/be5cfc6003b431d679c396a0b090bde538563248 b/fabrication/src/main/generated/.cache/be5cfc6003b431d679c396a0b090bde538563248 deleted file mode 100644 index d22e5f336..000000000 --- a/fabrication/src/main/generated/.cache/be5cfc6003b431d679c396a0b090bde538563248 +++ /dev/null @@ -1,5 +0,0 @@ -// 1.20.1 2024-06-22T11:09:16.614308 projectred_fabrication Block Loot Tables -170a77041b752756521029fe2d36dc0952fa584e data/projectred_fabrication/loot_tables/blocks/ic_workbench.json -22bcef3df841e4276c942f4cdfdbe2147bb0a0b7 data/projectred_fabrication/loot_tables/blocks/lithography_table.json -473b02f14e0d6f9558ac074a2a85bccc87f39902 data/projectred_fabrication/loot_tables/blocks/packaging_table.json -8a9d97721b3b18c0ff75aa203c9c033290e1f3dd data/projectred_fabrication/loot_tables/blocks/plotting_table.json diff --git a/fabrication/src/main/generated/.cache/e5496206be7dec22fb1b8834725b534373bac693 b/fabrication/src/main/generated/.cache/e5496206be7dec22fb1b8834725b534373bac693 index fdc9fb66b..4cf5de440 100644 --- a/fabrication/src/main/generated/.cache/e5496206be7dec22fb1b8834725b534373bac693 +++ b/fabrication/src/main/generated/.cache/e5496206be7dec22fb1b8834725b534373bac693 @@ -1,4 +1,4 @@ -// 1.20.1 2024-05-02T16:38:46.521842 ProjectRed-Fabrication Block Models +// 1.20.4 2024-11-23T20:01:25.939973 ProjectRed-Fabrication Block Models 4d6ff59c7e810f5e47206f2d34ffe02527e0bd73 assets/projectred_fabrication/blockstates/ic_workbench.json 54b70212874635024eca1ebd9fac061e8a0317c6 assets/projectred_fabrication/blockstates/lithography_table.json ac43ba0d55a2eab53825850f85f30c556fc6c1cc assets/projectred_fabrication/blockstates/packaging_table.json diff --git a/fabrication/src/main/generated/.cache/ecf74947a17045657ad4a04149b350d83010c996 b/fabrication/src/main/generated/.cache/ecf74947a17045657ad4a04149b350d83010c996 index 0c83088a9..0d217391d 100644 --- a/fabrication/src/main/generated/.cache/ecf74947a17045657ad4a04149b350d83010c996 +++ b/fabrication/src/main/generated/.cache/ecf74947a17045657ad4a04149b350d83010c996 @@ -1,3 +1,3 @@ -// 1.20.1 2024-06-22T11:09:16.61667 Tags for minecraft:block mod id projectred_fabrication +// 1.20.4 2024-11-23T20:01:25.944939 Tags for minecraft:block mod id projectred_fabrication 44a36d21accd9b32360c42fd97ae81903501584c data/minecraft/tags/blocks/mineable/pickaxe.json 44a36d21accd9b32360c42fd97ae81903501584c data/minecraft/tags/blocks/needs_stone_tool.json diff --git a/fabrication/src/main/generated/.cache/f4bc7ca4a5ee1414f9ce87c9fc7ed455122fbce7 b/fabrication/src/main/generated/.cache/f4bc7ca4a5ee1414f9ce87c9fc7ed455122fbce7 index 41fb4fcc4..9b6f1e956 100644 --- a/fabrication/src/main/generated/.cache/f4bc7ca4a5ee1414f9ce87c9fc7ed455122fbce7 +++ b/fabrication/src/main/generated/.cache/f4bc7ca4a5ee1414f9ce87c9fc7ed455122fbce7 @@ -1,8 +1,8 @@ -// 1.20.1 2024-05-02T16:38:46.522359 projectred_fabrication Recipes. -e2c7615fa75237534772192d7240a93b6d883cb8 data/projectred_fabrication/recipes/blank_photomask.json -32a3a6d0d27bbaae4bd6e8fee3e171142741f5fa data/projectred_fabrication/recipes/ic_blueprint.json -09a2f49fb9df3cb19523f035921ca050e1830268 data/projectred_fabrication/recipes/ic_workbench.json -d9ab9bb7e33f0bf687786a2b7c71ba93cd03b0b8 data/projectred_fabrication/recipes/lithography_table.json -15c57da3b1dd4a8d08191011b3b935cf3ca4ad7d data/projectred_fabrication/recipes/packaging_table.json -f1b409f544edd4625c9d6e37d4ec62af3745fc06 data/projectred_fabrication/recipes/plotting_table.json -1cdc2e40cfe27f59d2de5f76ee12f738e7e4af11 data/projectred_fabrication/recipes/rough_silicon_wafer.json +// 1.20.4 2024-11-23T20:01:25.945558 projectred_fabrication Recipes. +5b666113bcf35f6f5b0c6134c96a337ca6dd90c2 data/projectred_fabrication/recipes/blank_photomask.json +69f3bb0aed66bcb568d69ffc29e80a32dc79c3c5 data/projectred_fabrication/recipes/ic_blueprint.json +1e95382d75a7209cc3dd5d06ad3d423b58c61d8c data/projectred_fabrication/recipes/ic_workbench.json +45ace07eab280ed0f00b74a472b4a23f1168577a data/projectred_fabrication/recipes/lithography_table.json +87490d51da06eb840a50cf6b37823700d755ae1d data/projectred_fabrication/recipes/packaging_table.json +3921f4e6b01af7603cad1a7aab2c78983b1c5451 data/projectred_fabrication/recipes/plotting_table.json +9a8cd59f736f25c9524f51259159b0386e36366d data/projectred_fabrication/recipes/rough_silicon_wafer.json diff --git a/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/ic_workbench.json b/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/ic_workbench.json index 50713e667..a2854366c 100644 --- a/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/ic_workbench.json +++ b/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/ic_workbench.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_fabrication:blocks/ic_workbench" } \ No newline at end of file diff --git a/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/lithography_table.json b/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/lithography_table.json index 39235f31d..95e1d5f2f 100644 --- a/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/lithography_table.json +++ b/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/lithography_table.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_fabrication:blocks/lithography_table" } \ No newline at end of file diff --git a/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/packaging_table.json b/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/packaging_table.json index 6c5dfb780..298504e18 100644 --- a/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/packaging_table.json +++ b/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/packaging_table.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_fabrication:blocks/packaging_table" } \ No newline at end of file diff --git a/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/plotting_table.json b/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/plotting_table.json index b586a335d..8f11135a3 100644 --- a/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/plotting_table.json +++ b/fabrication/src/main/generated/data/projectred_fabrication/loot_tables/blocks/plotting_table.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_fabrication:blocks/plotting_table" } \ No newline at end of file diff --git a/fabrication/src/main/generated/data/projectred_fabrication/recipes/blank_photomask.json b/fabrication/src/main/generated/data/projectred_fabrication/recipes/blank_photomask.json index bd1e2c217..9b2586716 100644 --- a/fabrication/src/main/generated/data/projectred_fabrication/recipes/blank_photomask.json +++ b/fabrication/src/main/generated/data/projectred_fabrication/recipes/blank_photomask.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "g": { "tag": "forge:glass_panes" diff --git a/fabrication/src/main/generated/data/projectred_fabrication/recipes/ic_blueprint.json b/fabrication/src/main/generated/data/projectred_fabrication/recipes/ic_blueprint.json index 7e80fc63d..63a80f5fa 100644 --- a/fabrication/src/main/generated/data/projectred_fabrication/recipes/ic_blueprint.json +++ b/fabrication/src/main/generated/data/projectred_fabrication/recipes/ic_blueprint.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "b": { "tag": "forge:dyes/blue" diff --git a/fabrication/src/main/generated/data/projectred_fabrication/recipes/ic_workbench.json b/fabrication/src/main/generated/data/projectred_fabrication/recipes/ic_workbench.json index 3ab77a44b..14f7b8c8c 100644 --- a/fabrication/src/main/generated/data/projectred_fabrication/recipes/ic_workbench.json +++ b/fabrication/src/main/generated/data/projectred_fabrication/recipes/ic_workbench.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "b": { "item": "projectred_fabrication:ic_blueprint" diff --git a/fabrication/src/main/generated/data/projectred_fabrication/recipes/lithography_table.json b/fabrication/src/main/generated/data/projectred_fabrication/recipes/lithography_table.json index 0cd82552b..850e527fe 100644 --- a/fabrication/src/main/generated/data/projectred_fabrication/recipes/lithography_table.json +++ b/fabrication/src/main/generated/data/projectred_fabrication/recipes/lithography_table.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "b": { "tag": "forge:ingots/electrotine_alloy" diff --git a/fabrication/src/main/generated/data/projectred_fabrication/recipes/packaging_table.json b/fabrication/src/main/generated/data/projectred_fabrication/recipes/packaging_table.json index a0fd6f58d..85d7227d1 100644 --- a/fabrication/src/main/generated/data/projectred_fabrication/recipes/packaging_table.json +++ b/fabrication/src/main/generated/data/projectred_fabrication/recipes/packaging_table.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "b": { "tag": "forge:ingots/electrotine_alloy" diff --git a/fabrication/src/main/generated/data/projectred_fabrication/recipes/plotting_table.json b/fabrication/src/main/generated/data/projectred_fabrication/recipes/plotting_table.json index d8522ee97..597a77681 100644 --- a/fabrication/src/main/generated/data/projectred_fabrication/recipes/plotting_table.json +++ b/fabrication/src/main/generated/data/projectred_fabrication/recipes/plotting_table.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "b": { "tag": "forge:ingots/electrotine_alloy" diff --git a/fabrication/src/main/generated/data/projectred_fabrication/recipes/rough_silicon_wafer.json b/fabrication/src/main/generated/data/projectred_fabrication/recipes/rough_silicon_wafer.json index 98ced680a..0e70d99fb 100644 --- a/fabrication/src/main/generated/data/projectred_fabrication/recipes/rough_silicon_wafer.json +++ b/fabrication/src/main/generated/data/projectred_fabrication/recipes/rough_silicon_wafer.json @@ -1,11 +1,10 @@ { "type": "minecraft:smelting", + "category": "misc", "cookingtime": 200, "experience": 0.0, "ingredient": { "item": "projectred_core:silicon" }, - "result": { - "item": "projectred_fabrication:rough_silicon_wafer" - } + "result": "projectred_fabrication:rough_silicon_wafer" } \ No newline at end of file diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/ProjectRedFabrication.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/ProjectRedFabrication.java index 61c3d0303..97107366f 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/ProjectRedFabrication.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/ProjectRedFabrication.java @@ -3,6 +3,7 @@ import codechicken.multipart.api.MultipartType; import mrtjp.projectred.fabrication.data.*; import mrtjp.projectred.fabrication.init.*; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; @@ -11,35 +12,36 @@ import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.data.event.GatherDataEvent; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; +import net.neoforged.fml.loading.FMLEnvironment; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.data.event.GatherDataEvent; +import net.neoforged.neoforge.registries.DeferredRegister; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.Nullable; import static mrtjp.projectred.fabrication.ProjectRedFabrication.MOD_ID; -@Mod (MOD_ID) +@Mod(MOD_ID) public class ProjectRedFabrication { public static final String MOD_ID = "projectred_fabrication"; public static final Logger LOGGER = LogManager.getLogger(MOD_ID); - public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MOD_ID); - public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID); - public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, MOD_ID); - public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(ForgeRegistries.MENU_TYPES, MOD_ID); + public static final DeferredRegister BLOCKS = DeferredRegister.create(BuiltInRegistries.BLOCK, MOD_ID); + public static final DeferredRegister ITEMS = DeferredRegister.create(BuiltInRegistries.ITEM, MOD_ID); + public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(BuiltInRegistries.BLOCK_ENTITY_TYPE, MOD_ID); + public static final DeferredRegister> MENU_TYPES = DeferredRegister.create(BuiltInRegistries.MENU, MOD_ID); public static final DeferredRegister> PARTS = DeferredRegister.create(MultipartType.MULTIPART_TYPES, MOD_ID); public static final DeferredRegister CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID); + private static @Nullable ModContainer container; + static { FabricationBlocks.register(); FabricationMenus.register(); @@ -48,13 +50,15 @@ public class ProjectRedFabrication { FabricationCreativeModeTab.register(); } - public ProjectRedFabrication() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); + public ProjectRedFabrication(ModContainer container, IEventBus modEventBus) { + ProjectRedFabrication.container = container; modEventBus.addListener(this::commonSetup); modEventBus.addListener(this::onGatherDataEvent); - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> FabricationClientInit::init); + if (FMLEnvironment.dist.isClient()) { + FabricationClientInit.init(modEventBus); + } BLOCKS.register(modEventBus); ITEMS.register(modEventBus); diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationBlockStateModelProvider.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationBlockStateModelProvider.java index eced27179..a9e7bf4c7 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationBlockStateModelProvider.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationBlockStateModelProvider.java @@ -4,14 +4,14 @@ import mrtjp.projectred.fabrication.ProjectRedFabrication; import mrtjp.projectred.fabrication.block.FabricationMachineBlock; import mrtjp.projectred.fabrication.block.ICWorkbenchBlock; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.PackOutput; import net.minecraft.world.level.block.Block; -import net.minecraftforge.client.model.generators.BlockModelBuilder; -import net.minecraftforge.client.model.generators.BlockStateProvider; -import net.minecraftforge.client.model.generators.ConfiguredModel; -import net.minecraftforge.client.model.generators.ModelFile; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.client.model.generators.BlockModelBuilder; +import net.neoforged.neoforge.client.model.generators.BlockStateProvider; +import net.neoforged.neoforge.client.model.generators.ConfiguredModel; +import net.neoforged.neoforge.client.model.generators.ModelFile; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import javax.annotation.Nonnull; @@ -73,7 +73,7 @@ private void addRotatableDomedMachineVariants(Block block, ModelFile workingMode } private BlockModelBuilder createDomedMachineModelFileForBlock(Block block, int chargeState) { - String textureName = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String textureName = BuiltInRegistries.BLOCK.getKey(block).getPath(); String modelName = textureName + (chargeState > 0 ? "_state" + chargeState : ""); return models() .withExistingParent(modelName, modLoc("block/domed_machine")) @@ -86,7 +86,7 @@ private BlockModelBuilder createDomedMachineModelFileForBlock(Block block, int c } private BlockModelBuilder createICWorkbenchModel(Block block, boolean hasBlueprint) { - String textureName = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String textureName = BuiltInRegistries.BLOCK.getKey(block).getPath(); String suffix = hasBlueprint ? "" : "_empty"; String modelName = textureName + suffix; return models().cube(modelName, diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationBlockTagsProvider.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationBlockTagsProvider.java index 18ff23752..d88ae80ea 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationBlockTagsProvider.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationBlockTagsProvider.java @@ -3,8 +3,8 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.tags.BlockTags; -import net.minecraftforge.common.data.BlockTagsProvider; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationItemModelProvider.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationItemModelProvider.java index f3ff9057d..0576e695f 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationItemModelProvider.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationItemModelProvider.java @@ -3,7 +3,7 @@ import codechicken.lib.datagen.ItemModelProvider; import mrtjp.projectred.integration.client.GatePartItemRenderer; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import static mrtjp.projectred.fabrication.ProjectRedFabrication.MOD_ID; import static mrtjp.projectred.fabrication.init.FabricationBlocks.*; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationLanguageProvider.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationLanguageProvider.java index aa3e2b218..9605a8a7e 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationLanguageProvider.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationLanguageProvider.java @@ -1,7 +1,7 @@ package mrtjp.projectred.fabrication.data; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.LanguageProvider; +import net.neoforged.neoforge.common.data.LanguageProvider; import static mrtjp.projectred.fabrication.ProjectRedFabrication.MOD_ID; import static mrtjp.projectred.fabrication.init.FabricationBlocks.*; @@ -15,11 +15,6 @@ public FabricationLanguageProvider(PackOutput output) { super(output, MOD_ID, "en_us"); } - @Override - public String getName() { - return "ProjectRed-Fabrication Languages: en_us"; - } - @Override protected void addTranslations() { diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationLootTableProvider.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationLootTableProvider.java index bae1ade17..7a22d944d 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationLootTableProvider.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationLootTableProvider.java @@ -1,22 +1,47 @@ package mrtjp.projectred.fabrication.data; -import codechicken.lib.datagen.LootTableProvider; +import mrtjp.projectred.fabrication.ProjectRedFabrication; +import net.minecraft.core.Holder; import net.minecraft.data.PackOutput; +import net.minecraft.data.loot.BlockLootSubProvider; +import net.minecraft.data.loot.LootTableProvider; +import net.minecraft.world.flag.FeatureFlags; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; + +import java.util.List; +import java.util.Set; -import static mrtjp.projectred.fabrication.ProjectRedFabrication.MOD_ID; import static mrtjp.projectred.fabrication.init.FabricationBlocks.*; -public class FabricationLootTableProvider extends LootTableProvider.BlockLootProvider { +public class FabricationLootTableProvider extends LootTableProvider { public FabricationLootTableProvider(PackOutput output) { - super(output, MOD_ID); + super(output, Set.of(), List.of( + new LootTableProvider.SubProviderEntry(BlockLootTables::new, LootContextParamSets.BLOCK) + )); } - @Override - protected void registerTables() { - register(IC_WORKBENCH_BLOCK.get(), singleItem(IC_WORKBENCH_BLOCK.get())); - register(PLOTTING_TABLE_BLOCK.get(), singleItem(PLOTTING_TABLE_BLOCK.get())); - register(LITHOGRAPHY_TABLE_BLOCK.get(), singleItem(LITHOGRAPHY_TABLE_BLOCK.get())); - register(PACKAGING_TABLE_BLOCK.get(), singleItem(PACKAGING_TABLE_BLOCK.get())); + private static final class BlockLootTables extends BlockLootSubProvider { + + BlockLootTables() { + super(Set.of(), FeatureFlags.REGISTRY.allFlags()); + } + + @Override + protected Iterable getKnownBlocks() { + return ProjectRedFabrication.BLOCKS.getEntries() + .stream() + .map(Holder::value) + .toList(); + } + + @Override + protected void generate() { + dropSelf(IC_WORKBENCH_BLOCK.get()); + dropSelf(PLOTTING_TABLE_BLOCK.get()); + dropSelf(LITHOGRAPHY_TABLE_BLOCK.get()); + dropSelf(PACKAGING_TABLE_BLOCK.get()); + } } } diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationRecipeProvider.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationRecipeProvider.java index 145702403..0bdce17e4 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationRecipeProvider.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/data/FabricationRecipeProvider.java @@ -5,7 +5,7 @@ import net.minecraft.tags.ItemTags; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Blocks; -import net.minecraftforge.common.Tags; +import net.neoforged.neoforge.common.Tags; import static mrtjp.projectred.core.init.CoreItems.PLATE_ITEM; import static mrtjp.projectred.core.init.CoreItems.SILICON_ITEM; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/BaseICEditorTool.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/BaseICEditorTool.java index 8558c4e9e..beb56d1d9 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/BaseICEditorTool.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/BaseICEditorTool.java @@ -4,8 +4,8 @@ import mrtjp.fengine.TileCoord; import mrtjp.projectred.fabrication.editor.ICWorkbenchEditor; import net.minecraft.network.chat.Component; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import javax.annotation.Nullable; import java.util.List; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/EraseTool.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/EraseTool.java index 29dcb99c7..2e5f9e27a 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/EraseTool.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/EraseTool.java @@ -11,8 +11,8 @@ import mrtjp.projectred.fabrication.gui.ICRenderTypes; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.lwjgl.glfw.GLFW; import static mrtjp.projectred.fabrication.editor.tools.IICEditorTool.toNearestPosition; @@ -115,7 +115,7 @@ public void toolDeactivated() { } @Override - @OnlyIn (Dist.CLIENT) + @OnlyIn(Dist.CLIENT) public void renderOverlay(Vector3 mousePosition, boolean isFirstHit, CCRenderState ccrs, MultiBufferSource getter, PoseStack matrixStack) { if (!isFirstHit) return; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/GatePlacerTool.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/GatePlacerTool.java index 8777aa9b7..034d473b7 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/GatePlacerTool.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/GatePlacerTool.java @@ -18,8 +18,8 @@ import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.network.chat.Component; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.lwjgl.glfw.GLFW; import java.util.List; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/HotKeyInteractionZone.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/HotKeyInteractionZone.java index 146b0da7e..52079eece 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/HotKeyInteractionZone.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/HotKeyInteractionZone.java @@ -15,8 +15,8 @@ import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.lwjgl.glfw.GLFW; import java.util.List; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/IICEditorTool.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/IICEditorTool.java index 3ca378bd7..a554bbd55 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/IICEditorTool.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/IICEditorTool.java @@ -10,8 +10,8 @@ import mrtjp.projectred.fabrication.editor.ICWorkbenchEditor; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.network.chat.Component; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import java.util.List; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/InteractTool.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/InteractTool.java index 1b25e7fb8..42e7c6172 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/InteractTool.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/InteractTool.java @@ -11,8 +11,8 @@ import net.covers1624.quack.collection.FastStream; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.network.chat.Component; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.lwjgl.glfw.GLFW; import javax.annotation.Nullable; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/InteractionZone.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/InteractionZone.java index db768a9dd..1973caf0d 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/InteractionZone.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/InteractionZone.java @@ -5,8 +5,8 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.network.chat.Component; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import java.util.List; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/SimpleInteractionZone.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/SimpleInteractionZone.java index 09dc10734..dffeca30b 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/SimpleInteractionZone.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/SimpleInteractionZone.java @@ -9,8 +9,8 @@ import mrtjp.projectred.fabrication.gui.ICRenderTypes; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.network.chat.Component; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import java.util.List; import java.util.function.Consumer; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/WirePlacerTool.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/WirePlacerTool.java index 799b8c4eb..593ab9ca2 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/WirePlacerTool.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/editor/tools/WirePlacerTool.java @@ -16,8 +16,8 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.lwjgl.glfw.GLFW; import java.util.HashSet; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/BaseTile.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/BaseTile.java index 9ac542037..372f63067 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/BaseTile.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/BaseTile.java @@ -10,8 +10,8 @@ import mrtjp.projectred.fabrication.editor.tools.InteractionZone; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import javax.annotation.Nullable; import java.util.LinkedList; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/gates/SimpleTimedStateGateTile.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/gates/SimpleTimedStateGateTile.java index 7248181ae..c9e73a594 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/gates/SimpleTimedStateGateTile.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/gates/SimpleTimedStateGateTile.java @@ -4,8 +4,8 @@ import mrtjp.projectred.fabrication.editor.ICWorkbenchEditor; import mrtjp.projectred.fabrication.editor.tools.InteractionZone; import net.minecraft.network.chat.Component; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import java.util.List; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/log/CompileProblem.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/log/CompileProblem.java index 9058ea993..5e930f152 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/log/CompileProblem.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/engine/log/CompileProblem.java @@ -9,8 +9,8 @@ import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import java.util.List; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/ICRenderNode.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/ICRenderNode.java index 688d0dcca..b21d4634f 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/ICRenderNode.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/ICRenderNode.java @@ -269,10 +269,10 @@ public boolean mouseDragged(Point p, int glfwMouseButton, long timeHeld, boolean } @Override - public boolean mouseScrolled(Point p, double scroll, boolean consumed) { + public boolean mouseScrolled(Point p, double scrollX, double scrollY, boolean consumed) { lastMousePos = p; if (!consumed && isFirstHit(p)) { - eventReceiver.mouseScrolled(this, mouseToWorld(p), scroll); + eventReceiver.mouseScrolled(this, mouseToWorld(p), scrollY); return true; } return false; diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/ICRenderTypes.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/ICRenderTypes.java index 5a81eed88..3f9360531 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/ICRenderTypes.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/ICRenderTypes.java @@ -20,7 +20,7 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.client.event.TextureStitchEvent; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; import org.joml.Matrix4f; import java.util.OptionalDouble; @@ -352,7 +352,7 @@ public void sortComponents(Cuboid6 c) { } } - public static void onTextureStitchEvent(TextureStitchEvent.Post event) { + public static void onTextureStitchEvent(TextureAtlasStitchedEvent event) { if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return; icSurfaceIcon = event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/workbench_ui/perfboard")); diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/screen/ICWorkbenchScreen.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/screen/ICWorkbenchScreen.java index 12e2d3ec5..5a98c4a5e 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/screen/ICWorkbenchScreen.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/gui/screen/ICWorkbenchScreen.java @@ -15,10 +15,10 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.registries.ForgeRegistries; import org.lwjgl.glfw.GLFW; import javax.annotation.Nullable; @@ -42,7 +42,7 @@ public class ICWorkbenchScreen extends RedUIScreen { private @Nullable InactiveOverlayNode overlayNode; public ICWorkbenchScreen(ICWorkbenchTile tile) { - super(304, 222, Component.literal(Objects.requireNonNull(ForgeRegistries.BLOCK_ENTITY_TYPES.getKey(tile.getType())).toString())); + super(304, 222, Component.literal(Objects.requireNonNull(BuiltInRegistries.BLOCK_ENTITY_TYPE.getKey(tile.getType())).toString())); this.tile = tile; this.editor = tile.getEditor(); diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationBlocks.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationBlocks.java index 1695ca4fc..8ebc2c83a 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationBlocks.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationBlocks.java @@ -11,7 +11,8 @@ import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.fabrication.ProjectRedFabrication.*; @@ -24,16 +25,16 @@ public class FabricationBlocks { public static final String ID_PACKAGING_TABLE = "packaging_table"; // Blocks - public static RegistryObject IC_WORKBENCH_BLOCK; - public static RegistryObject PLOTTING_TABLE_BLOCK; - public static RegistryObject LITHOGRAPHY_TABLE_BLOCK; - public static RegistryObject PACKAGING_TABLE_BLOCK; + public static Supplier IC_WORKBENCH_BLOCK; + public static Supplier PLOTTING_TABLE_BLOCK; + public static Supplier LITHOGRAPHY_TABLE_BLOCK; + public static Supplier PACKAGING_TABLE_BLOCK; // Block Entities - public static RegistryObject> IC_WORKBENCH_TILE; - public static RegistryObject> PLOTTING_TABLE_TILE; - public static RegistryObject> LITHOGRAPHY_TABLE_TILE; - public static RegistryObject> PACKAGING_TABLE_TILE; + public static Supplier> IC_WORKBENCH_TILE; + public static Supplier> PLOTTING_TABLE_TILE; + public static Supplier> LITHOGRAPHY_TABLE_TILE; + public static Supplier> PACKAGING_TABLE_TILE; public static void register() { diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationClientInit.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationClientInit.java index 527a14eb2..90d4d0eef 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationClientInit.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationClientInit.java @@ -7,18 +7,15 @@ import mrtjp.projectred.fabrication.gui.screen.inventory.PlottingTableScreen; import mrtjp.projectred.integration.client.GatePartRenderer; import net.minecraft.client.gui.screens.MenuScreens; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; import static mrtjp.projectred.fabrication.init.FabricationMenus.*; @SuppressWarnings("DataFlowIssue") public class FabricationClientInit { - public static void init() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); - + public static void init(IEventBus modEventBus) { modEventBus.addListener(FabricationClientInit::clientSetup); // Register sprites diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationCreativeModeTab.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationCreativeModeTab.java index 4e4b6d5de..d4ec440bc 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationCreativeModeTab.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationCreativeModeTab.java @@ -4,7 +4,8 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.fabrication.ProjectRedFabrication.MOD_ID; import static mrtjp.projectred.fabrication.init.FabricationBlocks.*; @@ -12,7 +13,7 @@ public class FabricationCreativeModeTab { - public static RegistryObject FABRICATION_CREATIVE_TAB; + public static Supplier FABRICATION_CREATIVE_TAB; public static void register() { FABRICATION_CREATIVE_TAB = ProjectRedIntegration.CREATIVE_TABS.register("fabrication", diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationItems.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationItems.java index ec0eb3563..2e2d92121 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationItems.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationItems.java @@ -1,7 +1,8 @@ package mrtjp.projectred.fabrication.init; import mrtjp.projectred.fabrication.item.*; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.fabrication.ProjectRedFabrication.ITEMS; @@ -16,13 +17,13 @@ public class FabricationItems { public static final String ID_VALID_DIE = "valid_die"; public static final String ID_INVALID_DIE = "invalid_die"; - public static RegistryObject IC_BLUEPRINT_ITEM; - public static RegistryObject BLANK_PHOTOMASK_ITEM; - public static RegistryObject PHOTOMASK_SET_ITEM; - public static RegistryObject ROUGH_SILICON_WAFER_ITEM; - public static RegistryObject ETCHED_SILICON_WAFER_ITEM; - public static RegistryObject VALID_DIE_ITEM; - public static RegistryObject INVALID_DIE_ITEM; + public static Supplier IC_BLUEPRINT_ITEM; + public static Supplier BLANK_PHOTOMASK_ITEM; + public static Supplier PHOTOMASK_SET_ITEM; + public static Supplier ROUGH_SILICON_WAFER_ITEM; + public static Supplier ETCHED_SILICON_WAFER_ITEM; + public static Supplier VALID_DIE_ITEM; + public static Supplier INVALID_DIE_ITEM; public static void register() { diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationMenus.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationMenus.java index 674ea0c65..fddbd20fc 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationMenus.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationMenus.java @@ -5,7 +5,8 @@ import mrtjp.projectred.fabrication.inventory.container.PackagingTableContainer; import mrtjp.projectred.fabrication.inventory.container.PlottingTableContainer; import net.minecraft.world.inventory.MenuType; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.fabrication.ProjectRedFabrication.MENU_TYPES; import static mrtjp.projectred.fabrication.init.FabricationBlocks.*; @@ -13,9 +14,9 @@ @SuppressWarnings("NotNullFieldNotInitialized") public class FabricationMenus { - public static RegistryObject> PLOTTING_TABLE_CONTAINER; - public static RegistryObject> LITHOGRAPHY_TABLE_CONTAINER; - public static RegistryObject> PACKAGING_TABLE_CONTAINER; + public static Supplier> PLOTTING_TABLE_CONTAINER; + public static Supplier> LITHOGRAPHY_TABLE_CONTAINER; + public static Supplier> PACKAGING_TABLE_CONTAINER; public static void register() { diff --git a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationParts.java b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationParts.java index 5d366bb54..06bd13dda 100644 --- a/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationParts.java +++ b/fabrication/src/main/java/mrtjp/projectred/fabrication/init/FabricationParts.java @@ -6,7 +6,8 @@ import mrtjp.projectred.fabrication.part.FabricatedGatePart; import mrtjp.projectred.integration.GateType; import mrtjp.projectred.integration.part.GatePart; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.fabrication.ProjectRedFabrication.ITEMS; import static mrtjp.projectred.fabrication.ProjectRedFabrication.PARTS; @@ -16,8 +17,8 @@ public class FabricationParts { public static final String ID_FABRICATED_GATE = "fabricated_gate"; - public static RegistryObject FABRICATED_GATE_ITEM; - public static RegistryObject> FABRICATED_GATE_PART; + public static Supplier FABRICATED_GATE_ITEM; + public static Supplier> FABRICATED_GATE_PART; public static void register() { diff --git a/fabrication/src/main/resources/META-INF/mods.toml b/fabrication/src/main/resources/META-INF/mods.toml index 35ec938f8..ce437271c 100644 --- a/fabrication/src/main/resources/META-INF/mods.toml +++ b/fabrication/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[${lang_version},)" +loaderVersion="[2,)" issueTrackerURL="https://github.com/MrTJP/ProjectRed" license="MIT" @@ -15,44 +15,44 @@ license="MIT" Redstone. The way it was meant to be. ''' [[dependencies.projectred_fabrication]] - modId="forge" - mandatory=true + modId="neoforge" + type="required" versionRange="[${forge_version},)" ordering="NONE" side="BOTH" [[dependencies.projectred_fabrication]] modId="minecraft" - mandatory=true - versionRange="[1.20.1]" + type="required" + versionRange="[1.20.4]" ordering="NONE" side="BOTH" [[dependencies.projectred_fabrication]] modId="codechickenlib" - mandatory=true + type="required" versionRange="[${ccl_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_fabrication]] modId="cb_multipart" - mandatory=true + type="required" versionRange="[${cbm_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_fabrication]] modId="projectred_core" - mandatory=true + type="required" versionRange="[${file.jarVersion},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_fabrication]] modId="projectred_integration" - mandatory=true + type="required" versionRange="[${file.jarVersion},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_fabrication]] modId="projectred_transmission" - mandatory=true + type="required" versionRange="[${file.jarVersion},)" ordering="AFTER" side="BOTH" diff --git a/gradle.properties b/gradle.properties index a135cc841..37f758380 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,14 +1,12 @@ java_lang_version=17 -mc_version=1.20.1 -forge_version=47.1.65 -mcp_mappings=official -mcp_mappings_version=1.20.1 +mc_version=1.20.4 +forge_version=20.4.237 mod_version=5.0 -ccl_version=4.4.0.+ -cbm_version=3.3.0.+ +ccl_version=4.5.0.+ +cbm_version=3.4.0.+ -jei_version=15.3.0.+ +jei_version=17.3.0.56 cct_version=1.110.3 fabrication_version=0.1.0-alpha-19 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index c1962a79e29d3e0ab67b14947c167a862655af9b..d64cd4917707c1f8861d8cb53dd15194d4248596 100755 GIT binary patch literal 43462 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 literal 62076 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0c85a1f75..a80b22ce5 100755 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index aeb74cbb4..1aa94a426 100755 --- a/gradlew +++ b/gradlew @@ -83,7 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -130,10 +131,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. @@ -141,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -149,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -198,11 +202,11 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/gradlew.bat b/gradlew.bat index 6689b85be..7101f8e46 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -43,11 +43,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail diff --git a/illumination/build.gradle b/illumination/build.gradle index ac1cc6d87..b3a61a1ac 100644 --- a/illumination/build.gradle +++ b/illumination/build.gradle @@ -1,34 +1,29 @@ plugins { - id 'net.neoforged.gradle' + id 'net.neoforged.gradle.userdev' } String mod_id = 'projectred_illumination' minecraft { - mappings channel: mcp_mappings, version: mcp_mappings_version - accessTransformer = file("../core/src/main/resources/META-INF/accesstransformer.cfg") - runs { - data { - property 'mixin.env.remapRefMap', 'true' - property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + accessTransformers.file file("../core/src/main/resources/META-INF/accesstransformer.cfg") +} - ideaModule "${rootProject.name}.${project.name}.main" +runs { + data { + systemProperty 'mixin.env.remapRefMap', 'true' + systemProperty 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" - workingDirectory file('run') - args '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") - mods { - 'projectred_core' { source project(':core').sourceSets.main } - '${mod_id}' { source sourceSets.main } - } - } + workingDirectory file('run') + programArguments.addAll '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") + modSource sourceSets.main } } dependencies { - minecraft "net.neoforged:forge:${mc_version}-${forge_version}" + implementation "net.neoforged:neoforge:${forge_version}" - implementation fg.deobf("io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal") - implementation fg.deobf("io.codechicken:CBMultipart:${mc_version}-${cbm_version}:universal") + implementation "io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}" + implementation "io.codechicken:CBMultipart:${mc_version}-${cbm_version}" implementation project(":core") } diff --git a/illumination/src/main/generated/.cache/0bff00c43f6afffc865d20256c78224a8f143cd8 b/illumination/src/main/generated/.cache/0bff00c43f6afffc865d20256c78224a8f143cd8 index 7d090ed92..f8ea09e1f 100644 --- a/illumination/src/main/generated/.cache/0bff00c43f6afffc865d20256c78224a8f143cd8 +++ b/illumination/src/main/generated/.cache/0bff00c43f6afffc865d20256c78224a8f143cd8 @@ -1,4 +1,4 @@ -// 1.20.1 2024-11-20T10:11:58.441674 projectred_illumination Item models. +// 1.20.4 2024-11-23T20:03:11.735261 projectred_illumination Item models. 27f0a118dfb8a9917320c0c49f20fbf73c25d3da assets/projectred_illumination/models/item/black_cage_light.json 27f0a118dfb8a9917320c0c49f20fbf73c25d3da assets/projectred_illumination/models/item/black_fallout_light.json 27f0a118dfb8a9917320c0c49f20fbf73c25d3da assets/projectred_illumination/models/item/black_fixture_light.json diff --git a/illumination/src/main/generated/.cache/4e033b4e84f91a3ff5435be5ed3ba4017f58d203 b/illumination/src/main/generated/.cache/4e033b4e84f91a3ff5435be5ed3ba4017f58d203 index ccbeca4df..1ba84cddd 100644 --- a/illumination/src/main/generated/.cache/4e033b4e84f91a3ff5435be5ed3ba4017f58d203 +++ b/illumination/src/main/generated/.cache/4e033b4e84f91a3ff5435be5ed3ba4017f58d203 @@ -1,4 +1,4 @@ -// 1.20.1 2024-06-22T11:09:50.153264 Block States: projectred_illumination +// 1.20.4 2024-11-23T20:03:11.729105 Block States: projectred_illumination 0746294f4d3dd435feb6f198d7131a6fe4be71fa assets/projectred_illumination/blockstates/black_illumar_lamp.json 0746294f4d3dd435feb6f198d7131a6fe4be71fa assets/projectred_illumination/blockstates/black_inverted_illumar_lamp.json 14312633b8d330d240fa130218c89f36a16579c1 assets/projectred_illumination/blockstates/blue_illumar_lamp.json diff --git a/illumination/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/illumination/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d new file mode 100644 index 000000000..e8901cad2 --- /dev/null +++ b/illumination/src/main/generated/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -0,0 +1,34 @@ +// 1.20.4 2024-11-23T20:03:11.732185 Loot Tables +19e726fd5ace91278078aeb03e21695e5bde941d data/projectred_illumination/loot_tables/blocks/black_illumar_lamp.json +a4ca73c72c5bd1aaf2b62313d9385e3cdcb61b9a data/projectred_illumination/loot_tables/blocks/black_inverted_illumar_lamp.json +5df70be4a73c922023e3999e02da601183a62bc8 data/projectred_illumination/loot_tables/blocks/blue_illumar_lamp.json +1b164422854502966c863b513c320e0a30d579db data/projectred_illumination/loot_tables/blocks/blue_inverted_illumar_lamp.json +a9d4ffa9fb5fe6fb68ce82146a974f7ef3585253 data/projectred_illumination/loot_tables/blocks/brown_illumar_lamp.json +ac2805e2584c3946f13dde775089891ff20cfbe8 data/projectred_illumination/loot_tables/blocks/brown_inverted_illumar_lamp.json +1635876c879fff896d0b44ca409f5d16f602d1cb data/projectred_illumination/loot_tables/blocks/cyan_illumar_lamp.json +735a6f49917b5d33f9584da80d78d5dea944b64c data/projectred_illumination/loot_tables/blocks/cyan_inverted_illumar_lamp.json +2916c821d7bf14ccccc58c8770d41c97b05c4c24 data/projectred_illumination/loot_tables/blocks/gray_illumar_lamp.json +5a63ebe5700824bd4d2aeeff7bbb855228ad5acb data/projectred_illumination/loot_tables/blocks/gray_inverted_illumar_lamp.json +96cb3932ed64e2ccebaebe830142d883d3fcdcd9 data/projectred_illumination/loot_tables/blocks/green_illumar_lamp.json +7e61853f5d7fab681bab5a787f921597d82664d3 data/projectred_illumination/loot_tables/blocks/green_inverted_illumar_lamp.json +885cb6e09a3f3d87f4e3725c43628ac77dc095cb data/projectred_illumination/loot_tables/blocks/illumar_smart_lamp.json +26e9a8b6ba7604e4eef1c17fa7f95260e9a85de9 data/projectred_illumination/loot_tables/blocks/light_blue_illumar_lamp.json +441eb464a0e5af080db17fc174044e2e120e719f data/projectred_illumination/loot_tables/blocks/light_blue_inverted_illumar_lamp.json +3d5d851a1a709dbbb78aef75613afb7b2021be50 data/projectred_illumination/loot_tables/blocks/light_gray_illumar_lamp.json +d58ec7b1fb3ee7c4e78892f3bf64090f6b30fe05 data/projectred_illumination/loot_tables/blocks/light_gray_inverted_illumar_lamp.json +cf203190086b37971b8470b2cc2e8516be67fd4f data/projectred_illumination/loot_tables/blocks/lime_illumar_lamp.json +9382e69b527a2fd74268ea6cbccefca55e2537cb data/projectred_illumination/loot_tables/blocks/lime_inverted_illumar_lamp.json +9893d868ee106a9ad60d297925ae533970f72982 data/projectred_illumination/loot_tables/blocks/magenta_illumar_lamp.json +ebf8cb007cfbe84d6ed1293250a8ecb84b5e4b31 data/projectred_illumination/loot_tables/blocks/magenta_inverted_illumar_lamp.json +9fcb72a4ef0477c0fd5122aa4d85321e68ffd98a data/projectred_illumination/loot_tables/blocks/orange_illumar_lamp.json +b0b2204d35805706451415464e026265c9006e90 data/projectred_illumination/loot_tables/blocks/orange_inverted_illumar_lamp.json +bd65495e7948c8ed49ae44439f19681cec4ea14f data/projectred_illumination/loot_tables/blocks/pink_illumar_lamp.json +e21785fa4474bde5e2b1dfe42187fc8406566002 data/projectred_illumination/loot_tables/blocks/pink_inverted_illumar_lamp.json +e766ab1dd05098ea66d8da1e8b85ff29fcd8a6db data/projectred_illumination/loot_tables/blocks/purple_illumar_lamp.json +0519f440f553a60091ed86550e14371a8deab540 data/projectred_illumination/loot_tables/blocks/purple_inverted_illumar_lamp.json +861a5fc399f44d7d293994db829a610dc6318f17 data/projectred_illumination/loot_tables/blocks/red_illumar_lamp.json +409de99267065f82f5b0f8f58e07b53e0846b6e4 data/projectred_illumination/loot_tables/blocks/red_inverted_illumar_lamp.json +d6d982282be6b7b081445f2a32c1cc105bdece05 data/projectred_illumination/loot_tables/blocks/white_illumar_lamp.json +63eaa12e8c355819dde8bdc587b21f7e8e37e51a data/projectred_illumination/loot_tables/blocks/white_inverted_illumar_lamp.json +1211eb724ea8f4a96a84a96747ce96fa357a0d69 data/projectred_illumination/loot_tables/blocks/yellow_illumar_lamp.json +6d444283390b905e90e58aca2f019f0ba89a4596 data/projectred_illumination/loot_tables/blocks/yellow_inverted_illumar_lamp.json diff --git a/illumination/src/main/generated/.cache/7ae6c4ef44a093cc44e42d9d617e1d54a384e8ad b/illumination/src/main/generated/.cache/7ae6c4ef44a093cc44e42d9d617e1d54a384e8ad deleted file mode 100644 index 0fa8e66b4..000000000 --- a/illumination/src/main/generated/.cache/7ae6c4ef44a093cc44e42d9d617e1d54a384e8ad +++ /dev/null @@ -1,34 +0,0 @@ -// 1.20.1 2024-06-22T11:09:50.157743 projectred_illumination Block Loot Tables -ca2aba13d5b4bcbedec5753a41db442358432327 data/projectred_illumination/loot_tables/blocks/black_illumar_lamp.json -6f70dd57e208bacc8c06e451db975c57cfa5a3a6 data/projectred_illumination/loot_tables/blocks/black_inverted_illumar_lamp.json -df6b2b1652062f4dbcabe57c04201f9c03b655ca data/projectred_illumination/loot_tables/blocks/blue_illumar_lamp.json -4311e38c7c51769de7dd75708d98ad3849d0ef2d data/projectred_illumination/loot_tables/blocks/blue_inverted_illumar_lamp.json -d3b2894a132650c58f83d010f52b44ebb993a146 data/projectred_illumination/loot_tables/blocks/brown_illumar_lamp.json -59e3d0b5a912f75e77f5039294c6267d9730a456 data/projectred_illumination/loot_tables/blocks/brown_inverted_illumar_lamp.json -bb788ae84944232d3b1b6ac8e3037c5bd2df6acc data/projectred_illumination/loot_tables/blocks/cyan_illumar_lamp.json -bf9d87f4ec56c5a82548eca928f2a00e2f47048b data/projectred_illumination/loot_tables/blocks/cyan_inverted_illumar_lamp.json -55d2ed7d7bd3ea2c5a1ded1b1e1a2cb060f12472 data/projectred_illumination/loot_tables/blocks/gray_illumar_lamp.json -c7d386cf69bfcf351d594c19416129dcdb92a50c data/projectred_illumination/loot_tables/blocks/gray_inverted_illumar_lamp.json -93ce38abe30aa4f1d205453c89f750226d037031 data/projectred_illumination/loot_tables/blocks/green_illumar_lamp.json -44bca255835e3cd52a14a0d7ae64ca5c2af0f794 data/projectred_illumination/loot_tables/blocks/green_inverted_illumar_lamp.json -02a0f482e29ef8f4f2f4e4e36592d07d2af1332e data/projectred_illumination/loot_tables/blocks/illumar_smart_lamp.json -2cf051942144dd90ce174df0886e0c693bd603ad data/projectred_illumination/loot_tables/blocks/light_blue_illumar_lamp.json -f2802e525768f1e0f7dc0f7726b2ee283dff792e data/projectred_illumination/loot_tables/blocks/light_blue_inverted_illumar_lamp.json -dcc7947bad8775d1ff68dc0c0d20b06ab6b902fd data/projectred_illumination/loot_tables/blocks/light_gray_illumar_lamp.json -b3630411cffdedad8d1e5f5ea6a3fd0366755e70 data/projectred_illumination/loot_tables/blocks/light_gray_inverted_illumar_lamp.json -6d14e48747480486c47fbe54d8604f9236cc4cbf data/projectred_illumination/loot_tables/blocks/lime_illumar_lamp.json -f6af17ee508d1de34ee3f2da82e21b2a4967cdc1 data/projectred_illumination/loot_tables/blocks/lime_inverted_illumar_lamp.json -adcc48bbc5fa97285a738eb3da5ebcf08c23f905 data/projectred_illumination/loot_tables/blocks/magenta_illumar_lamp.json -99580743943676e0a0ade485633d446ff721af0a data/projectred_illumination/loot_tables/blocks/magenta_inverted_illumar_lamp.json -593b16a7b4af758614e8991d73cb4c6e60851c6e data/projectred_illumination/loot_tables/blocks/orange_illumar_lamp.json -6e5d213161cfb87a6b7a020f403a9abe9c31f0eb data/projectred_illumination/loot_tables/blocks/orange_inverted_illumar_lamp.json -02bdc32e6fd7803f2bac347e0258fd953b503291 data/projectred_illumination/loot_tables/blocks/pink_illumar_lamp.json -eebde4fd3f431f70cc1a5328fef260aac906835f data/projectred_illumination/loot_tables/blocks/pink_inverted_illumar_lamp.json -4e9b917d73e6908beea16549ab874761eb625c8a data/projectred_illumination/loot_tables/blocks/purple_illumar_lamp.json -0bc4ccfdbd56d2d3f066092be65f16e38b919e18 data/projectred_illumination/loot_tables/blocks/purple_inverted_illumar_lamp.json -b3ef26d265cff67ae35f6b4b9bb9e8496e64ef6f data/projectred_illumination/loot_tables/blocks/red_illumar_lamp.json -55fe9d4c6381702f0239b0d01c4d69ccd14dfd3a data/projectred_illumination/loot_tables/blocks/red_inverted_illumar_lamp.json -e2fa12eb795ec11b336347bb61661e01933e10c8 data/projectred_illumination/loot_tables/blocks/white_illumar_lamp.json -b8a829e527afe52863ca749b7e113a21350b7247 data/projectred_illumination/loot_tables/blocks/white_inverted_illumar_lamp.json -3a17ae7d006226e21ecd25045220c77988be0861 data/projectred_illumination/loot_tables/blocks/yellow_illumar_lamp.json -a3bbae741e8aa96da7c4fc092c9b8d5876b1c96e data/projectred_illumination/loot_tables/blocks/yellow_inverted_illumar_lamp.json diff --git a/illumination/src/main/generated/.cache/c622617f6fabf890a00b9275cd5f643584a8a2c8 b/illumination/src/main/generated/.cache/92d9352319b5cd872e759a46e0c9ec86481a1005 similarity index 50% rename from illumination/src/main/generated/.cache/c622617f6fabf890a00b9275cd5f643584a8a2c8 rename to illumination/src/main/generated/.cache/92d9352319b5cd872e759a46e0c9ec86481a1005 index a1b422a86..4b2fe5ea4 100644 --- a/illumination/src/main/generated/.cache/c622617f6fabf890a00b9275cd5f643584a8a2c8 +++ b/illumination/src/main/generated/.cache/92d9352319b5cd872e759a46e0c9ec86481a1005 @@ -1,2 +1,2 @@ -// 1.20.1 2024-06-22T11:09:50.163855 Languages: en_us +// 1.20.4 2024-11-23T20:03:11.725303 Languages: en_us for mod: projectred_illumination bd4c754665d90437f9a3014a701298a4082d18cc assets/projectred_illumination/lang/en_us.json diff --git a/illumination/src/main/generated/.cache/de8f1463ae18badd128ae0b90e2804a44e8f416c b/illumination/src/main/generated/.cache/de8f1463ae18badd128ae0b90e2804a44e8f416c index b837658a3..433db7517 100644 --- a/illumination/src/main/generated/.cache/de8f1463ae18badd128ae0b90e2804a44e8f416c +++ b/illumination/src/main/generated/.cache/de8f1463ae18badd128ae0b90e2804a44e8f416c @@ -1,162 +1,162 @@ -// 1.20.1 2024-06-22T11:09:50.164827 projectred_illumination Recipes. -bab0e0ace8eafa4f132dd7aa9ea77ce3743620f1 data/projectred_illumination/recipes/black_cage_light.json -7346715a74ba4257b555898569b21950b6c69747 data/projectred_illumination/recipes/black_fallout_light.json -408cec0af00793db8e5895042fe84e4120c17b33 data/projectred_illumination/recipes/black_fixture_light.json -0581c0dbd346444dfffb7f4d43ba0eac61501849 data/projectred_illumination/recipes/black_illumar_lamp.json -80cfe045a96648274ef6a78ce40d394c32ca086c data/projectred_illumination/recipes/black_inverted_cage_light.json -6894bb2348102b5336f544f19e22883629ba7c2d data/projectred_illumination/recipes/black_inverted_fallout_light.json -1418d06536cf21de844ccec30566ca31c2848e80 data/projectred_illumination/recipes/black_inverted_fixture_light.json -6b07a40492cd452e4e4d20cff04932a813f0a554 data/projectred_illumination/recipes/black_inverted_illumar_lamp.json -2d19c4d3974ce401b963e678c2b7af570a444ee4 data/projectred_illumination/recipes/black_inverted_lantern.json -e392fc33caebb2c69a8f252e85893d73b00af6d3 data/projectred_illumination/recipes/black_lantern.json -15edd99a83e1a885c8c051c0277f9f9ae2a52e78 data/projectred_illumination/recipes/blue_cage_light.json -e0c405eff76bd83c7812c38d56b12bb1cba4ee35 data/projectred_illumination/recipes/blue_fallout_light.json -1d9c8ddf8047feda4ed2fb5fe376576b8ebad84d data/projectred_illumination/recipes/blue_fixture_light.json -313d0749a7a9c02e9c59df4c42a81fb4a42a620f data/projectred_illumination/recipes/blue_illumar_lamp.json -e3e707a24282d6e4e21594aa2b4cfbc7ed966856 data/projectred_illumination/recipes/blue_inverted_cage_light.json -66d918e2e326e5592bdbb90d27e2c49e13efbcdb data/projectred_illumination/recipes/blue_inverted_fallout_light.json -415f424b4d2b9a2b1a36f4b12f045185a22af6ab data/projectred_illumination/recipes/blue_inverted_fixture_light.json -077aec3e848acbb89b169f77eae74b118837e5de data/projectred_illumination/recipes/blue_inverted_illumar_lamp.json -773a9e2dc1162c7252d7c2ceacc92c032714c367 data/projectred_illumination/recipes/blue_inverted_lantern.json -d3bbdf3cbae726af577ba053667d55f7f91338a9 data/projectred_illumination/recipes/blue_lantern.json -75d2cc0312a32d2928aa71e456854629d67fac42 data/projectred_illumination/recipes/brown_cage_light.json -2e0c224a228a101e5e5c6cc0497200a256ca2a30 data/projectred_illumination/recipes/brown_fallout_light.json -1b455020544ad1641f43177497511e001b821138 data/projectred_illumination/recipes/brown_fixture_light.json -89e6b896c70c08ee5611aadb0aebec91addc46c5 data/projectred_illumination/recipes/brown_illumar_lamp.json -70a1d39272ede1294b9ce5f2eb9e4a5f9cc180ec data/projectred_illumination/recipes/brown_inverted_cage_light.json -5aa405b51e04749bd36d89ab91e9e38750c1d226 data/projectred_illumination/recipes/brown_inverted_fallout_light.json -19f6ed2c9091ddebae0725a3077cad0e77dffbb0 data/projectred_illumination/recipes/brown_inverted_fixture_light.json -f5457f150d085b41a4f59f40a3a8b07be1246688 data/projectred_illumination/recipes/brown_inverted_illumar_lamp.json -38d7c145820bb4ba89061b0b814f8e7b3d67b760 data/projectred_illumination/recipes/brown_inverted_lantern.json -16b13a9966d01921776b486f09afe299a707fcad data/projectred_illumination/recipes/brown_lantern.json -4786d7a5480c32aa9c8d92501cccce1d665fb357 data/projectred_illumination/recipes/cyan_cage_light.json -85d949097ca38f0a6f99f753137cfbed0df9dbf8 data/projectred_illumination/recipes/cyan_fallout_light.json -30a8c4031fd868609ab932a90b29b92c69083a3e data/projectred_illumination/recipes/cyan_fixture_light.json -82ee061c6dfa2ba649060b9d0fd846d89bbd1ccc data/projectred_illumination/recipes/cyan_illumar_lamp.json -1e76708704fd6b00fec02ec17d614c5a96e9ed41 data/projectred_illumination/recipes/cyan_inverted_cage_light.json -d17ce7bc003798ce2a936294520643081cceef53 data/projectred_illumination/recipes/cyan_inverted_fallout_light.json -b1179aeeb94b0e6861f6ab0eb093261a85eb8efe data/projectred_illumination/recipes/cyan_inverted_fixture_light.json -e5c9a3a65d06346bbe6425bfc0b7b618c40f10ae data/projectred_illumination/recipes/cyan_inverted_illumar_lamp.json -6dd8cb3ae31ba6e202173388ffd0fb33c441d4c4 data/projectred_illumination/recipes/cyan_inverted_lantern.json -67ea62db0a2d2b2330b6355e17902c3f0f5adebb data/projectred_illumination/recipes/cyan_lantern.json -54cbd869623d99e1b4d7155eb7515d788de47988 data/projectred_illumination/recipes/gray_cage_light.json -a6ca3245de5f3554613d7eefca084a2378475585 data/projectred_illumination/recipes/gray_fallout_light.json -261253afc14fb23207f5240874ecd9a2c6cb8b7c data/projectred_illumination/recipes/gray_fixture_light.json -fed7b7c9fa4c55173899917acfc40648b9795739 data/projectred_illumination/recipes/gray_illumar_lamp.json -ddf06bfba42ef635e448071a842cba2d52ee16a4 data/projectred_illumination/recipes/gray_inverted_cage_light.json -b604bc48700e6112cba9eaa80e898934c89bd4eb data/projectred_illumination/recipes/gray_inverted_fallout_light.json -a715e014790f0ed99fe9e4d65e10980de9b8f001 data/projectred_illumination/recipes/gray_inverted_fixture_light.json -6341cc8294d833f985f49a8a3c5d33bb8fe8090d data/projectred_illumination/recipes/gray_inverted_illumar_lamp.json -f828883b79786e1601993663fdec9a1e6a827e07 data/projectred_illumination/recipes/gray_inverted_lantern.json -1179d5b2274215f6a4f0c81da0a0c0042a382038 data/projectred_illumination/recipes/gray_lantern.json -f85e17c6132578b64cd8203673f7c1e3fa43bf7a data/projectred_illumination/recipes/green_cage_light.json -0d47b6496778df1bd2c60e84aa051788c03a5a02 data/projectred_illumination/recipes/green_fallout_light.json -d870b3392f4239afbe7889f3b8b49b33f05891cb data/projectred_illumination/recipes/green_fixture_light.json -a380eaf43c5fd3bdf8fa942d1b404f948778a49e data/projectred_illumination/recipes/green_illumar_lamp.json -b84493c37c9f5b4078935693cb7c376832ebf0eb data/projectred_illumination/recipes/green_inverted_cage_light.json -be1a1c8dd328ee5097f7abdef569a8d5f7be631e data/projectred_illumination/recipes/green_inverted_fallout_light.json -bd0ba40afb2e62423d4e81e30adba54004eb2483 data/projectred_illumination/recipes/green_inverted_fixture_light.json -6afac6792ea3525e6a20140fec5038fcf60066ce data/projectred_illumination/recipes/green_inverted_illumar_lamp.json -3cbcf89e8fca3b497f11a8b47f3e169b5559e1f9 data/projectred_illumination/recipes/green_inverted_lantern.json -c849335acf420adbd919fd18bf0828690eabba30 data/projectred_illumination/recipes/green_lantern.json -4186608e2b704efdf4cb473b603a5cca3623617a data/projectred_illumination/recipes/illumar_smart_lamp.json -343c00444ba713d21c9d7800377363b528676b1f data/projectred_illumination/recipes/light_blue_cage_light.json -250e310dadd501be6ab7a84d0f3204fb5200eda2 data/projectred_illumination/recipes/light_blue_fallout_light.json -c1be8144957ba247e87114e8473c6e4f34557d04 data/projectred_illumination/recipes/light_blue_fixture_light.json -cbe35ee507bc0afd7dc5ecbc4059caf5651cafa9 data/projectred_illumination/recipes/light_blue_illumar_lamp.json -a1e4259f326d470f34b1745282344a5b20c05e02 data/projectred_illumination/recipes/light_blue_inverted_cage_light.json -909501ced0ee88f674e1500db048232400393a35 data/projectred_illumination/recipes/light_blue_inverted_fallout_light.json -a600c8b3f4bea904d6502e0ba308e32ae7787df6 data/projectred_illumination/recipes/light_blue_inverted_fixture_light.json -bb75553af0cab6fc4f79b04f76b4c818152d43e3 data/projectred_illumination/recipes/light_blue_inverted_illumar_lamp.json -970aec8214a26d73e8b0fd3e26c5434f4b3cf8be data/projectred_illumination/recipes/light_blue_inverted_lantern.json -2cf37af36b9cba480af30fc58bbcf0cf01f71642 data/projectred_illumination/recipes/light_blue_lantern.json -3a6ed27e94a689e1c5f53040256f92da285f486e data/projectred_illumination/recipes/light_gray_cage_light.json -8a59144fcf71ffc684e7eb8ef2111abeeefca154 data/projectred_illumination/recipes/light_gray_fallout_light.json -8ae2fe289a0e2e3f2a0c09f2f8368581c191da3d data/projectred_illumination/recipes/light_gray_fixture_light.json -17a5cb56b49d4a33ccddc2bc133fb11584ff8c09 data/projectred_illumination/recipes/light_gray_illumar_lamp.json -0e15717376f9edb4a69c745e07413ec694b77970 data/projectred_illumination/recipes/light_gray_inverted_cage_light.json -89b1bf2862a671d50eec7a143fe6a88dbc9e2e27 data/projectred_illumination/recipes/light_gray_inverted_fallout_light.json -1c6aadf5fccb64f342b144e6097bc5401b6e6741 data/projectred_illumination/recipes/light_gray_inverted_fixture_light.json -9c3f02c1ef531ea4e5e578c604c9a96275caa9f7 data/projectred_illumination/recipes/light_gray_inverted_illumar_lamp.json -3035e3ebdf1accd9d049a8f85b934db2fbc8de7e data/projectred_illumination/recipes/light_gray_inverted_lantern.json -10cf70e28fb99a602fedf6fcc60a517cabc836f4 data/projectred_illumination/recipes/light_gray_lantern.json -73410efb8b7b9aed73852cdd70299d6d31aa664c data/projectred_illumination/recipes/lime_cage_light.json -39394083bf237e44b70b35ea3cda940149d61751 data/projectred_illumination/recipes/lime_fallout_light.json -fdbeaf51192ace419243237c163bb6acbf171ffd data/projectred_illumination/recipes/lime_fixture_light.json -d68ac9560fedde42f1d61e254f1e3914cdeeddff data/projectred_illumination/recipes/lime_illumar_lamp.json -32ed1079cc436b6b1347e52ee616645073e9cece data/projectred_illumination/recipes/lime_inverted_cage_light.json -d71371a274ae0e82539d4082de7381e0309eb56a data/projectred_illumination/recipes/lime_inverted_fallout_light.json -d2a3a801559f1d4dfb2071795b8a866135818460 data/projectred_illumination/recipes/lime_inverted_fixture_light.json -f407f4915527d8eaa0bab86a3622b976db487ed9 data/projectred_illumination/recipes/lime_inverted_illumar_lamp.json -5f6df0b97d94e7aa2ff358092354017edfbbe5f2 data/projectred_illumination/recipes/lime_inverted_lantern.json -d53a18f2f28dd2f812bc1d7c7e848511dd32524a data/projectred_illumination/recipes/lime_lantern.json -02e94d2e4c593d8a38cab84c51e18a93c346a471 data/projectred_illumination/recipes/magenta_cage_light.json -14a3541dbe71f1d372c62ffdad2e0a811115eeba data/projectred_illumination/recipes/magenta_fallout_light.json -445d5a5c894eee42e95d1cf0b097d46c521d06af data/projectred_illumination/recipes/magenta_fixture_light.json -3d477c8625e963641783a8c426c50545f5d8c2f4 data/projectred_illumination/recipes/magenta_illumar_lamp.json -5e8f72d461a204e49505fdc4a8309ecba6aba533 data/projectred_illumination/recipes/magenta_inverted_cage_light.json -30ec2f6f1f2e0462f0ce7b86f77956b88633f9e6 data/projectred_illumination/recipes/magenta_inverted_fallout_light.json -5af75e7865cabb6548abf92be5d74e54053ce88c data/projectred_illumination/recipes/magenta_inverted_fixture_light.json -e2fb9510be6cc1a11055ae6cdf8f3fd965891991 data/projectred_illumination/recipes/magenta_inverted_illumar_lamp.json -549d80fc886059e43ce3d7848780bed2c496dc0a data/projectred_illumination/recipes/magenta_inverted_lantern.json -b017bbc28e99c085fa4e3b719f5fff2e876c2052 data/projectred_illumination/recipes/magenta_lantern.json -8e2f1d5bb9ceaead921be9cb1cd6b1b151f457ab data/projectred_illumination/recipes/orange_cage_light.json -80d3203dc3bf7265ec404f924076cb291a22176d data/projectred_illumination/recipes/orange_fallout_light.json -069a3d9dafaf2f4f6087182cc1c9aeacb40066ac data/projectred_illumination/recipes/orange_fixture_light.json -6ab4dbeb36fcf0ccd5c74c201d3a2216942ce7bc data/projectred_illumination/recipes/orange_illumar_lamp.json -d4c18df42d5742e796cf34cf711721f8d7b7c012 data/projectred_illumination/recipes/orange_inverted_cage_light.json -f9fd1b3e7671588fb43a5a44de02c383d29eb358 data/projectred_illumination/recipes/orange_inverted_fallout_light.json -e34b03e83fb2bb4ded30f0df26869e4221a83c1e data/projectred_illumination/recipes/orange_inverted_fixture_light.json -b72608c9457b43e577c28edab92d8994f8290eab data/projectred_illumination/recipes/orange_inverted_illumar_lamp.json -f9a50878dc312b2c39f92a481a489429f627c8f3 data/projectred_illumination/recipes/orange_inverted_lantern.json -2391169842feaf3504c8101e204c74623b23bc75 data/projectred_illumination/recipes/orange_lantern.json -b504bf068c5c711f25f328d6ca1757ae57d676bd data/projectred_illumination/recipes/pink_cage_light.json -a5f4473cc56b2394b58374babcd0f44c248a42bb data/projectred_illumination/recipes/pink_fallout_light.json -114e27190bbc92788b7ab59ead0a0a8ebb1f9b9e data/projectred_illumination/recipes/pink_fixture_light.json -ff670db0e071056ce6a800871749722627afd356 data/projectred_illumination/recipes/pink_illumar_lamp.json -c8d19d8ed092ced6e5c1a7af60ad98b580ccaa90 data/projectred_illumination/recipes/pink_inverted_cage_light.json -f55f54dcd700227a74c115da642458880988fc1a data/projectred_illumination/recipes/pink_inverted_fallout_light.json -28b054894453074626dcaa2eea47010fb5680e2a data/projectred_illumination/recipes/pink_inverted_fixture_light.json -e1d40734881b7f60e352b99c849442376a15bb31 data/projectred_illumination/recipes/pink_inverted_illumar_lamp.json -89afd53eeac3ada05f32a110e1f694587ef6e3b0 data/projectred_illumination/recipes/pink_inverted_lantern.json -8da10d2f45d286a385eae1619735cae7a8639431 data/projectred_illumination/recipes/pink_lantern.json -88e5384622d34ea658451830b27b309a73195bbe data/projectred_illumination/recipes/purple_cage_light.json -67be34ffb7c4db447f09bacf45093d79fce7ba87 data/projectred_illumination/recipes/purple_fallout_light.json -6ebbbbd58f3f49906f3be98175acf1c651fc7018 data/projectred_illumination/recipes/purple_fixture_light.json -c7548307ad84c1802f848f6c20ac1e64b5c55c27 data/projectred_illumination/recipes/purple_illumar_lamp.json -078e6e0c4ff6dded506162aa53475516eb40dd95 data/projectred_illumination/recipes/purple_inverted_cage_light.json -7ea8de51921812f1adb36169754b1899f134894c data/projectred_illumination/recipes/purple_inverted_fallout_light.json -b6584760f221d950ac04b570eca09a8a3ed69178 data/projectred_illumination/recipes/purple_inverted_fixture_light.json -60c82030ec831909e6eca10d9bf28c95d0e5da34 data/projectred_illumination/recipes/purple_inverted_illumar_lamp.json -41247cf1e8f747f07960af0af8d91169009e5c26 data/projectred_illumination/recipes/purple_inverted_lantern.json -39651e3aaf23eab00eea44d4af6a9075366b3922 data/projectred_illumination/recipes/purple_lantern.json -65568711712dc0a5ff834ca17bf27d5a5cfbce95 data/projectred_illumination/recipes/red_cage_light.json -a1db8fd8a3a079388099cabd7a0d4d5bd3439f42 data/projectred_illumination/recipes/red_fallout_light.json -c1e3dd4523b2d159b46a3b9f1cfafaccfcf33ba6 data/projectred_illumination/recipes/red_fixture_light.json -4f87117a237d78faae76aba63dff122c099f1ad3 data/projectred_illumination/recipes/red_illumar_lamp.json -0fcaacb74b660e426416388fdf3cacf7be70f4b4 data/projectred_illumination/recipes/red_inverted_cage_light.json -47f1df4875631e1b36feb45d99341e3e39ff5b4a data/projectred_illumination/recipes/red_inverted_fallout_light.json -2aaa6fb8d9410c2ab4cd0d7c4a41e1ec8c366cf5 data/projectred_illumination/recipes/red_inverted_fixture_light.json -4957b2ab2d221b5d3869a79eb9a94b243b7578e5 data/projectred_illumination/recipes/red_inverted_illumar_lamp.json -c76d44341e15a4eae975a75d8d6e577e46b0999b data/projectred_illumination/recipes/red_inverted_lantern.json -f4f94f81a12049f4c7ce12008d2392ffe281e908 data/projectred_illumination/recipes/red_lantern.json -eedd2a6d701a03ce54377a46cbd3567e2d0ca05c data/projectred_illumination/recipes/white_cage_light.json -191dbab4ea5c71d44feb1e738bf64606279f44c0 data/projectred_illumination/recipes/white_fallout_light.json -0bd4a0ab19790fab0bf642362de0392989233211 data/projectred_illumination/recipes/white_fixture_light.json -8690105dfa27975a77ce802ac1fb95a95e90a4af data/projectred_illumination/recipes/white_illumar_lamp.json -97b7d0a56a1b55c8a5b3377d06a026c5f494a165 data/projectred_illumination/recipes/white_inverted_cage_light.json -5d922b08d17c7ad5917ed6d3ee8ae0749f3d8629 data/projectred_illumination/recipes/white_inverted_fallout_light.json -4ad12d01532d20579a4e8acd2ba7b98405641bdf data/projectred_illumination/recipes/white_inverted_fixture_light.json -567bf221e948e7037e2ee749ad99b74299b48f27 data/projectred_illumination/recipes/white_inverted_illumar_lamp.json -5661274f36e8fe5ba358ec13b9a7a5d469f6fe86 data/projectred_illumination/recipes/white_inverted_lantern.json -ab76a480d1c70631d1f964af57d64c8a99359073 data/projectred_illumination/recipes/white_lantern.json -139ba81e8bbe34181bc469265fa6fcb33b74fb63 data/projectred_illumination/recipes/yellow_cage_light.json -ef2af068bf517441da828cc875c5c0be59c70a7e data/projectred_illumination/recipes/yellow_fallout_light.json -d3b0ab5974545e871f1ba191588bdb7e828ea674 data/projectred_illumination/recipes/yellow_fixture_light.json -fb53472b8ccab2cc8bd79c20c9d885b0a91548f3 data/projectred_illumination/recipes/yellow_illumar_lamp.json -14693119707c1c3274702f07e2848d4546f49811 data/projectred_illumination/recipes/yellow_inverted_cage_light.json -b03f62464df1ae4633ddd8d6285932b1ed9a2abb data/projectred_illumination/recipes/yellow_inverted_fallout_light.json -e361212ba012c052855b9a281da0da155aa73d27 data/projectred_illumination/recipes/yellow_inverted_fixture_light.json -30478394c46ccc3adb4246c899440ec735ee19ce data/projectred_illumination/recipes/yellow_inverted_illumar_lamp.json -d0545548424670c5d316a5712892c13a12454e0f data/projectred_illumination/recipes/yellow_inverted_lantern.json -6f270ecfe7f644aee1c8028758a05b14bd08fa1f data/projectred_illumination/recipes/yellow_lantern.json +// 1.20.4 2024-11-23T20:03:11.742727 projectred_illumination Recipes. +d5e961499a305841a6b5a7cf3f755cf951074527 data/projectred_illumination/recipes/black_cage_light.json +273e250463e6c8290b15e4ff56ffcdbda74ff77d data/projectred_illumination/recipes/black_fallout_light.json +d4830c5aaaceadb6bfff47a3df225c181fbe5cbc data/projectred_illumination/recipes/black_fixture_light.json +32bea088e5f946187eaf55c02f2f574e674d3121 data/projectred_illumination/recipes/black_illumar_lamp.json +93ae8a3f0e1ed19ba7796c61b62bee0e6ac5ecb9 data/projectred_illumination/recipes/black_inverted_cage_light.json +1454bae2cf53c7574a854494d3accbe61125c925 data/projectred_illumination/recipes/black_inverted_fallout_light.json +e31d45593d1520c912e564d31a387b26ef2c8388 data/projectred_illumination/recipes/black_inverted_fixture_light.json +c7c8d5206d7b8b0992a9a033439d4d88fd709054 data/projectred_illumination/recipes/black_inverted_illumar_lamp.json +4cacfe98d63b0b977026f48eb422758568a27245 data/projectred_illumination/recipes/black_inverted_lantern.json +2d9aa22a1c1988d208854ae050b91974922320ba data/projectred_illumination/recipes/black_lantern.json +0b62e567d5c20aee626210d4e6519deef3a0a91e data/projectred_illumination/recipes/blue_cage_light.json +513c50845b48030180a7173cfa728395dfd89142 data/projectred_illumination/recipes/blue_fallout_light.json +373bc7433d119fad8e4070fe9c399ecd31510478 data/projectred_illumination/recipes/blue_fixture_light.json +ea85f363994cf19f6e2cc3d045eae0c31f172ada data/projectred_illumination/recipes/blue_illumar_lamp.json +05db6501fcf0e24deaa7f8c31da860a37993908e data/projectred_illumination/recipes/blue_inverted_cage_light.json +870310dc3b59975e6773c7aba98c66862e2d5e87 data/projectred_illumination/recipes/blue_inverted_fallout_light.json +511c16cb264eb373552ca4bd08e58d4f9ce22ce3 data/projectred_illumination/recipes/blue_inverted_fixture_light.json +bb6cbd8680f422c1b2ede0e2d69874e72eb314fa data/projectred_illumination/recipes/blue_inverted_illumar_lamp.json +21043b11772a2af70a5bb7b3f46e085700fbe10d data/projectred_illumination/recipes/blue_inverted_lantern.json +f48f00d4bc6f33ac4a28fd457049341c86ab3e54 data/projectred_illumination/recipes/blue_lantern.json +e2d34155723643f653e90b1cda90c6cc470cea72 data/projectred_illumination/recipes/brown_cage_light.json +f2ad0e1a755746a7dcf09b1ceee8dde6db24145d data/projectred_illumination/recipes/brown_fallout_light.json +c9a69ba4bb69979d1aab088d7f74c637e46a6793 data/projectred_illumination/recipes/brown_fixture_light.json +9e464cbb0d401fc6b29ec1d08647a11b06284e89 data/projectred_illumination/recipes/brown_illumar_lamp.json +7fcc403c8fd8c8c03a06e04d2b856dc36248df5f data/projectred_illumination/recipes/brown_inverted_cage_light.json +b5c0bd35d26033b858fb1351ad31e76cb5aa47fd data/projectred_illumination/recipes/brown_inverted_fallout_light.json +fcb55e2bcd098bc47b0148de29362d04565eac72 data/projectred_illumination/recipes/brown_inverted_fixture_light.json +22911ea8b5034ffa911aaabf011d90ba26c422c2 data/projectred_illumination/recipes/brown_inverted_illumar_lamp.json +405735c6d358227f42e00240181f0aa2dbaebe14 data/projectred_illumination/recipes/brown_inverted_lantern.json +c9e2725c064607453012054b51d56f9c1d08b077 data/projectred_illumination/recipes/brown_lantern.json +031b03c89e25cb0f0e3232c0894f5263661d53de data/projectred_illumination/recipes/cyan_cage_light.json +2ca84c7dc005f30662641e2435788d0741b1b868 data/projectred_illumination/recipes/cyan_fallout_light.json +d4c5b0f9c7f6a008d0de24aea40b51b88a66a8c4 data/projectred_illumination/recipes/cyan_fixture_light.json +6af7b3325c370a2242286b9f65e74b9e0d4866df data/projectred_illumination/recipes/cyan_illumar_lamp.json +bd041e1583863a5d35b94464997a65797b6f066e data/projectred_illumination/recipes/cyan_inverted_cage_light.json +b09fa34f60abb05962c03230b06b56953f7a17ae data/projectred_illumination/recipes/cyan_inverted_fallout_light.json +184ca6466056cdd510143cd59819036d5e6708b6 data/projectred_illumination/recipes/cyan_inverted_fixture_light.json +b5b3a99a011814d4ff3bf642d993c106e963d36b data/projectred_illumination/recipes/cyan_inverted_illumar_lamp.json +b607e3484bc900689256b2504c1babaff3e46f4f data/projectred_illumination/recipes/cyan_inverted_lantern.json +242f66b72e93c75cd2efa8362ad0075d2366611c data/projectred_illumination/recipes/cyan_lantern.json +d2d07f1707deccdb1f153ae7fdc3ad682eb0794d data/projectred_illumination/recipes/gray_cage_light.json +7949a6b446b227f2401b27e4fe34c990b2ae5f5d data/projectred_illumination/recipes/gray_fallout_light.json +83673daab5593a84da6ee3fcc4224626856a7d89 data/projectred_illumination/recipes/gray_fixture_light.json +09aee7a3dcb601e681d579cc68b42df94d16c789 data/projectred_illumination/recipes/gray_illumar_lamp.json +58e86565c69f94527e5a6a56e45257701160feac data/projectred_illumination/recipes/gray_inverted_cage_light.json +ebfb090af3c69f8ac558855ff6481648b37cc32a data/projectred_illumination/recipes/gray_inverted_fallout_light.json +2661e48bfed57805190306a4cbe728742ba3cfc4 data/projectred_illumination/recipes/gray_inverted_fixture_light.json +a00e05e12b2e15ac576e78abe919fe3ed2ee8088 data/projectred_illumination/recipes/gray_inverted_illumar_lamp.json +3d87a8562b2e4e578d4785c13fefe46b7a4ad88e data/projectred_illumination/recipes/gray_inverted_lantern.json +f96e9f87a5362616caabbc598de1d793f62ce6f9 data/projectred_illumination/recipes/gray_lantern.json +bb2896784ff0d96c89954e3443ed6653190a3f27 data/projectred_illumination/recipes/green_cage_light.json +288cde982448de27fa71a4312cd2562ed80427d3 data/projectred_illumination/recipes/green_fallout_light.json +11109581c4953b7e8eb45b5262f1c7c1c905f498 data/projectred_illumination/recipes/green_fixture_light.json +1a83a6c54ad743f275f6eaf1b34ebe0b7d6ac006 data/projectred_illumination/recipes/green_illumar_lamp.json +426db6e74673bbc9c6cbaa810083f2d7ba789b40 data/projectred_illumination/recipes/green_inverted_cage_light.json +4cbe5cd27974eb7630061b7e7b6775e4bdab7609 data/projectred_illumination/recipes/green_inverted_fallout_light.json +92f2f573ff2a8a7594e507e1ab37da382fcf9eb4 data/projectred_illumination/recipes/green_inverted_fixture_light.json +940dbe235f83abf898c84a63cbfa03ad3b814afb data/projectred_illumination/recipes/green_inverted_illumar_lamp.json +49d1bd8c870afc2ce173ed280fab03e670d2f6b5 data/projectred_illumination/recipes/green_inverted_lantern.json +32425ef856bbcfa1c0d6880b4aff46084f1f881c data/projectred_illumination/recipes/green_lantern.json +538231cfffeb91dee4a4585f44f0dc1376faadce data/projectred_illumination/recipes/illumar_smart_lamp.json +037eb6e3620b0f318620daed127d73273598f122 data/projectred_illumination/recipes/light_blue_cage_light.json +37ce192e6312462635fc884931391ba6911d3443 data/projectred_illumination/recipes/light_blue_fallout_light.json +eb4d916fd41028c0f80be6b6de0f64b1a8cd10a7 data/projectred_illumination/recipes/light_blue_fixture_light.json +ec0377060d5ea3b2ce6ccc62547326c9561f13c0 data/projectred_illumination/recipes/light_blue_illumar_lamp.json +fbfe20a342c831cae1475466afaf3dfd0e759006 data/projectred_illumination/recipes/light_blue_inverted_cage_light.json +f4df771c8ab272bec7de3af8d4be4b478d324c5c data/projectred_illumination/recipes/light_blue_inverted_fallout_light.json +acb4e457080ebc7216dd46255561f8e635437ab2 data/projectred_illumination/recipes/light_blue_inverted_fixture_light.json +42facd14fae0ada8ce9d10990cce3d665fbb1ddc data/projectred_illumination/recipes/light_blue_inverted_illumar_lamp.json +ce774dfe09fbbf0088967bfa7aa82442f9c1bb29 data/projectred_illumination/recipes/light_blue_inverted_lantern.json +dab372ec9a495a48cfeab5047a23f516604de975 data/projectred_illumination/recipes/light_blue_lantern.json +6856d7480954ca91a3316658f890bfdef9a893bb data/projectred_illumination/recipes/light_gray_cage_light.json +aebbece0acebffa531c0b2441e74885a81fb0143 data/projectred_illumination/recipes/light_gray_fallout_light.json +1ffe562cb70fe1d702306dbad4e711e980fe4f4f data/projectred_illumination/recipes/light_gray_fixture_light.json +085c8f4bc402db6bea0ff9f664bc5e992afa2d13 data/projectred_illumination/recipes/light_gray_illumar_lamp.json +abaa7aaccf643b95aba275658c691d82accdf0a5 data/projectred_illumination/recipes/light_gray_inverted_cage_light.json +738acd4b6fe46561f1450ff8862f18c5ff61592f data/projectred_illumination/recipes/light_gray_inverted_fallout_light.json +279bd674ae032d2586f40317d6d88b03b921915b data/projectred_illumination/recipes/light_gray_inverted_fixture_light.json +3a86d33efc561034b5f290a91a1678bf8f1a77f3 data/projectred_illumination/recipes/light_gray_inverted_illumar_lamp.json +b9781d451096aa596a3919d71f5a32364449a69a data/projectred_illumination/recipes/light_gray_inverted_lantern.json +cc27a3affa1618b7b61ec40f615eb6ef7bb8ca22 data/projectred_illumination/recipes/light_gray_lantern.json +44248c6197c68b45da46a54d931bbf01286b206b data/projectred_illumination/recipes/lime_cage_light.json +6db832676c5f2ce3b9e7dd1e69338b073b6c744b data/projectred_illumination/recipes/lime_fallout_light.json +fbaa2fbd5f7825884ae8029c8f7c5591b40ed7ef data/projectred_illumination/recipes/lime_fixture_light.json +055026f0fc2b3878451ad0ca332ce5ceadd9f999 data/projectred_illumination/recipes/lime_illumar_lamp.json +5b946d4b48c58d9d522255a07a90f05f67554b1f data/projectred_illumination/recipes/lime_inverted_cage_light.json +ef1625459ea52736ede913a6a68f2d712f66e3d4 data/projectred_illumination/recipes/lime_inverted_fallout_light.json +b28159ad0bcc6d38eef31d38554dab622252d3d6 data/projectred_illumination/recipes/lime_inverted_fixture_light.json +89d123db803524881444f992ef0049c7cfa21f04 data/projectred_illumination/recipes/lime_inverted_illumar_lamp.json +5caa74f4c47191c8e15c1f0a5e1df9ab9b1f543d data/projectred_illumination/recipes/lime_inverted_lantern.json +f24480e6aeb746955270e725f05f4a29aa9ede18 data/projectred_illumination/recipes/lime_lantern.json +a3c9ffe4cccd3b1f3ac7e1b9bbff6d5ab3199925 data/projectred_illumination/recipes/magenta_cage_light.json +212e96d1a03ff488b01255a7caa7b6b42abea8fd data/projectred_illumination/recipes/magenta_fallout_light.json +bd03aead58eb8b29bfacc9f4dc0f8ea51a6d0475 data/projectred_illumination/recipes/magenta_fixture_light.json +e838ae76381a780e2a040df31a166bd123ec827e data/projectred_illumination/recipes/magenta_illumar_lamp.json +312b402de18cd8ece5e5016601521b6679d810f0 data/projectred_illumination/recipes/magenta_inverted_cage_light.json +025c1679473a43982f7e682d353a83c75296d6f9 data/projectred_illumination/recipes/magenta_inverted_fallout_light.json +8649870a85d6d50dc44bbbfebe3d6921b787af24 data/projectred_illumination/recipes/magenta_inverted_fixture_light.json +0761b7f87271e4292ca1191ee78b9ccab34e6be2 data/projectred_illumination/recipes/magenta_inverted_illumar_lamp.json +12c0be5e5a35da82a90b1b8022746424b8b2ea69 data/projectred_illumination/recipes/magenta_inverted_lantern.json +ea1e28e4f287f41bb7f8c31e9c2c0f345d2a2d2e data/projectred_illumination/recipes/magenta_lantern.json +b865dac547062219aaf7ac35259da6ae98c71a36 data/projectred_illumination/recipes/orange_cage_light.json +1fae216cf5f133f02c42fe7e892219e50d858a77 data/projectred_illumination/recipes/orange_fallout_light.json +fdb01d04eae46909d36c94322221bbfd18e20850 data/projectred_illumination/recipes/orange_fixture_light.json +82964e6073837a3c0b70caa700998927b1d9f167 data/projectred_illumination/recipes/orange_illumar_lamp.json +5a304a5cdac43cb6459b66454c4f46ead21ffeb1 data/projectred_illumination/recipes/orange_inverted_cage_light.json +42c0ae45e0df737d2f32115be8917fd2e802b2f0 data/projectred_illumination/recipes/orange_inverted_fallout_light.json +85f1736efdb3557ef703f1507b493780699c0253 data/projectred_illumination/recipes/orange_inverted_fixture_light.json +270e2085709953b652cefcda945c0cb5cc28376a data/projectred_illumination/recipes/orange_inverted_illumar_lamp.json +c4a9db31da9b46271d347d1b90bb2dd4c1e2285a data/projectred_illumination/recipes/orange_inverted_lantern.json +b2f65a54624939d2bb785a83d7ed6ded8d3234cd data/projectred_illumination/recipes/orange_lantern.json +cffba4b3314c6accd9721e2debbf5fd4ee05145c data/projectred_illumination/recipes/pink_cage_light.json +c2d29ce3340406a5e0f587e37b12fd538f41d2cf data/projectred_illumination/recipes/pink_fallout_light.json +49282d9158f746b19edd0595c9a29f387081d588 data/projectred_illumination/recipes/pink_fixture_light.json +f9e3c7085acdeac17b3984f68e3cad56f0d069b0 data/projectred_illumination/recipes/pink_illumar_lamp.json +c5bc09f0742632b6e71f662f52d49a68651f4199 data/projectred_illumination/recipes/pink_inverted_cage_light.json +e1e95c514448b5469f7892a5b13fa8b7950bb61e data/projectred_illumination/recipes/pink_inverted_fallout_light.json +07d10e1f501702eb9789c13673f7dce53b65fed9 data/projectred_illumination/recipes/pink_inverted_fixture_light.json +aeb508f98c7b9251ad1edb726bc8c410778c6fe7 data/projectred_illumination/recipes/pink_inverted_illumar_lamp.json +2f9225b97e019a85cbf0adb14e5c4b67644d61ad data/projectred_illumination/recipes/pink_inverted_lantern.json +b0dbbceb8634d909411f0d923741e8053ec87691 data/projectred_illumination/recipes/pink_lantern.json +9673389541cd5063509f1d16c45498a3cf56f4a8 data/projectred_illumination/recipes/purple_cage_light.json +005686d412b4fd35753cdeda0750568129ce4ff8 data/projectred_illumination/recipes/purple_fallout_light.json +123653f6766237baf9bb75f468aa86b330bf1b41 data/projectred_illumination/recipes/purple_fixture_light.json +7b6d39108025df986baa128749f6baa12c5d9510 data/projectred_illumination/recipes/purple_illumar_lamp.json +96598fe399db0e749d58c9b4a09f9fd183e4b6d4 data/projectred_illumination/recipes/purple_inverted_cage_light.json +04577ecc50e7c7e786ff4e07250ac3e8933ba6f3 data/projectred_illumination/recipes/purple_inverted_fallout_light.json +231cb9eb6a0360198691d33f2d7a2a929bb92b3f data/projectred_illumination/recipes/purple_inverted_fixture_light.json +ef835132970362707f21ff01781835f24da1abb9 data/projectred_illumination/recipes/purple_inverted_illumar_lamp.json +9c3d5eb9f26af1b67d6c8aafe31dce712d78e539 data/projectred_illumination/recipes/purple_inverted_lantern.json +26ffbd907da09626a977f474270184ea0a4a831c data/projectred_illumination/recipes/purple_lantern.json +406b5814cda5db23e70e13f0c456389c9bcef26e data/projectred_illumination/recipes/red_cage_light.json +415dc2980cc82d6a6b73a99c15c36482d0faa6c6 data/projectred_illumination/recipes/red_fallout_light.json +216bc3bac74865d2aae954b93fc7dfaf4e8e7e11 data/projectred_illumination/recipes/red_fixture_light.json +062b0d03c0ea9dfc26bb4bb00c0e1df5bdc9c53d data/projectred_illumination/recipes/red_illumar_lamp.json +c6ed4903bba878493e48fc95e35b6c52d9274507 data/projectred_illumination/recipes/red_inverted_cage_light.json +536d1dbf6ba987af3d004c7f935d284d31783d2e data/projectred_illumination/recipes/red_inverted_fallout_light.json +4d8384e6a96fe3a55e65165a7eae745edb0b8aa0 data/projectred_illumination/recipes/red_inverted_fixture_light.json +342a30091a487175cfa33dee2241b4043102aa58 data/projectred_illumination/recipes/red_inverted_illumar_lamp.json +b0b4917c91a11b432d6f0700439fb0a0e89fb04c data/projectred_illumination/recipes/red_inverted_lantern.json +11e7f78cfe3320b3320d1da6b68e03b5897e5505 data/projectred_illumination/recipes/red_lantern.json +217a60efd7e44deeadd355aa794b5ebd59af95c9 data/projectred_illumination/recipes/white_cage_light.json +a89e708d1c13eef0440db5a564dedf787b00152e data/projectred_illumination/recipes/white_fallout_light.json +97cdb582db88ce7916f2341995ded75971099772 data/projectred_illumination/recipes/white_fixture_light.json +d2d4ed37d673f06c4668f03111d295a550d1145f data/projectred_illumination/recipes/white_illumar_lamp.json +24964ae0172a72e34368d749ea42d66d96519261 data/projectred_illumination/recipes/white_inverted_cage_light.json +edbaddd2145f2016a78f2e89e92fa88e2c957043 data/projectred_illumination/recipes/white_inverted_fallout_light.json +e5df231c692a1e75878635543e55eb82e58ce3e9 data/projectred_illumination/recipes/white_inverted_fixture_light.json +02b4f79a406d1001b79b40fa8a65dbec8f9d1b0f data/projectred_illumination/recipes/white_inverted_illumar_lamp.json +3415c4ae887afa11512f7d1b70d1fa9be010bb5a data/projectred_illumination/recipes/white_inverted_lantern.json +45b0eb10106d270588da60bedac0cc7e8316d893 data/projectred_illumination/recipes/white_lantern.json +35b4da997ff03f266280882a0e2a2fa881787d16 data/projectred_illumination/recipes/yellow_cage_light.json +af03e58786668eb1bc2113cc256d37ce2b0b24ba data/projectred_illumination/recipes/yellow_fallout_light.json +91c29b1c551536ca80dc6335b23342916bf38a3b data/projectred_illumination/recipes/yellow_fixture_light.json +ec5a72d71578fcd5b259572768e9c75aa53b25fe data/projectred_illumination/recipes/yellow_illumar_lamp.json +7e04e69fe8fbc3942652b4ce86a8d8e8fde33b4b data/projectred_illumination/recipes/yellow_inverted_cage_light.json +080937a74b8444b4e3958212465ca180719b7e3e data/projectred_illumination/recipes/yellow_inverted_fallout_light.json +347fff05c8a78ed5d7088ad9fc7529c9d737abea data/projectred_illumination/recipes/yellow_inverted_fixture_light.json +e902aa4eb18c0d9a481221465ee907b017633ddc data/projectred_illumination/recipes/yellow_inverted_illumar_lamp.json +1fbbe5eed258c233e93e0eeedfa0409273633884 data/projectred_illumination/recipes/yellow_inverted_lantern.json +403c4a4500cf83f2ec5b4f2837c9174aef8c4563 data/projectred_illumination/recipes/yellow_lantern.json diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/black_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/black_illumar_lamp.json index e6c617ac0..70adc2cfd 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/black_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/black_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/black_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/black_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/black_inverted_illumar_lamp.json index fad629991..ae46aea5b 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/black_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/black_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/black_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/blue_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/blue_illumar_lamp.json index fbb98a875..8c84d7aae 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/blue_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/blue_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/blue_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/blue_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/blue_inverted_illumar_lamp.json index ff22160dd..b1c42dd19 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/blue_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/blue_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/blue_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/brown_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/brown_illumar_lamp.json index d0374698d..c1112a1ab 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/brown_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/brown_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/brown_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/brown_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/brown_inverted_illumar_lamp.json index 6d029c305..e7cfb11ce 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/brown_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/brown_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/brown_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/cyan_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/cyan_illumar_lamp.json index 53b1e53e2..b39cc9d23 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/cyan_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/cyan_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/cyan_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/cyan_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/cyan_inverted_illumar_lamp.json index c1aa8964e..3183dc05f 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/cyan_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/cyan_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/cyan_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/gray_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/gray_illumar_lamp.json index 751bf937a..ede7fe730 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/gray_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/gray_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/gray_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/gray_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/gray_inverted_illumar_lamp.json index 7ecbcfcd2..3aa09de58 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/gray_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/gray_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/gray_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/green_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/green_illumar_lamp.json index 937fcfab8..fcae21930 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/green_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/green_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/green_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/green_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/green_inverted_illumar_lamp.json index 7468d74d8..6209e71ef 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/green_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/green_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/green_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/illumar_smart_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/illumar_smart_lamp.json index 811308658..2fa1f113b 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/illumar_smart_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/illumar_smart_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/illumar_smart_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_blue_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_blue_illumar_lamp.json index 8b5abe222..05478f364 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_blue_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_blue_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/light_blue_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_blue_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_blue_inverted_illumar_lamp.json index 9495c9ddf..5e8e7304f 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_blue_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_blue_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/light_blue_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_gray_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_gray_illumar_lamp.json index ed00a469a..1cc2376e2 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_gray_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_gray_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/light_gray_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_gray_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_gray_inverted_illumar_lamp.json index 434a7aa99..692a0ea96 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_gray_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/light_gray_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/light_gray_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/lime_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/lime_illumar_lamp.json index 67bbc98d8..073e5a6a4 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/lime_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/lime_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/lime_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/lime_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/lime_inverted_illumar_lamp.json index 8fb4a523a..048b5f826 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/lime_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/lime_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/lime_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/magenta_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/magenta_illumar_lamp.json index be8534cb7..cc8b771c5 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/magenta_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/magenta_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/magenta_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/magenta_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/magenta_inverted_illumar_lamp.json index 6f0417d5f..0d045e7ea 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/magenta_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/magenta_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/magenta_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/orange_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/orange_illumar_lamp.json index 612d84c53..5a3a339d7 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/orange_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/orange_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/orange_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/orange_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/orange_inverted_illumar_lamp.json index 2e6457244..34cbfda2f 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/orange_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/orange_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/orange_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/pink_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/pink_illumar_lamp.json index 7d4bd99db..231b9d7a9 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/pink_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/pink_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/pink_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/pink_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/pink_inverted_illumar_lamp.json index 1c4cd12b8..105c5f6ef 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/pink_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/pink_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/pink_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/purple_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/purple_illumar_lamp.json index 30929b5ba..d4d74c5d7 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/purple_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/purple_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/purple_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/purple_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/purple_inverted_illumar_lamp.json index 05a9a2cbd..802f64a4e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/purple_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/purple_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/purple_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/red_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/red_illumar_lamp.json index c5abbc614..029a7329b 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/red_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/red_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/red_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/red_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/red_inverted_illumar_lamp.json index 0f45ce778..2e9a79f60 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/red_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/red_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/red_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/white_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/white_illumar_lamp.json index aaf14e01e..325435409 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/white_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/white_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/white_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/white_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/white_inverted_illumar_lamp.json index f479b51b1..661a6a6b3 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/white_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/white_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/white_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/yellow_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/yellow_illumar_lamp.json index 6ae46c959..817b8e922 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/yellow_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/yellow_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/yellow_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/yellow_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/yellow_inverted_illumar_lamp.json index fbcf061b7..5292b7be8 100644 --- a/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/yellow_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/loot_tables/blocks/yellow_inverted_illumar_lamp.json @@ -3,6 +3,11 @@ "pools": [ { "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], "entries": [ { "type": "minecraft:item", @@ -11,5 +16,6 @@ ], "rolls": 1.0 } - ] + ], + "random_sequence": "projectred_illumination:blocks/yellow_inverted_illumar_lamp" } \ No newline at end of file diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/black_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/black_cage_light.json index e598743f3..523e7bfef 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/black_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/black_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/black_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/black_fallout_light.json index 2e14cc98a..806c449c5 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/black_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/black_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/black_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/black_fixture_light.json index bb5f4e1cd..63e4d8e8f 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/black_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/black_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/black_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/black_illumar_lamp.json index bc497da4a..f0aa00883 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/black_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/black_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_cage_light.json index 5293e98bc..9fb74bec0 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_fallout_light.json index 3b85d5101..f2a6ad16e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_fixture_light.json index 190e35908..2a3acceaf 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_illumar_lamp.json index 8978612ce..4e96d75a4 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_lantern.json index 11ea791f5..51454f3aa 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/black_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/black_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/black_lantern.json index 609b49935..3f94ff2f6 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/black_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/black_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_cage_light.json index f711c423e..98d5b5d79 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_fallout_light.json index 8a2a4ebf9..ba5e17207 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_fixture_light.json index 7b430ff7d..3fa32a914 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_illumar_lamp.json index 1a3904f46..064f8dd8e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_cage_light.json index 6ad88a182..3fcfe8308 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_fallout_light.json index 9a389412b..4b0cfba43 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_fixture_light.json index f323bd2ba..553506b5b 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_illumar_lamp.json index d7a5d4185..1110984e7 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_lantern.json index 6fdaca546..1fc53781d 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_lantern.json index 5ece90de2..b7d59983b 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/blue_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/blue_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_cage_light.json index a9cb0f0de..fb2dad753 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_fallout_light.json index 6ffee5515..9cdec777a 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_fixture_light.json index 825bc2256..e0f97ae68 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_illumar_lamp.json index 256101307..101456208 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_cage_light.json index 80340b150..534ca86ba 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_fallout_light.json index 7448f62aa..8aee5c1cc 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_fixture_light.json index ee1aedb2e..b48acf910 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_illumar_lamp.json index 85e897e3b..f5a3fe740 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_lantern.json index 49fedac6b..41d7b35a1 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_lantern.json index eab684e42..63cca6e64 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/brown_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/brown_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_cage_light.json index 20ab9dbae..3b1b42618 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_fallout_light.json index 5eac574c6..e518a641c 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_fixture_light.json index 47f9ce4c5..054dad03e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_illumar_lamp.json index b5f158253..016fa18cc 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_cage_light.json index 9a32f5a94..4e15e7716 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_fallout_light.json index 2152b4840..1b43c2292 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_fixture_light.json index 8470b55cb..e0959e77e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_illumar_lamp.json index e34c6024b..d1840ad00 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_lantern.json index 33ba16137..f9ce511aa 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_lantern.json index 5714043de..e3ffbff93 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/cyan_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_cage_light.json index 1da0ca144..76ccef9e6 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_fallout_light.json index 19afd27e2..12486a78c 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_fixture_light.json index bae95fd70..5411682c8 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_illumar_lamp.json index f891b329e..228d41b5a 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_cage_light.json index c9ddce7ce..93138faf3 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_fallout_light.json index ad46d9593..a2e7dace2 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_fixture_light.json index 9e9f7e977..c75ec3997 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_illumar_lamp.json index 788ee5784..b9987821d 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_lantern.json index fabbb280f..6e486085b 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_lantern.json index af94dfb7f..a84178868 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/gray_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/gray_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/green_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/green_cage_light.json index 754b3df94..53ad9bcbc 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/green_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/green_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/green_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/green_fallout_light.json index 7ce1f92c2..557a9573a 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/green_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/green_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/green_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/green_fixture_light.json index 89395142a..31c73ea26 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/green_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/green_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/green_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/green_illumar_lamp.json index caac9c829..90fa32409 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/green_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/green_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_cage_light.json index 5eeaa9cb1..2254b3f39 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_fallout_light.json index 9cf1baf2b..36cb3cd5b 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_fixture_light.json index 950cfc19b..288e1bc6d 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_illumar_lamp.json index fc2834e80..af14b7497 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_lantern.json index b77359774..e1d60896b 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/green_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/green_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/green_lantern.json index 21fc204df..3d352d84d 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/green_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/green_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/illumar_smart_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/illumar_smart_lamp.json index 7b6abf625..3784e6c2a 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/illumar_smart_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/illumar_smart_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_core:blue_illumar" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_cage_light.json index cf656402e..c837638b9 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_fallout_light.json index 1fd14b4b6..458c874de 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_fixture_light.json index b6c4aa9a5..063f03965 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_illumar_lamp.json index cb72bbe04..c3a72d7c5 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_cage_light.json index 03e057c9a..d4f74460e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_fallout_light.json index 84cd38599..5eac400b6 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_fixture_light.json index e3b5d1f1f..f175d699c 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_illumar_lamp.json index b3c4f1bb0..7ede97366 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_lantern.json index 05904c4c4..848765347 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_lantern.json index 77b4d6fbf..6b2ea6f2a 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_blue_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_cage_light.json index 480d42f3d..76e3b27f4 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_fallout_light.json index 285599aac..12d26c011 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_fixture_light.json index 743e7e77f..4a0d3c68d 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_illumar_lamp.json index 5ba46c998..5a76a83ec 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_cage_light.json index beea1b720..740f44f20 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_fallout_light.json index 8b49c720a..3f793571e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_fixture_light.json index 8304b63b4..90f4a8cb0 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_illumar_lamp.json index 8633770e2..d887ed22a 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_lantern.json index 80f910635..2eca7e801 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_lantern.json index 3457a1fab..4ad19d3b4 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/light_gray_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_cage_light.json index 8cb33a9bd..a329ed725 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_fallout_light.json index d07fa8058..d53f3e6ca 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_fixture_light.json index 0b05c1b9c..97351abd7 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_illumar_lamp.json index f8456d7ab..69adb7f6d 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_cage_light.json index ee06f2491..ce75daecb 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_fallout_light.json index f4e45790e..aa16b6377 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_fixture_light.json index 0a2258be1..18dd0aa9e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_illumar_lamp.json index 7fce8d442..b36667242 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_lantern.json index be5baabe8..142cc09e6 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_lantern.json index fa7f6ecba..f201401ee 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/lime_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/lime_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_cage_light.json index 541a50dcd..b7c44762f 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_fallout_light.json index f76cdd3bd..94b096bc2 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_fixture_light.json index 016d84b11..4d6adfa64 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_illumar_lamp.json index 67670371f..56829c281 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_cage_light.json index d175f8b0f..063ab5c9e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_fallout_light.json index 4c12cbfe4..0af0134e9 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_fixture_light.json index 7a586e871..24e493ae7 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_illumar_lamp.json index a3bb01aab..c5cf04894 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_lantern.json index 0bd8577b0..827679901 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_lantern.json index fd1cfb395..0497e6874 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/magenta_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_cage_light.json index 8c33cbee0..c3e5b5b68 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_fallout_light.json index 7f269f3a6..5c358310e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_fixture_light.json index cb94328d2..acd03a0c9 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_illumar_lamp.json index c74eee0cb..68de28b9e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_cage_light.json index c4a6acf1a..8b68c01ff 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_fallout_light.json index cc57b477f..0f7071db6 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_fixture_light.json index b43af02bc..66f409e62 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_illumar_lamp.json index 6075f639d..f85789059 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_lantern.json index 287fdb826..75a1723ea 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_lantern.json index eb27863cb..3b63356fb 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/orange_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/orange_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_cage_light.json index 5c84296ee..dab9fb5bb 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_fallout_light.json index 5f02869cd..e5539b6fa 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_fixture_light.json index bb9da258e..93c64c2e3 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_illumar_lamp.json index 88807b494..378108229 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_cage_light.json index 30678c24c..763253f2a 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_fallout_light.json index 8a96f64aa..52d9ac284 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_fixture_light.json index ebaf60e66..e84d67334 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_illumar_lamp.json index df84b5648..a9fe69a2a 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_lantern.json index e936e7e24..6d56326d2 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_lantern.json index a93809416..d6f0722b2 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/pink_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/pink_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_cage_light.json index 4949f7bab..5776b28b4 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_fallout_light.json index 40f9345ee..6d791d995 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_fixture_light.json index b1f481ae7..474202106 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_illumar_lamp.json index 02c3ba27c..f1775bd02 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_cage_light.json index b3286dd00..fcc2502ae 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_fallout_light.json index 7a625d35d..3515eb7d5 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_fixture_light.json index 43489c224..73f38eac1 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_illumar_lamp.json index 492ff4029..a5f6f9f6b 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_lantern.json index 5c97f827b..2b57e070b 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_lantern.json index 1baf13a05..8296c80ea 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/purple_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/purple_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/red_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/red_cage_light.json index c6b6e6ea8..186cdd6ad 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/red_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/red_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/red_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/red_fallout_light.json index b96ddc391..7d265b2c1 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/red_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/red_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/red_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/red_fixture_light.json index fe1780247..5b3f15879 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/red_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/red_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/red_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/red_illumar_lamp.json index aa6e8a121..dc9f4f1ac 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/red_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/red_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_cage_light.json index 5299f99d8..f12019a30 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_fallout_light.json index 39a4b8bd8..c96004657 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_fixture_light.json index f54add333..39f61c0a5 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_illumar_lamp.json index 86485f265..67efd296a 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_lantern.json index 6587f8d1b..e9791e3fd 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/red_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/red_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/red_lantern.json index 38b7ddd6c..9464e797e 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/red_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/red_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/white_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/white_cage_light.json index 7820056f6..7ac71a6df 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/white_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/white_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/white_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/white_fallout_light.json index fc94ec4af..7a6b7b616 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/white_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/white_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/white_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/white_fixture_light.json index 79b9308c3..5a0eac6ce 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/white_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/white_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/white_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/white_illumar_lamp.json index e398a7204..e5b2f8944 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/white_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/white_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_cage_light.json index 288a2ac1a..5993fd0c5 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_fallout_light.json index c92315cfd..6af4af8d3 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_fixture_light.json index 6058170e5..ebfe8b382 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_illumar_lamp.json index f15070ab5..08903ae58 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_lantern.json index 611f875d4..fb42649be 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/white_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/white_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/white_lantern.json index 2a7cd35f2..d76d6d246 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/white_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/white_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_cage_light.json index 32fadcb1d..c0886bf42 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_fallout_light.json index 384cbc47d..1b2c3c0bd 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_fixture_light.json index d7aba1a72..d0a0690ed 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:conductive_plate" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_illumar_lamp.json index b779999e2..794064f84 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_cage_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_cage_light.json index 409a44c28..55ca04f0b 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_cage_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_cage_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_fallout_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_fallout_light.json index 3a96b5ae9..c504a97bd 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_fallout_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_fallout_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "minecraft:iron_bars" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_fixture_light.json b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_fixture_light.json index bdaf6b2d5..e201446bd 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_fixture_light.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_fixture_light.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_illumar_lamp.json b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_illumar_lamp.json index 5d5e0e0d8..d1dceb4e2 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_illumar_lamp.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_illumar_lamp.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_lantern.json index 1b4d27eca..dde21bd78 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_inverted_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_lantern.json b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_lantern.json index df8b8008d..adf853e63 100644 --- a/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_lantern.json +++ b/illumination/src/main/generated/data/projectred_illumination/recipes/yellow_lantern.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "G": { "tag": "forge:glass_panes/colorless" diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/BlockLightType.java b/illumination/src/main/java/mrtjp/projectred/illumination/BlockLightType.java index 91a063a4c..7fe3c46c2 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/BlockLightType.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/BlockLightType.java @@ -11,11 +11,11 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.neoforge.registries.DeferredRegister; import java.util.ArrayList; import java.util.function.BiFunction; +import java.util.function.Supplier; @SuppressWarnings("DataFlowIssue") public enum BlockLightType { @@ -26,12 +26,12 @@ public enum BlockLightType { private final BiFunction blockFactory; private final BlockLightBlockEntityFactory tileFactory; - private final ArrayList> blockSupplier = new ArrayList<>(); - private final ArrayList> invertedBlockSupplier = new ArrayList<>(); - private final ArrayList> itemBlockSupplier = new ArrayList<>(); - private final ArrayList> invertedItemBlockSupplier = new ArrayList<>(); - private final ArrayList>> tileEntityTypeSupplier = new ArrayList<>(); - private final ArrayList>> invertedTileEntityTypeSupplier = new ArrayList<>(); + private final ArrayList> blockSupplier = new ArrayList<>(); + private final ArrayList> invertedBlockSupplier = new ArrayList<>(); + private final ArrayList> itemBlockSupplier = new ArrayList<>(); + private final ArrayList> invertedItemBlockSupplier = new ArrayList<>(); + private final ArrayList>> tileEntityTypeSupplier = new ArrayList<>(); + private final ArrayList>> invertedTileEntityTypeSupplier = new ArrayList<>(); BlockLightType(String unlocalName, String localName, BiFunction blockFactory, BlockLightBlockEntityFactory tileFactory) { this.unlocalName = unlocalName; @@ -73,7 +73,7 @@ public Block getBlock(int color, boolean inverted) { } public Iterable allColors(boolean inverted) { - return FastStream.of(inverted ? invertedBlockSupplier : blockSupplier).map(RegistryObject::get); + return FastStream.of(inverted ? invertedBlockSupplier : blockSupplier).map(Supplier::get); } public BlockEntityType getTileEntityType(int color, boolean inverted) { diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/MultipartLightProperties.java b/illumination/src/main/java/mrtjp/projectred/illumination/MultipartLightProperties.java index b7e85f8ca..e59540e43 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/MultipartLightProperties.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/MultipartLightProperties.java @@ -27,9 +27,9 @@ import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.event.TextureStitchEvent; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; import java.util.Arrays; import java.util.HashMap; @@ -57,7 +57,7 @@ public boolean canFloat() { //region Client Registration @OnlyIn(Dist.CLIENT) - public abstract void onTextureStitchEvent(TextureStitchEvent.Post event); + public abstract void onTextureStitchEvent(TextureAtlasStitchedEvent event); //endregion //region Rendering diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/MultipartLightType.java b/illumination/src/main/java/mrtjp/projectred/illumination/MultipartLightType.java index 965a7e455..d7430435a 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/MultipartLightType.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/MultipartLightType.java @@ -8,11 +8,11 @@ import net.covers1624.quack.collection.FastStream; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.neoforge.registries.DeferredRegister; import java.util.ArrayList; import java.util.List; +import java.util.function.Supplier; public enum MultipartLightType { FIXTURE("fixture_light", "Fixture Light", new FixtureLightProperties()), @@ -25,11 +25,11 @@ public enum MultipartLightType { private final String localName; private final MultipartLightProperties properties; - private final List> itemSuppliers = new ArrayList<>(); - private final List> invertedItemSuppliers = new ArrayList<>(); + private final List> itemSuppliers = new ArrayList<>(); + private final List> invertedItemSuppliers = new ArrayList<>(); - private final List>> partSuppliers = new ArrayList<>(); - private final List>> invertedPartSuppliers = new ArrayList<>(); + private final List>> partSuppliers = new ArrayList<>(); + private final List>> invertedPartSuppliers = new ArrayList<>(); MultipartLightType(String unlocalName, String localName, MultipartLightProperties properties) { this.unlocalName = unlocalName; @@ -59,7 +59,7 @@ public void registerParts(DeferredRegister> partRegistry, Defer } } - public RegistryObject getItemRegistryObject(int color, boolean inverted) { + public Supplier getItemRegistryObject(int color, boolean inverted) { return inverted ? invertedItemSuppliers.get(color) : itemSuppliers.get(color); } @@ -68,7 +68,7 @@ public Item getItem(int color, boolean inverted) { } public Iterable getAllItems(boolean inverted) { - return FastStream.of(inverted ? invertedItemSuppliers : itemSuppliers).map(RegistryObject::get); + return FastStream.of(inverted ? invertedItemSuppliers : itemSuppliers).map(Supplier::get); } public ItemStack makeStack(int colour, boolean inverted) { diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/ProjectRedIllumination.java b/illumination/src/main/java/mrtjp/projectred/illumination/ProjectRedIllumination.java index d1d433164..5ea3763ef 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/ProjectRedIllumination.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/ProjectRedIllumination.java @@ -6,6 +6,7 @@ import mrtjp.projectred.illumination.init.IlluminationClientInit; import mrtjp.projectred.illumination.init.IlluminationMicroMaterials; import mrtjp.projectred.illumination.init.IlluminationParts; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; @@ -13,18 +14,17 @@ import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.data.event.GatherDataEvent; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; +import net.neoforged.fml.loading.FMLEnvironment; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.data.event.GatherDataEvent; +import net.neoforged.neoforge.registries.DeferredRegister; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.Nullable; import static mrtjp.projectred.illumination.ProjectRedIllumination.MOD_ID; @@ -35,12 +35,14 @@ public class ProjectRedIllumination { public static final Logger LOGGER = LogManager.getLogger(MOD_ID); - public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, MOD_ID); - public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID); - public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, MOD_ID); + public static final DeferredRegister BLOCKS = DeferredRegister.create(BuiltInRegistries.BLOCK, MOD_ID); + public static final DeferredRegister ITEMS = DeferredRegister.create(BuiltInRegistries.ITEM, MOD_ID); + public static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(BuiltInRegistries.BLOCK_ENTITY_TYPE, MOD_ID); public static final DeferredRegister> PART_TYPES = DeferredRegister.create(MultipartType.MULTIPART_TYPES, MOD_ID); public static final DeferredRegister CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID); + private static @Nullable ModContainer container; + static { IlluminationBlocks.register(); IlluminationParts.register(); @@ -48,13 +50,15 @@ public class ProjectRedIllumination { IlluminationCreativeModeTabs.register(); } - public ProjectRedIllumination() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); + public ProjectRedIllumination(ModContainer container, IEventBus modEventBus) { + ProjectRedIllumination.container = container; modEventBus.addListener(this::commonSetup); modEventBus.addListener(this::onGatherDataEvent); - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> IlluminationClientInit::init); + if (FMLEnvironment.dist.isClient()) { + IlluminationClientInit.init(modEventBus); + } BLOCKS.register(modEventBus); ITEMS.register(modEventBus); @@ -78,7 +82,7 @@ private void onGatherDataEvent(final GatherDataEvent event) { generator.addProvider(event.includeClient(), new IlluminationItemModelProvider(output, fileHelper)); generator.addProvider(event.includeClient(), new IlluminationLanguageProvider(output)); - generator.addProvider(event.includeServer(), new IlluminationBlockLootProvider(output)); + generator.addProvider(event.includeServer(), new IlluminationLootTableProvider(output)); generator.addProvider(event.includeServer(), new IlluminationRecipeProvider(output)); } } diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/client/IllumarLampTileRenderer.java b/illumination/src/main/java/mrtjp/projectred/illumination/client/IllumarLampTileRenderer.java index 7e1f3c82f..3e291ed93 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/client/IllumarLampTileRenderer.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/client/IllumarLampTileRenderer.java @@ -8,6 +8,7 @@ import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.AABB; public class IllumarLampTileRenderer implements BlockEntityRenderer { @@ -33,4 +34,12 @@ public void render(IllumarLampTile tile, float partialTicks, PoseStack matrixSta public int getViewDistance() { return 256; } + + @Override + public AABB getRenderBoundingBox(IllumarLampTile blockEntity) { + return IllumarLampTileRenderer.GLOW_BOUNDS + .copy() + .add(blockEntity.getBlockPos()) + .aabb(); + } } diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationBlockLootProvider.java b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationBlockLootProvider.java deleted file mode 100644 index d9c6b26d0..000000000 --- a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationBlockLootProvider.java +++ /dev/null @@ -1,27 +0,0 @@ -package mrtjp.projectred.illumination.data; - -import codechicken.lib.datagen.LootTableProvider; -import mrtjp.projectred.illumination.BlockLightType; -import net.minecraft.data.PackOutput; - -import static mrtjp.projectred.illumination.ProjectRedIllumination.MOD_ID; -import static mrtjp.projectred.illumination.init.IlluminationBlocks.ILLUMAR_SMART_LAMP; - -public class IlluminationBlockLootProvider extends LootTableProvider.BlockLootProvider { - - public IlluminationBlockLootProvider(PackOutput output) { - super(output, MOD_ID); - } - - @Override - protected void registerTables() { - for (BlockLightType lampType : BlockLightType.values()) { - for (int color = 0; color < 16; color++) { - register(lampType.getBlock(color, false), singleItem(lampType.getBlock(color, false))); - register(lampType.getBlock(color, true), singleItem(lampType.getBlock(color, true))); - } - } - - register(ILLUMAR_SMART_LAMP.get(), singleItem(ILLUMAR_SMART_LAMP.get())); - } -} diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationBlockStateModelProvider.java b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationBlockStateModelProvider.java index 1bf95ce4a..66ed6d6c1 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationBlockStateModelProvider.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationBlockStateModelProvider.java @@ -5,14 +5,14 @@ import mrtjp.projectred.illumination.ProjectRedIllumination; import mrtjp.projectred.illumination.block.IllumarLampBlock; import mrtjp.projectred.illumination.block.IllumarSmartLampBlock; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.PackOutput; import net.minecraft.world.level.block.Block; -import net.minecraftforge.client.model.generators.BlockModelBuilder; -import net.minecraftforge.client.model.generators.BlockStateProvider; -import net.minecraftforge.client.model.generators.ConfiguredModel; -import net.minecraftforge.client.model.generators.ModelFile; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.client.model.generators.BlockModelBuilder; +import net.neoforged.neoforge.client.model.generators.BlockStateProvider; +import net.neoforged.neoforge.client.model.generators.ConfiguredModel; +import net.neoforged.neoforge.client.model.generators.ModelFile; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import static mrtjp.projectred.illumination.init.IlluminationBlocks.ILLUMAR_SMART_LAMP; @@ -64,7 +64,7 @@ private void addSidedBlockVariants(Block block, ModelFile offModel, ModelFile on } private BlockModelBuilder createSmartLampModel(Block block, boolean lit) { - String texture = ForgeRegistries.BLOCKS.getKey(block).getPath(); + String texture = BuiltInRegistries.BLOCK.getKey(block).getPath(); String litKey = lit ? "_on" : ""; String modelName = texture + litKey; return models().cubeBottomTop(modelName, diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationCreativeModeTabs.java b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationCreativeModeTabs.java index 2b88962da..e63dceba2 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationCreativeModeTabs.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationCreativeModeTabs.java @@ -10,11 +10,12 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Block; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; public class IlluminationCreativeModeTabs { - public static RegistryObject ILLUMINATION_CREATIVE_TAB; + public static Supplier ILLUMINATION_CREATIVE_TAB; public static void register() { ILLUMINATION_CREATIVE_TAB = ProjectRedIllumination.CREATIVE_TABS.register("illumination", diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationItemModelProvider.java b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationItemModelProvider.java index 90c7c5152..a97c30f83 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationItemModelProvider.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationItemModelProvider.java @@ -4,8 +4,8 @@ import mrtjp.projectred.illumination.BlockLightType; import mrtjp.projectred.illumination.MultipartLightType; import net.minecraft.data.PackOutput; -import net.minecraftforge.client.model.generators.ModelFile; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.client.model.generators.ModelFile; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import static mrtjp.projectred.illumination.ProjectRedIllumination.MOD_ID; import static mrtjp.projectred.illumination.init.IlluminationBlocks.ILLUMAR_SMART_LAMP; diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationLanguageProvider.java b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationLanguageProvider.java index ed457d832..8074b20c3 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationLanguageProvider.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationLanguageProvider.java @@ -3,7 +3,7 @@ import mrtjp.projectred.illumination.BlockLightType; import mrtjp.projectred.illumination.MultipartLightType; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.LanguageProvider; +import net.neoforged.neoforge.common.data.LanguageProvider; import static mrtjp.projectred.illumination.ProjectRedIllumination.MOD_ID; import static mrtjp.projectred.illumination.init.IlluminationBlocks.ILLUMAR_SMART_LAMP; diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationLootTableProvider.java b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationLootTableProvider.java new file mode 100644 index 000000000..d0576551e --- /dev/null +++ b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationLootTableProvider.java @@ -0,0 +1,52 @@ +package mrtjp.projectred.illumination.data; + +import mrtjp.projectred.illumination.BlockLightType; +import mrtjp.projectred.illumination.ProjectRedIllumination; +import net.minecraft.core.Holder; +import net.minecraft.data.PackOutput; +import net.minecraft.data.loot.BlockLootSubProvider; +import net.minecraft.data.loot.LootTableProvider; +import net.minecraft.world.flag.FeatureFlags; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; + +import java.util.List; +import java.util.Set; + +import static mrtjp.projectred.illumination.init.IlluminationBlocks.ILLUMAR_SMART_LAMP; + +public class IlluminationLootTableProvider extends LootTableProvider { + + public IlluminationLootTableProvider(PackOutput output) { + super(output, Set.of(), List.of( + new LootTableProvider.SubProviderEntry(BlockLootTable::new, LootContextParamSets.BLOCK)) + ); + } + + private static final class BlockLootTable extends BlockLootSubProvider { + + public BlockLootTable() { + super(Set.of(), FeatureFlags.REGISTRY.allFlags()); + } + + @Override + protected Iterable getKnownBlocks() { + return ProjectRedIllumination.BLOCKS.getEntries() + .stream() + .map(Holder::value) + .toList(); + } + + @Override + protected void generate() { + for (BlockLightType lampType : BlockLightType.values()) { + for (int color = 0; color < 16; color++) { + dropSelf(lampType.getBlock(color, false)); + dropSelf(lampType.getBlock(color, true)); + } + } + + dropSelf(ILLUMAR_SMART_LAMP.get()); + } + } +} diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationRecipeProvider.java b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationRecipeProvider.java index 543eb4fc5..28f50239b 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationRecipeProvider.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/data/IlluminationRecipeProvider.java @@ -6,7 +6,7 @@ import net.minecraft.data.PackOutput; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Blocks; -import net.minecraftforge.common.Tags; +import net.neoforged.neoforge.common.Tags; import static mrtjp.projectred.core.init.CoreItems.*; import static mrtjp.projectred.illumination.ProjectRedIllumination.MOD_ID; diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationBlocks.java b/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationBlocks.java index 7f24fc0d9..c03075609 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationBlocks.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationBlocks.java @@ -7,7 +7,8 @@ import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; import static mrtjp.projectred.illumination.ProjectRedIllumination.*; @@ -17,10 +18,10 @@ public class IlluminationBlocks { public static final String ID_ILLUMAR_SMART_LAMP = "illumar_smart_lamp"; // Blocks - public static RegistryObject ILLUMAR_SMART_LAMP; + public static Supplier ILLUMAR_SMART_LAMP; // Block Entities - public static RegistryObject> ILLUMAR_SMART_LAMP_BLOCK_ENTITY; + public static Supplier> ILLUMAR_SMART_LAMP_BLOCK_ENTITY; public static void register() { diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationClientInit.java b/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationClientInit.java index cbed9e535..77787c0a2 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationClientInit.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationClientInit.java @@ -8,20 +8,17 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRenderers; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.ModelResourceLocation; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.client.event.ModelEvent; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; +import net.neoforged.neoforge.client.event.ModelEvent; import java.util.Objects; public class IlluminationClientInit { - public static void init() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); - + public static void init(IEventBus modEventBus) { modEventBus.addListener(IlluminationClientInit::clientSetup); modEventBus.addListener(IlluminationClientInit::onModelBake); @@ -56,7 +53,7 @@ public static void onModelBake(ModelEvent.ModifyBakingResult event) { // Replace item models for inverted lamps with a wrapped renderer that renders the lamp glow for (int color = 0; color < 16; color++) { - ResourceLocation blockRL = Objects.requireNonNull(ForgeRegistries.BLOCKS.getKey(BlockLightType.ILLUMAR_LAMP.getBlock(color, true))); + ResourceLocation blockRL = Objects.requireNonNull(BuiltInRegistries.BLOCK.getKey(BlockLightType.ILLUMAR_LAMP.getBlock(color, true))); // Override default BlockItem renderer for the lit variants to render lamp glow BakedModel litModel = event.getModels().get(new ModelResourceLocation(blockRL, "lit=true")); event.getModels().put( @@ -65,7 +62,7 @@ public static void onModelBake(ModelEvent.ModifyBakingResult event) { } // Illumar smart lamp renderer - ResourceLocation smartLampRl = Objects.requireNonNull(ForgeRegistries.BLOCKS.getKey(IlluminationBlocks.ILLUMAR_SMART_LAMP.get())); + ResourceLocation smartLampRl = Objects.requireNonNull(BuiltInRegistries.BLOCK.getKey(IlluminationBlocks.ILLUMAR_SMART_LAMP.get())); BakedModel smartLampModel = event.getModels().get(new ModelResourceLocation(smartLampRl, "level=15,side=0")); event.getModels().put( new ModelResourceLocation(smartLampRl, "inventory"), diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationMicroMaterials.java b/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationMicroMaterials.java index 63b54c334..a6db881c4 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationMicroMaterials.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/init/IlluminationMicroMaterials.java @@ -4,8 +4,8 @@ import codechicken.microblock.util.MicroMaterialRegistry; import mrtjp.projectred.illumination.BlockLightType; import mrtjp.projectred.illumination.part.IllumarLampMicroMaterial; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.registries.RegisterEvent; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.neoforge.registries.RegisterEvent; public class IlluminationMicroMaterials { @@ -16,7 +16,7 @@ public static void register() { @SubscribeEvent public void onRegisterMicroMaterials(RegisterEvent event) { - event.register(MicroMaterialRegistry.MICRO_MATERIALS.getRegistryKey(), r -> { + event.register(MicroMaterialRegistry.microMaterials().key(), r -> { for (int color = 0; color < 16; color++) { int colorFinal = color; IllumarLampMicroMaterial material = new IllumarLampMicroMaterial(() -> BlockLightType.ILLUMAR_LAMP.getBlock(colorFinal, true)); diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/part/CageLightProperties.java b/illumination/src/main/java/mrtjp/projectred/illumination/part/CageLightProperties.java index e6c5efcfc..3a1baac9f 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/part/CageLightProperties.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/part/CageLightProperties.java @@ -9,9 +9,9 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.event.TextureStitchEvent; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; import javax.annotation.Nullable; import java.util.Map; @@ -50,7 +50,7 @@ public MultipartLightPart partFactory(int color, boolean inverted) { //region Rendering @Override @OnlyIn(Dist.CLIENT) - public void onTextureStitchEvent(TextureStitchEvent.Post event) { + public void onTextureStitchEvent(TextureAtlasStitchedEvent event) { if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return; icon = event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/cage_lamp")); } diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/part/FalloutLightProperties.java b/illumination/src/main/java/mrtjp/projectred/illumination/part/FalloutLightProperties.java index 1e3def15d..124d84f64 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/part/FalloutLightProperties.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/part/FalloutLightProperties.java @@ -9,9 +9,9 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.event.TextureStitchEvent; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; import javax.annotation.Nullable; import java.util.Map; @@ -49,7 +49,7 @@ public MultipartLightPart partFactory(int color, boolean inverted) { //region Rendering @Override @OnlyIn(Dist.CLIENT) - public void onTextureStitchEvent(TextureStitchEvent.Post event) { + public void onTextureStitchEvent(TextureAtlasStitchedEvent event) { if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return; icon = event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/fallout")); } diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/part/FixtureLightProperties.java b/illumination/src/main/java/mrtjp/projectred/illumination/part/FixtureLightProperties.java index 204e4045b..4a9aca16e 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/part/FixtureLightProperties.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/part/FixtureLightProperties.java @@ -9,9 +9,9 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.event.TextureStitchEvent; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; import javax.annotation.Nullable; import java.util.Map; @@ -44,7 +44,7 @@ public MultipartLightPart partFactory(int color, boolean inverted) { //region Rendering @Override @OnlyIn(Dist.CLIENT) - public void onTextureStitchEvent(TextureStitchEvent.Post event) { + public void onTextureStitchEvent(TextureAtlasStitchedEvent event) { if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return; icon = event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/fixture")); } diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/part/LanternLightProperties.java b/illumination/src/main/java/mrtjp/projectred/illumination/part/LanternLightProperties.java index ac4ecf511..2c2c8d240 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/part/LanternLightProperties.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/part/LanternLightProperties.java @@ -12,9 +12,9 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.event.TextureStitchEvent; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; import javax.annotation.Nullable; import java.util.Arrays; @@ -53,7 +53,7 @@ public MultipartLightPart partFactory(int color, boolean inverted) { //region Rendering @Override @OnlyIn(Dist.CLIENT) - public void onTextureStitchEvent(TextureStitchEvent.Post event) { + public void onTextureStitchEvent(TextureAtlasStitchedEvent event) { if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return; icon = event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/lantern")); } diff --git a/illumination/src/main/java/mrtjp/projectred/illumination/tile/IllumarLampTile.java b/illumination/src/main/java/mrtjp/projectred/illumination/tile/IllumarLampTile.java index 72603172e..828bae7be 100644 --- a/illumination/src/main/java/mrtjp/projectred/illumination/tile/IllumarLampTile.java +++ b/illumination/src/main/java/mrtjp/projectred/illumination/tile/IllumarLampTile.java @@ -1,13 +1,10 @@ package mrtjp.projectred.illumination.tile; -import codechicken.lib.vec.Cuboid6; import mrtjp.projectred.illumination.BlockLightType; import mrtjp.projectred.illumination.block.IllumarLampBlock; -import mrtjp.projectred.illumination.client.IllumarLampTileRenderer; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.phys.AABB; public class IllumarLampTile extends BlockEntity { @@ -23,10 +20,4 @@ public IllumarLampTile(int color, boolean inverted, BlockPos pos, BlockState sta public boolean isLit() { return level.getBlockState(getBlockPos()).getValue(IllumarLampBlock.LIT); } - - @Override - public AABB getRenderBoundingBox() { - Cuboid6 c = IllumarLampTileRenderer.GLOW_BOUNDS.copy(); - return c.add(worldPosition).aabb(); - } } diff --git a/illumination/src/main/resources/META-INF/mods.toml b/illumination/src/main/resources/META-INF/mods.toml index c2d17faa7..115b6f907 100644 --- a/illumination/src/main/resources/META-INF/mods.toml +++ b/illumination/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[${lang_version},)" +loaderVersion="[2,)" issueTrackerURL="https://github.com/MrTJP/ProjectRed" license="MIT" @@ -15,38 +15,38 @@ license="MIT" Redstone. The way it was meant to be. ''' [[dependencies.projectred_illumination]] - modId="forge" - mandatory=true + modId="neoforge" + type="required" versionRange="[${forge_version},)" ordering="NONE" side="BOTH" [[dependencies.projectred_illumination]] modId="minecraft" - mandatory=true - versionRange="[1.20.1]" + type="required" + versionRange="[1.20.4]" ordering="NONE" side="BOTH" [[dependencies.projectred_illumination]] modId="codechickenlib" - mandatory=true + type="required" versionRange="[${ccl_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_illumination]] modId="cb_multipart" - mandatory=true + type="required" versionRange="[${cbm_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_illumination]] modId="cb_microblock" - mandatory=true + type="required" versionRange="[${cbm_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_illumination]] modId="projectred_core" - mandatory=true + type="required" versionRange="[${file.jarVersion},)" ordering="AFTER" side="BOTH" diff --git a/integration/build.gradle b/integration/build.gradle index 0b2df6dc8..cdc690549 100644 --- a/integration/build.gradle +++ b/integration/build.gradle @@ -1,34 +1,29 @@ plugins { - id 'net.neoforged.gradle' + id 'net.neoforged.gradle.userdev' } String mod_id = 'projectred_integration' minecraft { - mappings channel: mcp_mappings, version: mcp_mappings_version - accessTransformer = file("src/main/resources/META-INF/accesstransformer.cfg") - runs { - data { - property 'mixin.env.remapRefMap', 'true' - property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + accessTransformers.file file("../core/src/main/resources/META-INF/accesstransformer.cfg") +} - ideaModule "${rootProject.name}.${project.name}.main" +runs { + data { + systemProperty 'mixin.env.remapRefMap', 'true' + systemProperty 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" - workingDirectory file('run') - args '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") - mods { - 'projectred_core' { source project(':core').sourceSets.main } - '${mod_id}' { source sourceSets.main } - } - } + workingDirectory file('run') + programArguments.addAll '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") + modSource sourceSets.main } } dependencies { - minecraft "net.neoforged:forge:${mc_version}-${forge_version}" + implementation "net.neoforged:neoforge:${forge_version}" - implementation fg.deobf("io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal") - implementation fg.deobf("io.codechicken:CBMultipart:${mc_version}-${cbm_version}:universal") + implementation "io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}" + implementation "io.codechicken:CBMultipart:${mc_version}-${cbm_version}" implementation project(":core") } diff --git a/integration/src/main/generated/.cache/8a6f9a0278662d141141aabe64bfbd22f6606579 b/integration/src/main/generated/.cache/8a6f9a0278662d141141aabe64bfbd22f6606579 index d20a7f219..4e6bebdeb 100644 --- a/integration/src/main/generated/.cache/8a6f9a0278662d141141aabe64bfbd22f6606579 +++ b/integration/src/main/generated/.cache/8a6f9a0278662d141141aabe64bfbd22f6606579 @@ -1,4 +1,4 @@ -// 1.20.1 2024-11-20T10:19:40.10346 projectred_integration Item models. +// 1.20.4 2024-11-23T20:03:40.924558 projectred_integration Item models. 1ad624e432abba49e3dca47630174141d067ebb1 assets/projectred_integration/models/item/and_cell_gate.json 1ad624e432abba49e3dca47630174141d067ebb1 assets/projectred_integration/models/item/and_gate.json 1ad624e432abba49e3dca47630174141d067ebb1 assets/projectred_integration/models/item/buffer_cell_gate.json diff --git a/integration/src/main/generated/.cache/b9ddfcf5a3b2c71c82c4c7bcb7b68a2dc2a3f3f1 b/integration/src/main/generated/.cache/b9ddfcf5a3b2c71c82c4c7bcb7b68a2dc2a3f3f1 index a9de39877..447a28b38 100644 --- a/integration/src/main/generated/.cache/b9ddfcf5a3b2c71c82c4c7bcb7b68a2dc2a3f3f1 +++ b/integration/src/main/generated/.cache/b9ddfcf5a3b2c71c82c4c7bcb7b68a2dc2a3f3f1 @@ -1,35 +1,35 @@ -// 1.20.1 2024-05-02T16:39:53.491031 projectred_integration Recipes. -df355cab46722957d5cbe1c6ebc11716169971ea data/projectred_integration/recipes/and_cell_gate.json -91a50b451caf2875f50ab609b2326df92604ef0f data/projectred_integration/recipes/and_gate.json -1c8bf4b74e0ac7abf896b5a472634db58decacf7 data/projectred_integration/recipes/buffer_cell_gate.json -8e03f5a16ec8d561bc1b88e13d044422da1baefe data/projectred_integration/recipes/buffer_gate.json -8431154cac80821338bf52ed9425177d119dd08e data/projectred_integration/recipes/bus_converter_gate.json -9761f77945e7ef2738f192f8ee812d68510b0005 data/projectred_integration/recipes/bus_input_panel_gate.json -ba7d02c729e5ccb9d569ae418d4c00ae4d4df841 data/projectred_integration/recipes/bus_randomizer_gate.json -045df89c9807f404ed03eed74cdcae93aa5767a6 data/projectred_integration/recipes/bus_transceiver_gate.json -37e2a4d01a59533262387b43606932d03e131038 data/projectred_integration/recipes/comparator_gate.json -38e6ea9521b493c34a2ee543495643d05eae0641 data/projectred_integration/recipes/counter_gate.json -62bd9e331bd4de9f49405e57687cbe8c5d8136a5 data/projectred_integration/recipes/dec_randomizer_gate.json -ac0f8c4f0f2d25edca1ea141fb58a39e9acc9a3c data/projectred_integration/recipes/invert_cell_gate.json -2e0001d94b76abdb0663199c10a6dc9b29722d40 data/projectred_integration/recipes/light_sensor_gate.json -ef7a07f51e28a21642a78e251bd77abbfb7adfd5 data/projectred_integration/recipes/multiplexer_gate.json -6eeb12888107ec7b084cbfbb2344c21e342b7d5e data/projectred_integration/recipes/nand_gate.json -7c3330257ed731fbbfa30235c9de2d7ce8f66ff6 data/projectred_integration/recipes/nor_gate.json -77400d1af2fdaf65fe976d1b2c98ba65dcb2339d data/projectred_integration/recipes/not_gate.json -46dfaa1445bcb9b158c8c847b03d5e19dd1a08f1 data/projectred_integration/recipes/null_cell_gate.json -615947b392cc6acbf1c6b347d85d7a2d7d327d81 data/projectred_integration/recipes/or_gate.json -1986cd245d25e2dc4a34cfe404fe023b92f02d8f data/projectred_integration/recipes/pulse_gate.json -4384bffe3892454ca30ed100705a5d1a47fbe94a data/projectred_integration/recipes/rain_sensor_gate.json -575b421e44e9000cd744d6e1718a5a2194684225 data/projectred_integration/recipes/randomizer_gate.json -8830a3e665f8bf393c654703fa5ac228c558c69c data/projectred_integration/recipes/repeater_gate.json -aa7cfcfb759f30f2378c952122e69d7328b64cdc data/projectred_integration/recipes/segment_display_gate.json -b1f76c9951ea8be91ca5e7c097079347cd6719f5 data/projectred_integration/recipes/sequencer_gate.json -376a2a00fd1e430af4a0ae61483fbed18e3539c5 data/projectred_integration/recipes/sr_latch_gate.json -94e1557958fb6b12477b9dc441740b27cb1c21ac data/projectred_integration/recipes/stacking_latch_gate.json -f3323af9559a787076b0c179861404c0a8cb4d7b data/projectred_integration/recipes/state_cell_gate.json -360b893fe2574c2a582bbd7ef9387d4690c7d925 data/projectred_integration/recipes/synchronizer_gate.json -788c988839d7b55b2a98627a02a581c282bb827d data/projectred_integration/recipes/timer_gate.json -57e29a4fde01dfc3647823577dc5c0cc7ab819df data/projectred_integration/recipes/toggle_latch_gate.json -87026980289bc3feeb010231d5b93cc841b82e42 data/projectred_integration/recipes/transparent_latch_gate.json -ca560457ffaa8f0480b71777029369541571a010 data/projectred_integration/recipes/xnor_gate.json -8de8bd6664daf463498a7ff858b0d2fad9174688 data/projectred_integration/recipes/xor_gate.json +// 1.20.4 2024-11-23T20:03:40.927707 projectred_integration Recipes. +6aa04ddddb24a4a4fc58e5a30fd10ec25e16a868 data/projectred_integration/recipes/and_cell_gate.json +009aa29eb3b477419c501f0156ec8792a5771692 data/projectred_integration/recipes/and_gate.json +be2ab3f6f387a4d1d161aa8005a10d69dfb6c2a6 data/projectred_integration/recipes/buffer_cell_gate.json +85d130f0057fe1a558709aa80dc4e81da8c264ec data/projectred_integration/recipes/buffer_gate.json +46f5bd0547a9ab62fb0b553637bd985faf540809 data/projectred_integration/recipes/bus_converter_gate.json +a16f59429a1de126feca7e8e14a4affc059b1ec2 data/projectred_integration/recipes/bus_input_panel_gate.json +67e25cb678635561db68123308513e3d073c80f8 data/projectred_integration/recipes/bus_randomizer_gate.json +a7ce9fd91b6bf510b3d8cf796eebd62e30ffab68 data/projectred_integration/recipes/bus_transceiver_gate.json +617c2355917d457a105df6cc7bc7b71a9f5159e6 data/projectred_integration/recipes/comparator_gate.json +af8679e7b5cc69b06789c7635c77075fe635e7ae data/projectred_integration/recipes/counter_gate.json +e673e583d383685d92eee183733dd875da00647c data/projectred_integration/recipes/dec_randomizer_gate.json +8565c6450cc3618f090ac414df11273fae55a120 data/projectred_integration/recipes/invert_cell_gate.json +ed895cd1587e5ccc58f1d0f08ed79b8b3821e7c4 data/projectred_integration/recipes/light_sensor_gate.json +c485e7a98ab39d4dbf069a5a2621b804c6f1d4db data/projectred_integration/recipes/multiplexer_gate.json +57ab3f461cabb755d34b3086582f1bde372b2e6c data/projectred_integration/recipes/nand_gate.json +201667541a4f14680f8c9cdd3332275f38e65140 data/projectred_integration/recipes/nor_gate.json +60d42cf4c6b39699f9503fd4b104b9543ad89fd4 data/projectred_integration/recipes/not_gate.json +df570d646c703893dcb7e187a62f485daa5120ba data/projectred_integration/recipes/null_cell_gate.json +fa25409ed28feb38f055f09001cbba2e14f05709 data/projectred_integration/recipes/or_gate.json +04e65a9785c59c33cfeee6caf35ae7b6b73430e2 data/projectred_integration/recipes/pulse_gate.json +0af47221e8b8dfc29f96cff30a06522b6935ea22 data/projectred_integration/recipes/rain_sensor_gate.json +39b5824e3d4c72220f5667522f9da27a05196216 data/projectred_integration/recipes/randomizer_gate.json +caa03ed7dc9d5780d8db13e54a15249de4c6f79c data/projectred_integration/recipes/repeater_gate.json +6afa77b8e33c0e91fc6b562e8722616060633141 data/projectred_integration/recipes/segment_display_gate.json +b92cc1126375b627e4deb954c76b6fb0fde7d4a7 data/projectred_integration/recipes/sequencer_gate.json +8dbc96136a3feba48732ae835ded62d52c93cbbb data/projectred_integration/recipes/sr_latch_gate.json +f7d511887003a0b47a1453d89698e7a9d404ec27 data/projectred_integration/recipes/stacking_latch_gate.json +9a9bc4f8a30ae96e543aa18745b7e00fc428e883 data/projectred_integration/recipes/state_cell_gate.json +42868c525560829f2c9e6e646a37a8e16c90eea5 data/projectred_integration/recipes/synchronizer_gate.json +89836be9d4005c1f89d03533e918792473287b93 data/projectred_integration/recipes/timer_gate.json +fa299a68697c3e10b4af2247ee96d831f43035b5 data/projectred_integration/recipes/toggle_latch_gate.json +4e5a9d42b9763f5899542c4c582a2096dbf45d44 data/projectred_integration/recipes/transparent_latch_gate.json +8f32ea7153be6e20578ca8f5876ecad89ce1cb6d data/projectred_integration/recipes/xnor_gate.json +51199b4d7554faa13ecce7834105271aa1d2a74b data/projectred_integration/recipes/xor_gate.json diff --git a/integration/src/main/generated/.cache/f683280d6f7a8a0c30af620bdaff75e1b58adcdb b/integration/src/main/generated/.cache/de74df0a0df01f1eaa6cc879f21ef45230e9c8a2 similarity index 50% rename from integration/src/main/generated/.cache/f683280d6f7a8a0c30af620bdaff75e1b58adcdb rename to integration/src/main/generated/.cache/de74df0a0df01f1eaa6cc879f21ef45230e9c8a2 index 2e8b632e5..813a7d174 100644 --- a/integration/src/main/generated/.cache/f683280d6f7a8a0c30af620bdaff75e1b58adcdb +++ b/integration/src/main/generated/.cache/de74df0a0df01f1eaa6cc879f21ef45230e9c8a2 @@ -1,2 +1,2 @@ -// 1.20.1 2024-05-02T16:39:53.482941 ProjectRed-Integration Language: en_us +// 1.20.4 2024-11-23T20:03:40.920462 Languages: en_us for mod: projectred_integration dcb4ca976bb510c4a514ae6d16dfe4915792d7b7 assets/projectred_integration/lang/en_us.json diff --git a/integration/src/main/generated/data/projectred_integration/recipes/and_cell_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/and_cell_gate.json index 19eae1d16..2d22c03fc 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/and_cell_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/and_cell_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/and_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/and_gate.json index f8e7eb6d4..9be453578 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/and_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/and_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/buffer_cell_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/buffer_cell_gate.json index 7f4576143..f3862a160 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/buffer_cell_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/buffer_cell_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/buffer_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/buffer_gate.json index c3d3ee106..afd3469eb 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/buffer_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/buffer_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/bus_converter_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/bus_converter_gate.json index e524caf87..ca45ddf2f 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/bus_converter_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/bus_converter_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_core:bundled_plate" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/bus_input_panel_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/bus_input_panel_gate.json index b2f168d13..0262549ab 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/bus_input_panel_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/bus_input_panel_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_core:bundled_plate" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/bus_randomizer_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/bus_randomizer_gate.json index 9a2881684..20d475d7e 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/bus_randomizer_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/bus_randomizer_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_core:bundled_plate" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/bus_transceiver_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/bus_transceiver_gate.json index 01685a4f2..09a74f38d 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/bus_transceiver_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/bus_transceiver_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_core:bundled_plate" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/comparator_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/comparator_gate.json index 0f6a7b5b9..ac74e3821 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/comparator_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/comparator_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/counter_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/counter_gate.json index c5d0ecfb5..67f3c137e 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/counter_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/counter_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/dec_randomizer_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/dec_randomizer_gate.json index 4625b9665..f978de983 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/dec_randomizer_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/dec_randomizer_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/invert_cell_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/invert_cell_gate.json index b88ef48c8..bde0fc76b 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/invert_cell_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/invert_cell_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/light_sensor_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/light_sensor_gate.json index 4913884cb..b1dee59a7 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/light_sensor_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/light_sensor_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "tag": "forge:dyes/blue" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/multiplexer_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/multiplexer_gate.json index 86a1b0624..c21de91f9 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/multiplexer_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/multiplexer_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/nand_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/nand_gate.json index 9b680c2d1..7737a0737 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/nand_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/nand_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/nor_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/nor_gate.json index c678598a2..6859d8093 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/nor_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/nor_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/not_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/not_gate.json index 765f19983..7f0896e99 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/not_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/not_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/null_cell_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/null_cell_gate.json index 5990a0551..100d41300 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/null_cell_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/null_cell_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "F": { "item": "projectred_core:platformed_plate" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/or_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/or_gate.json index cfe33b88d..bc38c99cd 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/or_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/or_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/pulse_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/pulse_gate.json index 451ed89fa..cc4b3099b 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/pulse_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/pulse_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/rain_sensor_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/rain_sensor_gate.json index a69a85466..ee8bcbba7 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/rain_sensor_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/rain_sensor_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "P": { "item": "projectred_core:plate" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/randomizer_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/randomizer_gate.json index f0108f843..a80223d78 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/randomizer_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/randomizer_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "E": { "item": "projectred_core:energized_silicon_chip" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/repeater_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/repeater_gate.json index 21973be05..6118d7fde 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/repeater_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/repeater_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/segment_display_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/segment_display_gate.json index 618600520..8c0923dd8 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/segment_display_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/segment_display_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "item": "projectred_core:bundled_plate" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/sequencer_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/sequencer_gate.json index e9b971844..9e8f50d59 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/sequencer_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/sequencer_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/sr_latch_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/sr_latch_gate.json index ddee91280..5ae618a8b 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/sr_latch_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/sr_latch_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/stacking_latch_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/stacking_latch_gate.json index ed90da2c0..c112eff82 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/stacking_latch_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/stacking_latch_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/state_cell_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/state_cell_gate.json index 0829879a1..05461c226 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/state_cell_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/state_cell_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/synchronizer_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/synchronizer_gate.json index d17cb43f1..396fbe24b 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/synchronizer_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/synchronizer_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/timer_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/timer_gate.json index 86fd2529f..ecf937a91 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/timer_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/timer_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/toggle_latch_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/toggle_latch_gate.json index e0115e2c1..58701df2e 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/toggle_latch_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/toggle_latch_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "C": { "item": "projectred_core:cathode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/transparent_latch_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/transparent_latch_gate.json index 2db08f121..429443fc4 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/transparent_latch_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/transparent_latch_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/xnor_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/xnor_gate.json index 698d6b35a..6fb34062f 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/xnor_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/xnor_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/generated/data/projectred_integration/recipes/xor_gate.json b/integration/src/main/generated/data/projectred_integration/recipes/xor_gate.json index 63aaded89..c68290981 100644 --- a/integration/src/main/generated/data/projectred_integration/recipes/xor_gate.json +++ b/integration/src/main/generated/data/projectred_integration/recipes/xor_gate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "A": { "item": "projectred_core:anode" diff --git a/integration/src/main/java/mrtjp/projectred/integration/GateType.java b/integration/src/main/java/mrtjp/projectred/integration/GateType.java index fe6914c14..a2130944a 100644 --- a/integration/src/main/java/mrtjp/projectred/integration/GateType.java +++ b/integration/src/main/java/mrtjp/projectred/integration/GateType.java @@ -6,12 +6,12 @@ import mrtjp.projectred.integration.part.*; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.neoforge.registries.DeferredRegister; import javax.annotation.Nullable; import java.util.Objects; import java.util.function.Function; +import java.util.function.Supplier; import static mrtjp.projectred.integration.init.IntegrationParts.*; @@ -57,8 +57,8 @@ public enum GateType private @Nullable String unlocalName; private @Nullable Function partFactory; - private @Nullable RegistryObject itemSupplier; - private @Nullable RegistryObject> partSupplier; + private @Nullable Supplier itemSupplier; + private @Nullable Supplier> partSupplier; private final boolean isExternalGate; @@ -77,7 +77,7 @@ public String getUnlocalizedName() { return unlocalName; } - public RegistryObject getItemRegistryObject() { + public Supplier getItemRegistryObject() { assert itemSupplier != null; return itemSupplier; } @@ -102,12 +102,13 @@ public GatePart newPart() { } public void registerParts(DeferredRegister> partRegistry, DeferredRegister itemRegistry) { + assert unlocalName != null; itemSupplier = itemRegistry.register(unlocalName, () -> new GatePartItem(this)); partSupplier = partRegistry.register(unlocalName, () -> new SimpleMultipartType<>(isClient -> Objects.requireNonNull(partFactory).apply(this))); } // TODO: Add proper gate registering mechanism - public void inject(String unlocalName, Function partFactory, RegistryObject itemSupplier, RegistryObject> partSupplier) { + public void inject(String unlocalName, Function partFactory, Supplier itemSupplier, Supplier> partSupplier) { if (this.itemSupplier != null || this.partSupplier != null) { throw new RuntimeException("GateType " + name() + " already registered!"); } diff --git a/integration/src/main/java/mrtjp/projectred/integration/IntegrationNetwork.java b/integration/src/main/java/mrtjp/projectred/integration/IntegrationNetwork.java index 716e8e929..cfafc8544 100644 --- a/integration/src/main/java/mrtjp/projectred/integration/IntegrationNetwork.java +++ b/integration/src/main/java/mrtjp/projectred/integration/IntegrationNetwork.java @@ -4,7 +4,7 @@ import codechicken.lib.data.MCDataOutput; import codechicken.lib.packet.ICustomPacketHandler; import codechicken.lib.packet.PacketCustom; -import codechicken.lib.packet.PacketCustomChannelBuilder; +import codechicken.lib.packet.PacketCustomChannel; import codechicken.multipart.api.part.MultiPart; import codechicken.multipart.block.BlockMultipart; import mrtjp.projectred.integration.gui.screen.CounterScreen; @@ -12,12 +12,11 @@ import mrtjp.projectred.integration.part.ComplexGatePart; import mrtjp.projectred.integration.part.GatePart; import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; import net.minecraft.world.level.Level; +import net.neoforged.bus.api.IEventBus; import java.util.Objects; @@ -36,12 +35,14 @@ public class IntegrationNetwork { public static final int INCR_TIMER_FROM_CLIENT = 3; public static final int INCR_COUNTER_FROM_CLIENT = 4; - public static void init() { + // Channel instance + private static final PacketCustomChannel channel = new PacketCustomChannel(NET_CHANNEL) + .versioned(ProjectRedIntegration.getContainer().getModInfo().getVersion().toString()) + .client(() -> ClientHandler::new) + .server(() -> ServerHandler::new); - PacketCustomChannelBuilder.named(NET_CHANNEL) - .assignClientHandler(() -> ClientHandler::new) - .assignServerHandler(() -> ServerHandler::new) - .build(); + public static void init(IEventBus modBus) { + channel.init(modBus); } public static MCDataOutput writePartIndex(MCDataOutput out, MultiPart part) { @@ -58,7 +59,7 @@ public static MultiPart readPartIndex(Level world, MCDataInput in) { private static class ClientHandler implements ICustomPacketHandler.IClientPacketHandler { @Override - public void handlePacket(PacketCustom packet, Minecraft mc, ClientPacketListener handler) { + public void handlePacket(PacketCustom packet, Minecraft mc) { switch (packet.getType()) { case OPEN_TIMER_GUI_FROM_SERVER: handleOpenTimerGuiMessage(mc, packet); @@ -90,7 +91,7 @@ private void handleOpenCounterGuiMessage(Minecraft mc, MCDataInput data) { private static class ServerHandler implements ICustomPacketHandler.IServerPacketHandler { @Override - public void handlePacket(PacketCustom packet, ServerPlayer sender, ServerGamePacketListenerImpl handler) { + public void handlePacket(PacketCustom packet, ServerPlayer sender) { switch (packet.getType()) { case INCR_TIMER_FROM_CLIENT: diff --git a/integration/src/main/java/mrtjp/projectred/integration/ProjectRedIntegration.java b/integration/src/main/java/mrtjp/projectred/integration/ProjectRedIntegration.java index b4a99e3a1..c18469996 100644 --- a/integration/src/main/java/mrtjp/projectred/integration/ProjectRedIntegration.java +++ b/integration/src/main/java/mrtjp/projectred/integration/ProjectRedIntegration.java @@ -7,23 +7,25 @@ import mrtjp.projectred.integration.init.IntegrationClientInit; import mrtjp.projectred.integration.init.IntegrationCreativeModeTabs; import mrtjp.projectred.integration.init.IntegrationParts; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.data.event.GatherDataEvent; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; +import net.neoforged.fml.loading.FMLEnvironment; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.data.event.GatherDataEvent; +import net.neoforged.neoforge.registries.DeferredRegister; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.Nullable; + +import java.util.Objects; import static mrtjp.projectred.integration.ProjectRedIntegration.MOD_ID; @@ -34,30 +36,40 @@ public class ProjectRedIntegration { public static final Logger LOGGER = LogManager.getLogger(MOD_ID); - public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID); + public static final DeferredRegister ITEMS = DeferredRegister.create(BuiltInRegistries.ITEM, MOD_ID); public static final DeferredRegister> PART_TYPES = DeferredRegister.create(MultipartType.MULTIPART_TYPES, MOD_ID); public static final DeferredRegister CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID); + private static @Nullable ModContainer container; + static { IntegrationParts.register(); IntegrationCreativeModeTabs.register(); } - public ProjectRedIntegration() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); + public ProjectRedIntegration(ModContainer container, IEventBus modEventBus) { + ProjectRedIntegration.container = container; modEventBus.addListener(this::commonSetup); modEventBus.addListener(this::onGatherDataEvent); - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> IntegrationClientInit::init); + if (FMLEnvironment.dist.isClient()) { + IntegrationClientInit.init(modEventBus); + } + + IntegrationNetwork.init(modEventBus); ITEMS.register(modEventBus); PART_TYPES.register(modEventBus); CREATIVE_TABS.register(modEventBus); } + public static ModContainer getContainer() { + return Objects.requireNonNull(container); + } + private void commonSetup(final FMLCommonSetupEvent event) { - IntegrationNetwork.init(); + } private void onGatherDataEvent(final GatherDataEvent event) { diff --git a/integration/src/main/java/mrtjp/projectred/integration/client/GateComponentModels.java b/integration/src/main/java/mrtjp/projectred/integration/client/GateComponentModels.java index a9e0edf98..65d2c36e6 100644 --- a/integration/src/main/java/mrtjp/projectred/integration/client/GateComponentModels.java +++ b/integration/src/main/java/mrtjp/projectred/integration/client/GateComponentModels.java @@ -11,7 +11,6 @@ import codechicken.lib.render.model.OBJParser; import codechicken.lib.render.pipeline.ColourMultiplier; import codechicken.lib.render.pipeline.IVertexOperation; -import codechicken.lib.texture.AtlasRegistrar; import codechicken.lib.texture.TextureUtils; import codechicken.lib.vec.*; import codechicken.lib.vec.uv.*; @@ -27,7 +26,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; import net.minecraft.resources.ResourceLocation; -import net.minecraftforge.client.event.TextureStitchEvent; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; import javax.annotation.Nullable; import java.util.*; @@ -111,7 +110,7 @@ public class GateComponentModels { public static IconTransformation ioBundledBusIcon; public static IconTransformation ioPotentiometerIcon; - public static void onTextureStitchEvent(TextureStitchEvent.Post event) { + public static void onTextureStitchEvent(TextureAtlasStitchedEvent event) { //@formatter:off baseIcon = new IconTransformation(event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/base"))); wireBorderIcon = new IconTransformation(event.getAtlas().getSprite(new ResourceLocation(MOD_ID, "block/wire_material_border"))); @@ -392,8 +391,6 @@ public static abstract class ComponentModel { public abstract void renderModel(Transformation t, int orient, CCRenderState ccrs); - protected void registerIcons(AtlasRegistrar registrar) { - } } public static abstract class SingleComponentModel extends ComponentModel { diff --git a/integration/src/main/java/mrtjp/projectred/integration/client/GateModelRenderer.java b/integration/src/main/java/mrtjp/projectred/integration/client/GateModelRenderer.java index f44dba7e4..44c37fc52 100644 --- a/integration/src/main/java/mrtjp/projectred/integration/client/GateModelRenderer.java +++ b/integration/src/main/java/mrtjp/projectred/integration/client/GateModelRenderer.java @@ -21,7 +21,7 @@ import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.util.RandomSource; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.client.event.TextureStitchEvent; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; import org.jetbrains.annotations.Nullable; import org.joml.Vector3f; @@ -152,7 +152,7 @@ private GateRenderer getRenderer(int renderIndex) { } } - public static void onTextureStitchEvent(TextureStitchEvent.Post event) { + public static void onTextureStitchEvent(TextureAtlasStitchedEvent event) { if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return; GateComponentModels.onTextureStitchEvent(event); // TODO find a way around calling into all renderers, having them call into all component models diff --git a/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationItemModelProvider.java b/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationItemModelProvider.java index b01ec61f1..3d1d777d5 100644 --- a/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationItemModelProvider.java +++ b/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationItemModelProvider.java @@ -4,7 +4,7 @@ import mrtjp.projectred.integration.GateType; import mrtjp.projectred.integration.client.GatePartItemRenderer; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import static mrtjp.projectred.integration.ProjectRedIntegration.MOD_ID; diff --git a/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationLanguageProvider.java b/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationLanguageProvider.java index a346fdbb1..26ad67483 100644 --- a/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationLanguageProvider.java +++ b/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationLanguageProvider.java @@ -2,7 +2,7 @@ import mrtjp.projectred.integration.GateType; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.LanguageProvider; +import net.neoforged.neoforge.common.data.LanguageProvider; import static mrtjp.projectred.integration.ProjectRedIntegration.MOD_ID; @@ -12,11 +12,6 @@ public IntegrationLanguageProvider(PackOutput output) { super(output, MOD_ID, "en_us"); } - @Override - public String getName() { - return "ProjectRed-Integration Language: en_us"; - } - @Override protected void addTranslations() { diff --git a/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationRecipeProvider.java b/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationRecipeProvider.java index 06cefdef4..3e8998c8b 100644 --- a/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationRecipeProvider.java +++ b/integration/src/main/java/mrtjp/projectred/integration/data/IntegrationRecipeProvider.java @@ -4,7 +4,7 @@ import mrtjp.projectred.integration.GateType; import net.minecraft.data.PackOutput; import net.minecraft.world.level.block.Blocks; -import net.minecraftforge.common.Tags; +import net.neoforged.neoforge.common.Tags; import static mrtjp.projectred.core.init.CoreItems.*; import static mrtjp.projectred.core.init.CoreTags.ILLUMAR_TAG; diff --git a/integration/src/main/java/mrtjp/projectred/integration/init/IntegrationClientInit.java b/integration/src/main/java/mrtjp/projectred/integration/init/IntegrationClientInit.java index 5abf0d244..a000a5814 100644 --- a/integration/src/main/java/mrtjp/projectred/integration/init/IntegrationClientInit.java +++ b/integration/src/main/java/mrtjp/projectred/integration/init/IntegrationClientInit.java @@ -5,15 +5,12 @@ import mrtjp.projectred.integration.GateType; import mrtjp.projectred.integration.client.GateModelRenderer; import mrtjp.projectred.integration.client.GatePartRenderer; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; public class IntegrationClientInit { - public static void init() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); - + public static void init(IEventBus modEventBus) { modEventBus.addListener(IntegrationClientInit::clientSetup); // Register sprites diff --git a/integration/src/main/java/mrtjp/projectred/integration/init/IntegrationCreativeModeTabs.java b/integration/src/main/java/mrtjp/projectred/integration/init/IntegrationCreativeModeTabs.java index 2110cb365..ca379d5a8 100644 --- a/integration/src/main/java/mrtjp/projectred/integration/init/IntegrationCreativeModeTabs.java +++ b/integration/src/main/java/mrtjp/projectred/integration/init/IntegrationCreativeModeTabs.java @@ -4,12 +4,13 @@ import mrtjp.projectred.integration.ProjectRedIntegration; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; @SuppressWarnings("NotNullFieldNotInitialized") public class IntegrationCreativeModeTabs { - public static RegistryObject INTEGRATION_CREATIVE_TAB; + public static Supplier INTEGRATION_CREATIVE_TAB; public static void register() { INTEGRATION_CREATIVE_TAB = ProjectRedIntegration.CREATIVE_TABS.register("integration", diff --git a/integration/src/main/java/mrtjp/projectred/integration/part/GatePart.java b/integration/src/main/java/mrtjp/projectred/integration/part/GatePart.java index 06eb67419..7fd2e22c1 100644 --- a/integration/src/main/java/mrtjp/projectred/integration/part/GatePart.java +++ b/integration/src/main/java/mrtjp/projectred/integration/part/GatePart.java @@ -36,8 +36,8 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import javax.annotation.Nullable; import java.util.Collections; diff --git a/integration/src/main/resources/META-INF/mods.toml b/integration/src/main/resources/META-INF/mods.toml index 80e928c4c..8aa785296 100644 --- a/integration/src/main/resources/META-INF/mods.toml +++ b/integration/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[${lang_version},)" +loaderVersion="[2,)" issueTrackerURL="https://github.com/MrTJP/ProjectRed" license="MIT" @@ -15,32 +15,32 @@ license="MIT" Redstone. The way it was meant to be. ''' [[dependencies.projectred_integration]] - modId="forge" - mandatory=true + modId="neoforge" + type="required" versionRange="[${forge_version},)" ordering="NONE" side="BOTH" [[dependencies.projectred_integration]] modId="minecraft" - mandatory=true - versionRange="[1.20.1]" + type="required" + versionRange="[1.20.4]" ordering="NONE" side="BOTH" [[dependencies.projectred_integration]] modId="codechickenlib" - mandatory=true + type="required" versionRange="[${ccl_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_integration]] modId="cb_multipart" - mandatory=true + type="required" versionRange="[${cbm_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_integration]] modId="projectred_core" - mandatory=true + type="required" versionRange="[${file.jarVersion},)" ordering="AFTER" side="BOTH" diff --git a/runtime/build.gradle b/runtime/build.gradle index 731860a6b..0f52f2c47 100644 --- a/runtime/build.gradle +++ b/runtime/build.gradle @@ -2,41 +2,35 @@ * Used only for generating run configs that include all ProjectRed modules in the classpath. */ plugins { - id 'net.neoforged.gradle' - id 'org.spongepowered.mixin' + id 'net.neoforged.gradle.userdev' } minecraft { - mappings channel: mcp_mappings, version: mc_version - accessTransformer = file("../core/src/main/resources/META-INF/accesstransformer.cfg") - - runs { - configureEach { - ideaModule "${rootProject.name}.${project.name}.main" + accessTransformers.file file("../core/src/main/resources/META-INF/accesstransformer.cfg") +} - mods { - 'projectred_core' { source project(":core").sourceSets.main } - 'projectred_expansion' { source project(":expansion").sourceSets.main } - 'projectred_exploration' { source project(":exploration").sourceSets.main } - 'projectred_fabrication' { source project(":fabrication").sourceSets.main } - 'projectred_illumination' { source project(":illumination").sourceSets.main } - 'projectred_integration' { source project(":integration").sourceSets.main } - 'projectred_transmission' { source project(":transmission").sourceSets.main } - } - } +runs { + configureEach { + modSource project(":core").sourceSets.main + modSource project(":expansion").sourceSets.main + modSource project(":exploration").sourceSets.main + modSource project(":fabrication").sourceSets.main + modSource project(":illumination").sourceSets.main + modSource project(":integration").sourceSets.main + modSource project(":transmission").sourceSets.main + } - client { - workingDirectory file('run') - } + client { + workingDirectory file('run') + } - server { - workingDirectory file('run_server') - } + server { + workingDirectory file('run_server') } } dependencies { - minecraft "net.neoforged:forge:${mc_version}-${forge_version}" + implementation "net.neoforged:neoforge:${forge_version}" runtimeOnly project(":core") runtimeOnly project(":expansion") @@ -47,7 +41,3 @@ dependencies { runtimeOnly project(":transmission") } -mixin { - debug.verbose = true - debug.export = true -} diff --git a/settings.gradle b/settings.gradle index b02693b7a..40ad0df7d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -8,10 +8,9 @@ pluginManagement { plugins { id 'java' id 'maven-publish' - id 'net.covers1624.signing' version '1.1.3' apply false - id 'net.neoforged.gradle' version '[6.0.18,6.2)' apply false - id 'org.spongepowered.mixin' version '0.7.+' apply false - id 'com.github.johnrengelman.shadow' version '7.1.+' apply false + id 'net.covers1624.signing' version '1.1.3' apply false + id 'net.neoforged.gradle.userdev' version '7.0.97' apply false + id 'com.github.johnrengelman.shadow' version '7.1.+' apply false } } diff --git a/transmission/build.gradle b/transmission/build.gradle index 19c6f9588..15707ae15 100644 --- a/transmission/build.gradle +++ b/transmission/build.gradle @@ -1,34 +1,29 @@ plugins { - id 'net.neoforged.gradle' + id 'net.neoforged.gradle.userdev' } String mod_id = 'projectred_transmission' minecraft { - mappings channel: mcp_mappings, version: mcp_mappings_version - accessTransformer = file("src/main/resources/META-INF/accesstransformer.cfg") - runs { - data { - property 'mixin.env.remapRefMap', 'true' - property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" + accessTransformers.file file("../core/src/main/resources/META-INF/accesstransformer.cfg") +} - ideaModule "${rootProject.name}.${project.name}.main" +runs { + data { + systemProperty 'mixin.env.remapRefMap', 'true' + systemProperty 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" - workingDirectory file('run') - args '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") - mods { - 'projectred_core' { source project(':core').sourceSets.main } - '${mod_id}' { source sourceSets.main } - } - } + workingDirectory file('run') + programArguments.addAll '--mod', mod_id, '--all', '--output', file("src/main/generated"), '--existing', file("src/main/resources") + modSource sourceSets.main } } dependencies { - minecraft "net.neoforged:forge:${mc_version}-${forge_version}" + implementation "net.neoforged:neoforge:${forge_version}" - implementation fg.deobf("io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal") - implementation fg.deobf("io.codechicken:CBMultipart:${mc_version}-${cbm_version}:universal") + implementation "io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}" + implementation "io.codechicken:CBMultipart:${mc_version}-${cbm_version}" implementation project(":core") } diff --git a/transmission/src/main/generated/.cache/1eb909bc2f32a9d98a678d7fc96e42309be491b5 b/transmission/src/main/generated/.cache/1eb909bc2f32a9d98a678d7fc96e42309be491b5 index f7d141d2f..72f4f95e2 100644 --- a/transmission/src/main/generated/.cache/1eb909bc2f32a9d98a678d7fc96e42309be491b5 +++ b/transmission/src/main/generated/.cache/1eb909bc2f32a9d98a678d7fc96e42309be491b5 @@ -1 +1 @@ -// 1.20.1 2024-05-02T16:40:18.848466 Tags for minecraft:block mod id projectred_transmission +// 1.20.4 2024-11-23T20:04:13.700211 Tags for minecraft:block mod id projectred_transmission diff --git a/transmission/src/main/generated/.cache/559edefec34c0193b89f0dfbc70e66bb4fcf6966 b/transmission/src/main/generated/.cache/559edefec34c0193b89f0dfbc70e66bb4fcf6966 index f14e7131b..dbe998d67 100644 --- a/transmission/src/main/generated/.cache/559edefec34c0193b89f0dfbc70e66bb4fcf6966 +++ b/transmission/src/main/generated/.cache/559edefec34c0193b89f0dfbc70e66bb4fcf6966 @@ -1,4 +1,4 @@ -// 1.20.1 2024-11-20T10:21:16.083699 projectred_transmission Item models. +// 1.20.4 2024-11-23T20:04:13.697801 projectred_transmission Item models. ae799f62ebd5a24fc3cc6fa00d2d7ece5df14680 assets/projectred_transmission/models/item/black_bundled_wire.json 4385b001def81250e68d139a250f3d626f6ece3d assets/projectred_transmission/models/item/black_framed_bundled_wire.json 4385b001def81250e68d139a250f3d626f6ece3d assets/projectred_transmission/models/item/black_framed_insulated_wire.json diff --git a/transmission/src/main/generated/.cache/5d3ba082c682ce8e4c01b877afa3197c3fa54da9 b/transmission/src/main/generated/.cache/5d3ba082c682ce8e4c01b877afa3197c3fa54da9 index 56d279432..0edb01fec 100644 --- a/transmission/src/main/generated/.cache/5d3ba082c682ce8e4c01b877afa3197c3fa54da9 +++ b/transmission/src/main/generated/.cache/5d3ba082c682ce8e4c01b877afa3197c3fa54da9 @@ -1,121 +1,121 @@ -// 1.20.1 2024-05-02T16:40:18.836961 projectred_transmission Recipes. -71e2e52a7b175704511bfbfc797273a571b3454d data/projectred_transmission/recipes/black_bundled_wire_re_color.json -8bb55138c596884ab4e2832e0c9f09d8f0622b0c data/projectred_transmission/recipes/black_framed_bundled_wire.json -693f4ae8e23485b6a9382f290b323d53f5345103 data/projectred_transmission/recipes/black_framed_bundled_wire_re_color.json -339f529c91d50e1eebecb2b5d18c54456a87a4ff data/projectred_transmission/recipes/black_framed_insulated_wire.json -c717fd0c0c7f5263c1ce653b465c585a01315385 data/projectred_transmission/recipes/black_framed_insulated_wire_re_color.json -fc7c3b9ffd388c333abc140f9bd26e2c9caf645d data/projectred_transmission/recipes/black_insulated_wire.json -21f168ea84cc3c471654d5e9057828c17f317bb8 data/projectred_transmission/recipes/black_insulated_wire_re_color.json -2b762c60358b36cfdbc907b276b39e569cd47f92 data/projectred_transmission/recipes/blue_bundled_wire_re_color.json -3c870e480590b381fae0a600ffa020c112199e02 data/projectred_transmission/recipes/blue_framed_bundled_wire.json -088ff2a626e4aa1fbfbbb830e95e7ee16a2852a7 data/projectred_transmission/recipes/blue_framed_bundled_wire_re_color.json -9df36801f4b513eb816af91ef3a527dcf1208ebb data/projectred_transmission/recipes/blue_framed_insulated_wire.json -947682eeb460e9e4574345baf9ed8be22bc5b32d data/projectred_transmission/recipes/blue_framed_insulated_wire_re_color.json -2ab4880bc0ae3190896841d54c20cb9489bb9435 data/projectred_transmission/recipes/blue_insulated_wire.json -6a2cb853d6e22a6afdcf79ae194ee32574afc7de data/projectred_transmission/recipes/blue_insulated_wire_re_color.json -a64f4242357115f4a28b85ab895ce7c0ffeca243 data/projectred_transmission/recipes/brown_bundled_wire_re_color.json -dc316949930df463ac114e728fc18fcf1bc065c0 data/projectred_transmission/recipes/brown_framed_bundled_wire.json -528cb46a84e3c3442c586eaf7763af1cfbb62135 data/projectred_transmission/recipes/brown_framed_bundled_wire_re_color.json -178fddcbff85adae96d20ddd60b1c9df95fdabc4 data/projectred_transmission/recipes/brown_framed_insulated_wire.json -1b227ba65c419a3f9b5d03f60319f340db201b04 data/projectred_transmission/recipes/brown_framed_insulated_wire_re_color.json -69116acd6cfb81bf0b8c72092cfd3a45160c2841 data/projectred_transmission/recipes/brown_insulated_wire.json -c147ae8ace7c4d012f2da965d057cad496e270cc data/projectred_transmission/recipes/brown_insulated_wire_re_color.json -10b0759eea4b45df9f23b757bce25c249cf7a69a data/projectred_transmission/recipes/bundled_plate.json -278f92d07faec513b1e1ab03bf78960d33324159 data/projectred_transmission/recipes/cyan_bundled_wire_re_color.json -a7adad94d850b0ddf255b463678ed0714c01dc80 data/projectred_transmission/recipes/cyan_framed_bundled_wire.json -953539d585b6d9032a66633070729c8d2d3b18a4 data/projectred_transmission/recipes/cyan_framed_bundled_wire_re_color.json -79347e3bddaafbf589e24678126c2afba246f5dc data/projectred_transmission/recipes/cyan_framed_insulated_wire.json -d95f3b43a83fd222d4e375b0533af3735a1a567d data/projectred_transmission/recipes/cyan_framed_insulated_wire_re_color.json -b3d4eadfe5f39164a3c4f64e879a1658a5e6b4a1 data/projectred_transmission/recipes/cyan_insulated_wire.json -42e43bc666ce1985732543bdabcb58788c10672c data/projectred_transmission/recipes/cyan_insulated_wire_re_color.json -f76c8750e60fc30b0f363786bc8b3285a9de5583 data/projectred_transmission/recipes/framed_red_alloy_wire.json -184c550ddba0309958c8fb581467f8698c9642cc data/projectred_transmission/recipes/gray_bundled_wire_re_color.json -3c45ac42d0daf29eafeeb076bf36680d891f13cb data/projectred_transmission/recipes/gray_framed_bundled_wire.json -8f2597d14bb378323ca4622853716e6d08b5772e data/projectred_transmission/recipes/gray_framed_bundled_wire_re_color.json -77891f15ef4b8b9d98160f70655791ad9889016d data/projectred_transmission/recipes/gray_framed_insulated_wire.json -3aaaa86c1d3bd9f17aac37a8a3d55b88a81c4ff6 data/projectred_transmission/recipes/gray_framed_insulated_wire_re_color.json -a3752e1fcb61f0c39ab65f52e94bf8aae84cf782 data/projectred_transmission/recipes/gray_insulated_wire.json -ab8b3075673ffe082c3a97aa24b058389b4ca8bc data/projectred_transmission/recipes/gray_insulated_wire_re_color.json -814d832e3b047ed113ad07abb00a8b20a879ee26 data/projectred_transmission/recipes/green_bundled_wire_re_color.json -1622fba2172d0961999d166da2d1cfc3b56edb91 data/projectred_transmission/recipes/green_framed_bundled_wire.json -aa599da54c24363ba2a77e14e73425cb0ec5157f data/projectred_transmission/recipes/green_framed_bundled_wire_re_color.json -5bb573475d2ca00ab6d9352c413efade63473364 data/projectred_transmission/recipes/green_framed_insulated_wire.json -451ac275114d63412dc56756524ae26b4b9f63bb data/projectred_transmission/recipes/green_framed_insulated_wire_re_color.json -7ea0f1058ee5667978d66d2a7947cbdd0d4ae467 data/projectred_transmission/recipes/green_insulated_wire.json -27458644fbfbf6f4df479476d3f7e42c188ce2bc data/projectred_transmission/recipes/green_insulated_wire_re_color.json -b6d0862c35108c9f4db60b9710e8ef9be96af42b data/projectred_transmission/recipes/light_blue_bundled_wire_re_color.json -dc85daee863e3b1d2f17a3be3b4dd4cbcef306a3 data/projectred_transmission/recipes/light_blue_framed_bundled_wire.json -f62ac92bf85e4cbdf19d7f81728d3e42b464db6f data/projectred_transmission/recipes/light_blue_framed_bundled_wire_re_color.json -80a2c46af9080c2e4eb3fe61e69ab996a3e84fe3 data/projectred_transmission/recipes/light_blue_framed_insulated_wire.json -3a6c8ba9c3ba9dcce5918741b73ac6199f045a12 data/projectred_transmission/recipes/light_blue_framed_insulated_wire_re_color.json -0cdd607931a9934b1297e411cf38ed98cf574fa9 data/projectred_transmission/recipes/light_blue_insulated_wire.json -8fe2b0d5ce75c10b2a8b2067cc0439ed8f8d482c data/projectred_transmission/recipes/light_blue_insulated_wire_re_color.json -e21ee1d3fc18e96433974e73539a8b7b68a45f37 data/projectred_transmission/recipes/light_gray_bundled_wire_re_color.json -3f9d369f5242f595ecb1a1ecf240ef5921d2b5b3 data/projectred_transmission/recipes/light_gray_framed_bundled_wire.json -930867ae79152b2e448e7f2cc6cd3b0183ae7b8f data/projectred_transmission/recipes/light_gray_framed_bundled_wire_re_color.json -8f4ee2d465d3eaaec190737e4fb9a69ef5e82955 data/projectred_transmission/recipes/light_gray_framed_insulated_wire.json -a95805b6888a8430005f81d54069f27e940e9d43 data/projectred_transmission/recipes/light_gray_framed_insulated_wire_re_color.json -5288ce5d64d57ef7a187dc1dc7095def99d847eb data/projectred_transmission/recipes/light_gray_insulated_wire.json -15b919dac818de884fe9dad7c7b7e6015bf62b84 data/projectred_transmission/recipes/light_gray_insulated_wire_re_color.json -e16f28cbfa50f97dcb78e67a17f4f67986812189 data/projectred_transmission/recipes/lime_bundled_wire_re_color.json -4810a05389f88e32beb04019c70612d607dd26e8 data/projectred_transmission/recipes/lime_framed_bundled_wire.json -f805c7fc02affd7170ab83926fc936d9544944be data/projectred_transmission/recipes/lime_framed_bundled_wire_re_color.json -623ea8345a53ee9ade2bd768351dbf4044cc4c15 data/projectred_transmission/recipes/lime_framed_insulated_wire.json -e6f455b50d12c90a2b6a32607415d1ff55973bdf data/projectred_transmission/recipes/lime_framed_insulated_wire_re_color.json -784e3e67b977e346f6ce7c758dfbb3bedff9772c data/projectred_transmission/recipes/lime_insulated_wire.json -2fd4ac233584332ec399725536afe184c666d5cc data/projectred_transmission/recipes/lime_insulated_wire_re_color.json -ecdb8b1bcdd531b4260a21a1621dc45773fab5e5 data/projectred_transmission/recipes/low_load_framed_power_wire.json -fff18902821bf87a27be2435f7f6c5ebb8e11bb4 data/projectred_transmission/recipes/low_load_power_wire.json -bf268578bae3b188e14dfd82e6024232f4238a20 data/projectred_transmission/recipes/magenta_bundled_wire_re_color.json -8790db20e22bc771bd561e823e5c3f598e9e925e data/projectred_transmission/recipes/magenta_framed_bundled_wire.json -4a2001bb02f226b909d8dc5a45ab01d11532b601 data/projectred_transmission/recipes/magenta_framed_bundled_wire_re_color.json -bdffd50c59988e965098cdadb6dda0a4be2a503a data/projectred_transmission/recipes/magenta_framed_insulated_wire.json -f4705fe87a58d35a97e72ce895f2d45037ab92a5 data/projectred_transmission/recipes/magenta_framed_insulated_wire_re_color.json -80bf46ed3ff0f71b067f09f60f345d34283cba1b data/projectred_transmission/recipes/magenta_insulated_wire.json -754a1a56daaf6251162561b001c6e544aa39b354 data/projectred_transmission/recipes/magenta_insulated_wire_re_color.json -171f318c95a308850183ea407b6f1f818641cacf data/projectred_transmission/recipes/neutral_bundled_wire.json -c76552ce4156be2ef883b4cca6b17dd884fbe0b5 data/projectred_transmission/recipes/neutral_framed_bundled_wire.json -9ee4315532d5a9e62ee468df5a6cfc0ec7f5ae3f data/projectred_transmission/recipes/orange_bundled_wire_re_color.json -c829a510e7c3c114905146e5cb638080bf90015f data/projectred_transmission/recipes/orange_framed_bundled_wire.json -74811f09ccf01d4237be72316ae923a494307f4a data/projectred_transmission/recipes/orange_framed_bundled_wire_re_color.json -1688623e8535603bf44dfcb7d582a5314015a2de data/projectred_transmission/recipes/orange_framed_insulated_wire.json -a8ac08278b7e0c17f217d96e9d2849d780247c72 data/projectred_transmission/recipes/orange_framed_insulated_wire_re_color.json -cefaaf415af79f0156afb56c420ee401f3e4f369 data/projectred_transmission/recipes/orange_insulated_wire.json -0b8bf6e89dc463b25f70311d9179a1d6a68e36bb data/projectred_transmission/recipes/orange_insulated_wire_re_color.json -5a354c29194e81ff303e0c1c16b1008c794df1ac data/projectred_transmission/recipes/pink_bundled_wire_re_color.json -0156df4537a3134fdba93e058d223c3b59e424ce data/projectred_transmission/recipes/pink_framed_bundled_wire.json -b634a8f629e44c0e846c538d0d51db5469ddb485 data/projectred_transmission/recipes/pink_framed_bundled_wire_re_color.json -3c9ff491745b26f7ad18d733f5ab1bae691731d0 data/projectred_transmission/recipes/pink_framed_insulated_wire.json -127100d5ed02d9990e7469ee2217166446996dc2 data/projectred_transmission/recipes/pink_framed_insulated_wire_re_color.json -beea56c684148bdf2bb7beff261435947c1c868c data/projectred_transmission/recipes/pink_insulated_wire.json -7be5c0efa7fdab9dbb865b6b4a42093aadf4b5ed data/projectred_transmission/recipes/pink_insulated_wire_re_color.json -5d9e5eedf01dac2c6cd12e033f47c39cb80a0830 data/projectred_transmission/recipes/purple_bundled_wire_re_color.json -43ea22f736fbd4ac8863d04634bdf65360dfc0e0 data/projectred_transmission/recipes/purple_framed_bundled_wire.json -6d4a4f1bdfc4dbc720e75510c30f7fea022c281e data/projectred_transmission/recipes/purple_framed_bundled_wire_re_color.json -f4e35a5cf49e9e8b6351056931a6d2aaf2d0eb11 data/projectred_transmission/recipes/purple_framed_insulated_wire.json -76ab274c122de3e423e3fa8c9b5c5e53d222d37f data/projectred_transmission/recipes/purple_framed_insulated_wire_re_color.json -abe7ca2985ea4e764770a7e05b97a75953cca0d8 data/projectred_transmission/recipes/purple_insulated_wire.json -383356e8e7863e7ef413371f374699b9799c38d4 data/projectred_transmission/recipes/purple_insulated_wire_re_color.json -42f2265313e6b41b5d965aa8199ee3428d1857e8 data/projectred_transmission/recipes/red_alloy_wire.json -ec55ac6ba24f1e5a49b46a768fbce127fe424809 data/projectred_transmission/recipes/red_bundled_wire_re_color.json -93315fc2ee95a48fd73f59d1758f308b95729dbe data/projectred_transmission/recipes/red_framed_bundled_wire.json -92900dc72874ac120ae8c39dc63187480d0ed3e0 data/projectred_transmission/recipes/red_framed_bundled_wire_re_color.json -8b24898642da68d91bbf8b632bef516d27e2eab1 data/projectred_transmission/recipes/red_framed_insulated_wire.json -7386f940304fe2938f622bb139180d9a8aecb41f data/projectred_transmission/recipes/red_framed_insulated_wire_re_color.json -f535842ca2369efc376cde611b968d497f8c4cb7 data/projectred_transmission/recipes/red_insulated_wire.json -4eb75244ffa01cf9ca7fe42e1eafa49071b891d6 data/projectred_transmission/recipes/red_insulated_wire_re_color.json -44015a840a2042fd379980cfed4876b873fefca2 data/projectred_transmission/recipes/white_bundled_wire_re_color.json -8b3cb1e394a9f3df7521388bcfa8fb8f3571d406 data/projectred_transmission/recipes/white_framed_bundled_wire.json -9e9f3b36a494ad3cc13e87d1cb0b7eaad3abaa4b data/projectred_transmission/recipes/white_framed_bundled_wire_re_color.json -8e6dbe8b18493155d16b274e1b66eb281a263e2a data/projectred_transmission/recipes/white_framed_insulated_wire.json -5cdabf7204116e365fd65123f298415e34e8acd9 data/projectred_transmission/recipes/white_framed_insulated_wire_re_color.json -8cfe2bb01136205f4208e250f6738e8f9314393c data/projectred_transmission/recipes/white_insulated_wire.json -965230254259e78fb2de0c32761b9343e2656f2d data/projectred_transmission/recipes/white_insulated_wire_re_color.json -2d4bcc186a2e20c6db1cbe31475c4ec3e43cb541 data/projectred_transmission/recipes/wired_plate.json -a23839ff1003e6d1f64de734f387f3a23a905294 data/projectred_transmission/recipes/yellow_bundled_wire_re_color.json -d25c934f269d118684279300c0928bc6302fcf1b data/projectred_transmission/recipes/yellow_framed_bundled_wire.json -bb1e05a23b670132747ef320779a43c51ca014d1 data/projectred_transmission/recipes/yellow_framed_bundled_wire_re_color.json -9dd0a79ba7435cf7eba0a6cb2cd486fe6691a7ab data/projectred_transmission/recipes/yellow_framed_insulated_wire.json -27786afe3d82d988dc15f52d69a2a0c0cb80b9ae data/projectred_transmission/recipes/yellow_framed_insulated_wire_re_color.json -2f69c0d50b49a4872fee3c7de1bfc413d6fd3918 data/projectred_transmission/recipes/yellow_insulated_wire.json -63f538e75f643e2eff9614074b38cf6a9557ed57 data/projectred_transmission/recipes/yellow_insulated_wire_re_color.json +// 1.20.4 2024-11-23T20:04:13.676515 projectred_transmission Recipes. +95a7cc61247ca4dca9c81a978789b8d6b67182b0 data/projectred_transmission/recipes/black_bundled_wire_re_color.json +a4f47c701481fab612b49400d442f5eb8e2a2ff7 data/projectred_transmission/recipes/black_framed_bundled_wire.json +02b298bdcbb39865ee849ac1f93a920d5c56be25 data/projectred_transmission/recipes/black_framed_bundled_wire_re_color.json +0668095bf7f6e6076d9935553ed947daf90c3e1f data/projectred_transmission/recipes/black_framed_insulated_wire.json +7ccdcebbaf1aa1e3062a4ce5c011ddc5edaf269e data/projectred_transmission/recipes/black_framed_insulated_wire_re_color.json +81b62ec218902a1c7a6a7b152d566003c7c1485a data/projectred_transmission/recipes/black_insulated_wire.json +147de5166c51ba7a1fef7516a3d01437b3d3384e data/projectred_transmission/recipes/black_insulated_wire_re_color.json +d0886c48b58dac1d342631a4582550355a594e57 data/projectred_transmission/recipes/blue_bundled_wire_re_color.json +7493b4bdb52a2195cbaf1d233ded0cc4c42ba4c4 data/projectred_transmission/recipes/blue_framed_bundled_wire.json +cf36f59faf5a535005f156cd0e12cfc6d074ccd7 data/projectred_transmission/recipes/blue_framed_bundled_wire_re_color.json +3d1580c89c9812800727c66a101d55f56fb733bf data/projectred_transmission/recipes/blue_framed_insulated_wire.json +f285ce0af38a4ff7f2834485866b6d4f5e0d9a7a data/projectred_transmission/recipes/blue_framed_insulated_wire_re_color.json +b794ddfd534ea91c29e88aca16569f6c41c05ac3 data/projectred_transmission/recipes/blue_insulated_wire.json +4141c4127f7a93a3d06636f789349fdfc3025954 data/projectred_transmission/recipes/blue_insulated_wire_re_color.json +2f88956066dc74ea6500edafe4103818b40e28e3 data/projectred_transmission/recipes/brown_bundled_wire_re_color.json +83dbd61a75a57ba0b45c85143e8138e0df2fd591 data/projectred_transmission/recipes/brown_framed_bundled_wire.json +2ad226e9950776c10738f66fd397203c2df40aaf data/projectred_transmission/recipes/brown_framed_bundled_wire_re_color.json +2382e126400a871de51ea9ca6219979f650da474 data/projectred_transmission/recipes/brown_framed_insulated_wire.json +51665b93183f4acb2d9be05d07cd5e063b9d9e42 data/projectred_transmission/recipes/brown_framed_insulated_wire_re_color.json +2ea516870998c676cab247904c8550624edfc798 data/projectred_transmission/recipes/brown_insulated_wire.json +d79d3f66d6f19cb069524ff690e519cbd4027731 data/projectred_transmission/recipes/brown_insulated_wire_re_color.json +4dbd26a9b9ebf5cf9e4100d58dc8dd8dfa037c4d data/projectred_transmission/recipes/bundled_plate.json +b624506274b08a25ab8cd0fb89c039e56f0086bb data/projectred_transmission/recipes/cyan_bundled_wire_re_color.json +96d3a9c5492bd2dc6343737b5dda712dd2bea697 data/projectred_transmission/recipes/cyan_framed_bundled_wire.json +9f052017150dd85ac39d85b05e0b6f09862b1c47 data/projectred_transmission/recipes/cyan_framed_bundled_wire_re_color.json +c14b5725fdfc31e0019e9f241ecc540930b68c65 data/projectred_transmission/recipes/cyan_framed_insulated_wire.json +ff342fe2640d6bab5de22c167855a680a31f1de9 data/projectred_transmission/recipes/cyan_framed_insulated_wire_re_color.json +de6c547fadc27df79fbabaa6bff398a59c210251 data/projectred_transmission/recipes/cyan_insulated_wire.json +f75a4fec11d53a9acd03105f7497d620b1454753 data/projectred_transmission/recipes/cyan_insulated_wire_re_color.json +fe0c04c67385147be43b2ec452020ca506c2439a data/projectred_transmission/recipes/framed_red_alloy_wire.json +936c39abe835171dadbb72b21a8badc6bb5a625d data/projectred_transmission/recipes/gray_bundled_wire_re_color.json +705a099867d6072acdd18159711fd6500d86386e data/projectred_transmission/recipes/gray_framed_bundled_wire.json +5d88c02674250d26eb0875e62c51fc005ff9b76e data/projectred_transmission/recipes/gray_framed_bundled_wire_re_color.json +cacc873331e6d7703e4c33af585135ae04299bd4 data/projectred_transmission/recipes/gray_framed_insulated_wire.json +ef2d1c67139dfc9f58dcc2acbdc9af7f0665c75c data/projectred_transmission/recipes/gray_framed_insulated_wire_re_color.json +59f70099fb80bf7501d578deb693347706e40606 data/projectred_transmission/recipes/gray_insulated_wire.json +7e54c8847e7a7e146d80b3045a051b5bfcd00c98 data/projectred_transmission/recipes/gray_insulated_wire_re_color.json +4b310d3e944fb91ba8d798628ea9c6c87667c80f data/projectred_transmission/recipes/green_bundled_wire_re_color.json +ac7c534ac0bf35500afc3dd411137f534ed17cbf data/projectred_transmission/recipes/green_framed_bundled_wire.json +f1a4a8c3ffdd36cc1a91bd49bdcc64cf79fb7033 data/projectred_transmission/recipes/green_framed_bundled_wire_re_color.json +85933c0d6f2f86a29ae8bc1ee41c2f2bbad71f6e data/projectred_transmission/recipes/green_framed_insulated_wire.json +d7ec507dd39f0e65759c8636de72a7f65273c64a data/projectred_transmission/recipes/green_framed_insulated_wire_re_color.json +cedcdf37e2e8c0970489d5768497e1651f69553d data/projectred_transmission/recipes/green_insulated_wire.json +60ac69f3f4cd943a9372bb205945382332c5fdc3 data/projectred_transmission/recipes/green_insulated_wire_re_color.json +e44ac6881cae1a590950d814bf4de726fa32d980 data/projectred_transmission/recipes/light_blue_bundled_wire_re_color.json +ecac75ff8c58c6dabaa98dbffa23a53ecfa7d5a4 data/projectred_transmission/recipes/light_blue_framed_bundled_wire.json +89a56c934c84924e605d1a664a26c1adcd31986e data/projectred_transmission/recipes/light_blue_framed_bundled_wire_re_color.json +83ce9a43894b7920fed1fe250eddef6bbd1282f1 data/projectred_transmission/recipes/light_blue_framed_insulated_wire.json +453b290b4cb8c0fc3b032e3d1b24fec717b35424 data/projectred_transmission/recipes/light_blue_framed_insulated_wire_re_color.json +e61f36a0accbaeee14b6185a78513442f697958a data/projectred_transmission/recipes/light_blue_insulated_wire.json +cfe848d872215de82c541976a395cf143aa89873 data/projectred_transmission/recipes/light_blue_insulated_wire_re_color.json +e9a2d482cb1f06b7666cadd4aa724a2ca7067587 data/projectred_transmission/recipes/light_gray_bundled_wire_re_color.json +94ba394c53e62f011eb9a798b09aeeda4c44dc67 data/projectred_transmission/recipes/light_gray_framed_bundled_wire.json +8e7ed0b98ac2d49c15d3984da764ea58c6091580 data/projectred_transmission/recipes/light_gray_framed_bundled_wire_re_color.json +cc74a109481adf1e7bac9c73c42ea190a86a9c29 data/projectred_transmission/recipes/light_gray_framed_insulated_wire.json +5fff77ac1a557872070b996c9778e21501afa06a data/projectred_transmission/recipes/light_gray_framed_insulated_wire_re_color.json +c09bf5876b815a5cbf78a345933e32e8a64cff82 data/projectred_transmission/recipes/light_gray_insulated_wire.json +c008d33507756ff643fc05bd47637f747d5ec2ab data/projectred_transmission/recipes/light_gray_insulated_wire_re_color.json +22999b87a2d340d66de080447597e2829aae610a data/projectred_transmission/recipes/lime_bundled_wire_re_color.json +8b95990b57976dd453633fb0ae25e0c03867e104 data/projectred_transmission/recipes/lime_framed_bundled_wire.json +78382d298a2c284061ea232f562c021722c92d63 data/projectred_transmission/recipes/lime_framed_bundled_wire_re_color.json +97ead115ab043a22e6a7f64d1f2b362f2c214713 data/projectred_transmission/recipes/lime_framed_insulated_wire.json +5feca4c379d7c01c95cf35e1c1f8d896d1de6c70 data/projectred_transmission/recipes/lime_framed_insulated_wire_re_color.json +437de920c9f9344a8428e40ce4f3081b769f3169 data/projectred_transmission/recipes/lime_insulated_wire.json +b4537ae901c773f420b838c2f2997ba11cb202cf data/projectred_transmission/recipes/lime_insulated_wire_re_color.json +b2258f3cedf7b37fe3ca9eecc6644d8908234135 data/projectred_transmission/recipes/low_load_framed_power_wire.json +abbc862b8dfbc2d7fee922f83916804b681de29b data/projectred_transmission/recipes/low_load_power_wire.json +eedaf0183f5c4cdfc23454cc3ad8ac12d079d397 data/projectred_transmission/recipes/magenta_bundled_wire_re_color.json +4de2b16a929b1fb4d1eafec2ab33d077607fc48e data/projectred_transmission/recipes/magenta_framed_bundled_wire.json +ea894d8b08c31653696033ac57ccea0b87b22fa5 data/projectred_transmission/recipes/magenta_framed_bundled_wire_re_color.json +886ed863317d1269a0e96b048148edcc0c611097 data/projectred_transmission/recipes/magenta_framed_insulated_wire.json +b5dc3207e8f3c13698972893a441b971324d6cf0 data/projectred_transmission/recipes/magenta_framed_insulated_wire_re_color.json +0568810ee146fd7bb1c4df0e5a658897d5d2cb7e data/projectred_transmission/recipes/magenta_insulated_wire.json +2f50ea2ec6aeb1f5d77afeb58dad7648dfdba14d data/projectred_transmission/recipes/magenta_insulated_wire_re_color.json +0e99f7984e21fd6d2f49a5e67ca882708744b719 data/projectred_transmission/recipes/neutral_bundled_wire.json +4ed28c88039e31b83410ee26f1631070ffcfa09b data/projectred_transmission/recipes/neutral_framed_bundled_wire.json +dd4ea66ddef0d9e25062b96ea9b59fc495e13ad7 data/projectred_transmission/recipes/orange_bundled_wire_re_color.json +2bec3b65076ecf17c2bd23ab933b95a8e50b3fce data/projectred_transmission/recipes/orange_framed_bundled_wire.json +92be8c91a393e8cb1164003e130131643a3faafc data/projectred_transmission/recipes/orange_framed_bundled_wire_re_color.json +f430bc4f6a1154d0d69167e9149bb045ece0938f data/projectred_transmission/recipes/orange_framed_insulated_wire.json +9e126aac33595a124c752573b20cac234d9a3e23 data/projectred_transmission/recipes/orange_framed_insulated_wire_re_color.json +bd2c75f37088c64f66ce3ca427ef629dbc7d518b data/projectred_transmission/recipes/orange_insulated_wire.json +4b938b729b01254883aebfa85758b65077ef17a3 data/projectred_transmission/recipes/orange_insulated_wire_re_color.json +014a2fee54d965773b12bf285a35dcf157d7b2b3 data/projectred_transmission/recipes/pink_bundled_wire_re_color.json +8e9508659b6f5ac9307730437c7e55c73c36a5ec data/projectred_transmission/recipes/pink_framed_bundled_wire.json +f1a83772f0db03314e212e5f8bbf22bcdf3d3355 data/projectred_transmission/recipes/pink_framed_bundled_wire_re_color.json +59acd4d132d561a4857e0f9a57de910d4247a551 data/projectred_transmission/recipes/pink_framed_insulated_wire.json +8fd4378cd89fa9ec8826082498243fca2f169e89 data/projectred_transmission/recipes/pink_framed_insulated_wire_re_color.json +520b4031dd47c52e1c4575d3fe1328884e3f1d23 data/projectred_transmission/recipes/pink_insulated_wire.json +607f0d27cb08c1e4979d79b208a729f7a5078630 data/projectred_transmission/recipes/pink_insulated_wire_re_color.json +43de625329cb42fdcc82910ab69ed3cb6f76e64b data/projectred_transmission/recipes/purple_bundled_wire_re_color.json +8def4b2b10fa958183c5dcf2188eba155cee73c7 data/projectred_transmission/recipes/purple_framed_bundled_wire.json +a4852c611d17d8c26e90d9d63a1cd02a35c72cfc data/projectred_transmission/recipes/purple_framed_bundled_wire_re_color.json +358e42f806c0f1f72c5cf2a01a5faee62d94a18d data/projectred_transmission/recipes/purple_framed_insulated_wire.json +f162ef2b4fb16cc6023b4689c9e3a224ea0696d9 data/projectred_transmission/recipes/purple_framed_insulated_wire_re_color.json +0a749bb4b1b9c3c6e75e4c7762e640c4a97ab134 data/projectred_transmission/recipes/purple_insulated_wire.json +87c6dc3b03c65a7bb7b6122fe22fae257ce8279b data/projectred_transmission/recipes/purple_insulated_wire_re_color.json +94038a270b9f1999ffd2d04cc1569d2e1719a49f data/projectred_transmission/recipes/red_alloy_wire.json +ebf46a247ecb3e7e33c692b86c11d1abe993f761 data/projectred_transmission/recipes/red_bundled_wire_re_color.json +b4eb3520ca90ae587bcb70b7372c7bf7a4cd1efc data/projectred_transmission/recipes/red_framed_bundled_wire.json +22da224c0578ebeae987ce4cbc8d4e60764db7eb data/projectred_transmission/recipes/red_framed_bundled_wire_re_color.json +57dc4635554bd38b2ad23837b3498b2f550ec708 data/projectred_transmission/recipes/red_framed_insulated_wire.json +98b3d55f88389b4be040fb92035278b05bacf95f data/projectred_transmission/recipes/red_framed_insulated_wire_re_color.json +06fb9c3b9c4f4df9473e796b9ada12b647cf1360 data/projectred_transmission/recipes/red_insulated_wire.json +e8fdc5c32a5bcc2ca0c293356b4a8e15ae9eacd9 data/projectred_transmission/recipes/red_insulated_wire_re_color.json +f12c57edec89f02f48801d2c92221689ac862b7c data/projectred_transmission/recipes/white_bundled_wire_re_color.json +efb7b9ae1ad37e29a8633a1c83ae085927f77bcd data/projectred_transmission/recipes/white_framed_bundled_wire.json +46b60d906f7713348b0b5b03bf0a770f82d6ba71 data/projectred_transmission/recipes/white_framed_bundled_wire_re_color.json +6e3a0ab120d84812d7b1d60ce882675a927ac045 data/projectred_transmission/recipes/white_framed_insulated_wire.json +a1a16433ac7252c80cd769cf4310223576ebc2f7 data/projectred_transmission/recipes/white_framed_insulated_wire_re_color.json +7e1f4af9d07a2bac6edf4d3f1685cbb01fb426fe data/projectred_transmission/recipes/white_insulated_wire.json +917103b38366c1b83a8d311f71778e2cbea9f1e4 data/projectred_transmission/recipes/white_insulated_wire_re_color.json +25b3e9da12270f47647f65f7f9b6fcba424015d3 data/projectred_transmission/recipes/wired_plate.json +d3a36fd74c560cb25974351b30fa33a1b3cb58db data/projectred_transmission/recipes/yellow_bundled_wire_re_color.json +765cd62b30eeba91beeff33126aff37177540527 data/projectred_transmission/recipes/yellow_framed_bundled_wire.json +46a32cdaf2232fbda4163558f2058ed430e6ed3e data/projectred_transmission/recipes/yellow_framed_bundled_wire_re_color.json +4580c2781ed539c1598f86949ade47b209ba6925 data/projectred_transmission/recipes/yellow_framed_insulated_wire.json +385ddf5e4169a102c5cc4248c269c732e35fd08a data/projectred_transmission/recipes/yellow_framed_insulated_wire_re_color.json +e1cdadf1d2f52f6dac0c35b93fe0adb061229e65 data/projectred_transmission/recipes/yellow_insulated_wire.json +6e747610187e42fa5d2dec17d59076a57e5b1291 data/projectred_transmission/recipes/yellow_insulated_wire_re_color.json diff --git a/transmission/src/main/generated/.cache/6b41d303ff2565e607848497b87d2268a31dea17 b/transmission/src/main/generated/.cache/b628085da02a425cc2b44c1f8a404ad7707a00f7 similarity index 50% rename from transmission/src/main/generated/.cache/6b41d303ff2565e607848497b87d2268a31dea17 rename to transmission/src/main/generated/.cache/b628085da02a425cc2b44c1f8a404ad7707a00f7 index 0d20cdad3..fc45ac555 100644 --- a/transmission/src/main/generated/.cache/6b41d303ff2565e607848497b87d2268a31dea17 +++ b/transmission/src/main/generated/.cache/b628085da02a425cc2b44c1f8a404ad7707a00f7 @@ -1,2 +1,2 @@ -// 1.20.1 2024-05-02T16:40:18.832331 ProjectRed-Transmission Language: en_us +// 1.20.4 2024-11-23T20:04:13.694956 Languages: en_us for mod: projectred_transmission cda4b4c2989b506f91bbf873bd6d2740737858d5 assets/projectred_transmission/lang/en_us.json diff --git a/transmission/src/main/generated/.cache/e54b2aa820d3c45e5a8670f80d66b111475d334d b/transmission/src/main/generated/.cache/e54b2aa820d3c45e5a8670f80d66b111475d334d index b78029404..17fb9ace7 100644 --- a/transmission/src/main/generated/.cache/e54b2aa820d3c45e5a8670f80d66b111475d334d +++ b/transmission/src/main/generated/.cache/e54b2aa820d3c45e5a8670f80d66b111475d334d @@ -1,4 +1,4 @@ -// 1.20.1 2024-05-02T16:40:18.845929 ProjectRed-Transmission Item Tags +// 1.20.4 2024-11-23T20:04:13.697007 ProjectRed-Transmission Item Tags 946c13729332ac057e694b19d5f346f5cc988720 data/projectred_transmission/tags/items/bundled_wire.json e3811a48b41aa59405dff97fc2b0e20dd2eb8e2e data/projectred_transmission/tags/items/framed_bundled_wire.json 29175698d4c23dcd00104b141f048063721eb7ee data/projectred_transmission/tags/items/framed_insulated_wire.json diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/black_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/black_bundled_wire_re_color.json index 3d6607b91..61655103f 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/black_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/black_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_bundled_wire.json index 7112066bc..569d6696e 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:black_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_bundled_wire_re_color.json index 3595ec433..f72b6326b 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_insulated_wire.json index 48541e7df..6bf137017 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:black_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_insulated_wire_re_color.json index 851be05c2..2925f45b2 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/black_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/black_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/black_insulated_wire.json index 140f59bf3..e63210438 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/black_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/black_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/black_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/black_insulated_wire_re_color.json index 4b7aca78c..27b39c07d 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/black_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/black_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_bundled_wire_re_color.json index 1d5c1ce99..09bf0b8fd 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_bundled_wire.json index 89a1d2e8a..d49cf26fe 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:blue_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_bundled_wire_re_color.json index 748a69e30..9157e502d 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_insulated_wire.json index 999f855d4..6041a70de 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:blue_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_insulated_wire_re_color.json index eadcab3ac..c68f61c83 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_insulated_wire.json index bce48db43..a443f5d35 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_insulated_wire_re_color.json index 82e924e30..6c04f9433 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/blue_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/blue_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_bundled_wire_re_color.json index 7cf0425fb..4a61fef29 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_bundled_wire.json index 886d4593e..69d672ca1 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:brown_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_bundled_wire_re_color.json index a4bef23fb..49759c21f 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_insulated_wire.json index 0c1b0e91a..74df1b432 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:brown_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_insulated_wire_re_color.json index 6d38125e8..d1d054b33 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_insulated_wire.json index b1ac411fb..0682d5181 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_insulated_wire_re_color.json index caf8adc96..906484a10 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/brown_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/brown_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/bundled_plate.json b/transmission/src/main/generated/data/projectred_transmission/recipes/bundled_plate.json index 15118800c..dcf1d3b74 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/bundled_plate.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/bundled_plate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "P": { "item": "projectred_core:plate" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_bundled_wire_re_color.json index 6fb131006..47b6c6a93 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_bundled_wire.json index 2ca6821b7..77cc93662 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:cyan_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_bundled_wire_re_color.json index 459423773..c3333e7eb 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_insulated_wire.json index 91a710975..3dc2cfac5 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:cyan_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_insulated_wire_re_color.json index d669f0bf0..a0229fe81 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_insulated_wire.json index 2f73c986b..06b84a87e 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_insulated_wire_re_color.json index 17cfe1a2e..214b4047d 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/cyan_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/framed_red_alloy_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/framed_red_alloy_wire.json index 7ca66aa79..9bf8bd1f1 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/framed_red_alloy_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/framed_red_alloy_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:red_alloy_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_bundled_wire_re_color.json index c1c0262ec..2c90a04f6 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_bundled_wire.json index 836832afe..2153838c7 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:gray_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_bundled_wire_re_color.json index 026cb6d87..275938b96 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_insulated_wire.json index aed348fcc..9fa94a33f 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:gray_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_insulated_wire_re_color.json index de5bdd395..d4a71bad6 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_insulated_wire.json index 9563f3ec6..6c36e4169 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_insulated_wire_re_color.json index 4ad73e30d..3686d13d4 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/gray_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/gray_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/green_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/green_bundled_wire_re_color.json index b7f207780..19b6b4775 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/green_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/green_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_bundled_wire.json index 227399871..252ac87e7 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:green_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_bundled_wire_re_color.json index 2a477433b..9599c09ef 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_insulated_wire.json index ab8e19b7a..b918f2af3 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:green_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_insulated_wire_re_color.json index eb193defb..e7f5fef8f 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/green_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/green_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/green_insulated_wire.json index 68abc8878..62f12f60d 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/green_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/green_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/green_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/green_insulated_wire_re_color.json index 7909122c6..c71e54b18 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/green_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/green_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_bundled_wire_re_color.json index 498ed548e..d3c14c7ef 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_bundled_wire.json index a1b504203..4257ac106 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:light_blue_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_bundled_wire_re_color.json index d3a7d7341..2a451d264 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_insulated_wire.json index 1deb31eb5..5b9c9b5d8 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:light_blue_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_insulated_wire_re_color.json index 7087707da..86fee15e5 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_insulated_wire.json index e55ad9009..ee5524b85 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_insulated_wire_re_color.json index befffa541..c91f3edcd 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_blue_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_bundled_wire_re_color.json index a18b946b0..e8a5cb692 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_bundled_wire.json index f717031af..224de7ee0 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:light_gray_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_bundled_wire_re_color.json index ff556abb4..2073f72d5 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_insulated_wire.json index 15426cc5f..42bbf2f92 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:light_gray_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_insulated_wire_re_color.json index 7022916a0..597c2f7f8 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_insulated_wire.json index dfcc11dcc..774691a4f 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_insulated_wire_re_color.json index b3a666ee6..3e4578bc1 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/light_gray_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_bundled_wire_re_color.json index b628926c3..98deb9367 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_bundled_wire.json index fdb0dc107..9b3384308 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:lime_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_bundled_wire_re_color.json index 7c09d1272..1e8641011 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_insulated_wire.json index 78fd068b9..3f0484bb8 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:lime_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_insulated_wire_re_color.json index 8ef14e86f..faf453bd9 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_insulated_wire.json index bd6fb5439..3beae99bd 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_insulated_wire_re_color.json index c1f2bef84..4223ca429 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/lime_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/lime_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/low_load_framed_power_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/low_load_framed_power_wire.json index 987201ca7..c777b3df9 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/low_load_framed_power_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/low_load_framed_power_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:low_load_power_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/low_load_power_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/low_load_power_wire.json index 474be846c..6cfda168c 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/low_load_power_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/low_load_power_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "B": { "tag": "forge:wool/blue" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_bundled_wire_re_color.json index d14f92f81..09f35b4d0 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_bundled_wire.json index 31fbec736..aa582dfb8 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:magenta_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_bundled_wire_re_color.json index 608aa4ae9..54f070fa4 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_insulated_wire.json index 427302a8b..1fbe6134f 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:magenta_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_insulated_wire_re_color.json index 711581f0e..fb2f322e5 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_insulated_wire.json index 03d7524ca..e5aaace97 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_insulated_wire_re_color.json index c8fa9838e..7dcaececf 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/magenta_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/neutral_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/neutral_bundled_wire.json index 2745fbd1d..654e3c780 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/neutral_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/neutral_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "S": { "tag": "forge:string" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/neutral_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/neutral_framed_bundled_wire.json index 6ff855a62..aa91ca8bd 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/neutral_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/neutral_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:neutral_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_bundled_wire_re_color.json index f86b86795..9497dcdb8 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_bundled_wire.json index eb2c4f838..f199d5684 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:orange_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_bundled_wire_re_color.json index b78245d70..ddcabca0c 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_insulated_wire.json index 7aa1dc2e0..af2690a83 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:orange_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_insulated_wire_re_color.json index 11101c93f..134256fd8 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_insulated_wire.json index 170d18f93..1986afda0 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_insulated_wire_re_color.json index e49c79587..6f7909e09 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/orange_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/orange_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_bundled_wire_re_color.json index 114ad8e2d..88734c636 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_bundled_wire.json index b3311a976..c4af723e0 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:pink_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_bundled_wire_re_color.json index 42cbb4970..35b4e5006 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_insulated_wire.json index 855e5ecaa..8229da362 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:pink_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_insulated_wire_re_color.json index 6bfd258e9..d677ced1e 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_insulated_wire.json index d0946692b..5240bf8da 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_insulated_wire_re_color.json index 9ee0da330..3cc7a7a2a 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/pink_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/pink_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_bundled_wire_re_color.json index d293ee7ff..ad8989af4 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_bundled_wire.json index 8d51df231..db31792fd 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:purple_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_bundled_wire_re_color.json index bfdacdca6..6b83cb366 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_insulated_wire.json index 6d22c828e..1a3e6e557 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:purple_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_insulated_wire_re_color.json index fce354985..1c3611f97 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_insulated_wire.json index c04bfbf5f..ef17d86dd 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_insulated_wire_re_color.json index 07ed0c778..def2126ea 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/purple_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/purple_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/red_alloy_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/red_alloy_wire.json index d506faa93..fcd8cd8dc 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/red_alloy_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/red_alloy_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/red_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/red_bundled_wire_re_color.json index 1018c87c8..a1cdd2ea6 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/red_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/red_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_bundled_wire.json index 0193c5a4c..c8be0f640 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:red_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_bundled_wire_re_color.json index f38aeea7a..d5b91f72b 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_insulated_wire.json index dc47037cb..a7ce1f799 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:red_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_insulated_wire_re_color.json index 260ff0cff..09c992991 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/red_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/red_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/red_insulated_wire.json index 64a6a2a20..b0f87cc97 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/red_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/red_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/red_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/red_insulated_wire_re_color.json index 22fb6f3c1..21cf6c191 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/red_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/red_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/white_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/white_bundled_wire_re_color.json index 708245491..c04c89343 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/white_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/white_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_bundled_wire.json index ad731c168..ce4e6b8ce 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:white_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_bundled_wire_re_color.json index 4c1807501..f5752bd38 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_insulated_wire.json index 93cfb669a..c86fcc9e8 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:white_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_insulated_wire_re_color.json index 754ecb899..77fc8a0bd 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/white_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/white_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/white_insulated_wire.json index 044e40738..557da66ee 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/white_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/white_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/white_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/white_insulated_wire_re_color.json index d31bf3696..dd06d31bc 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/white_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/white_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/wired_plate.json b/transmission/src/main/generated/data/projectred_transmission/recipes/wired_plate.json index cdf31939a..5193c6d69 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/wired_plate.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/wired_plate.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "P": { "item": "projectred_core:plate" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_bundled_wire_re_color.json index 5ad78d630..9c2e0fad0 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_bundled_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_bundled_wire.json index 768e81c48..a6c38e967 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_bundled_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_bundled_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:yellow_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_bundled_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_bundled_wire_re_color.json index f018bdb1c..5e421f78c 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_bundled_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_bundled_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_bundled_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_insulated_wire.json index f0450322f..191aa6492 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "I": { "item": "projectred_transmission:yellow_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_insulated_wire_re_color.json index 16c52062b..27cd18053 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_framed_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:framed_insulated_wire" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_insulated_wire.json b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_insulated_wire.json index 9b9507258..9238e3332 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_insulated_wire.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_insulated_wire.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shaped", + "category": "misc", "key": { "R": { "tag": "forge:ingots/red_alloy" diff --git a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_insulated_wire_re_color.json b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_insulated_wire_re_color.json index 869cacc75..7996a18f2 100644 --- a/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_insulated_wire_re_color.json +++ b/transmission/src/main/generated/data/projectred_transmission/recipes/yellow_insulated_wire_re_color.json @@ -1,5 +1,6 @@ { "type": "minecraft:crafting_shapeless", + "category": "misc", "ingredients": [ { "tag": "projectred_transmission:insulated_wire" diff --git a/transmission/src/main/java/mrtjp/projectred/transmission/ProjectRedTransmission.java b/transmission/src/main/java/mrtjp/projectred/transmission/ProjectRedTransmission.java index a78810968..8543468c9 100644 --- a/transmission/src/main/java/mrtjp/projectred/transmission/ProjectRedTransmission.java +++ b/transmission/src/main/java/mrtjp/projectred/transmission/ProjectRedTransmission.java @@ -7,24 +7,26 @@ import mrtjp.projectred.transmission.init.TransmissionClientInit; import mrtjp.projectred.transmission.init.TransmissionCreativeModeTabs; import mrtjp.projectred.transmission.init.TransmissionParts; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.data.BlockTagsProvider; -import net.minecraftforge.common.data.ExistingFileHelper; -import net.minecraftforge.data.event.GatherDataEvent; -import net.minecraftforge.event.server.ServerAboutToStartEvent; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; +import net.neoforged.fml.loading.FMLEnvironment; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.data.event.GatherDataEvent; +import net.neoforged.neoforge.event.server.ServerAboutToStartEvent; +import net.neoforged.neoforge.registries.DeferredRegister; +import org.jetbrains.annotations.Nullable; + +import java.util.Objects; import static mrtjp.projectred.transmission.ProjectRedTransmission.MOD_ID; @@ -33,10 +35,12 @@ public class ProjectRedTransmission { public static final String MOD_ID = "projectred_transmission"; - public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID); + public static final DeferredRegister ITEMS = DeferredRegister.create(BuiltInRegistries.ITEM, MOD_ID); public static final DeferredRegister> PART_TYPES = DeferredRegister.create(MultipartType.MULTIPART_TYPES, MOD_ID); public static final DeferredRegister CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID); + private static @Nullable ModContainer container; + static { ProjectRedAPI.transmissionAPI = TransmissionAPI.INSTANCE; @@ -44,19 +48,25 @@ public class ProjectRedTransmission { TransmissionCreativeModeTabs.register(); } - public ProjectRedTransmission() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); + public ProjectRedTransmission(ModContainer container, IEventBus modEventBus) { + ProjectRedTransmission.container = container; modEventBus.addListener(this::commonSetup); modEventBus.addListener(this::onGatherDataEvent); - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> TransmissionClientInit::init); + if (FMLEnvironment.dist.isClient()) { + TransmissionClientInit.init(modEventBus); + } ITEMS.register(modEventBus); PART_TYPES.register(modEventBus); CREATIVE_TABS.register(modEventBus); - MinecraftForge.EVENT_BUS.addListener(this::onServerStartEvent); + NeoForge.EVENT_BUS.addListener(this::onServerStartEvent); + } + + public static ModContainer getContainer() { + return Objects.requireNonNull(container); } private void commonSetup(final FMLCommonSetupEvent event) { diff --git a/transmission/src/main/java/mrtjp/projectred/transmission/WireType.java b/transmission/src/main/java/mrtjp/projectred/transmission/WireType.java index edeeea084..b7f2c16ec 100644 --- a/transmission/src/main/java/mrtjp/projectred/transmission/WireType.java +++ b/transmission/src/main/java/mrtjp/projectred/transmission/WireType.java @@ -12,17 +12,17 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.client.event.TextureStitchEvent; -import net.minecraftforge.registries.DeferredRegister; -import net.minecraftforge.registries.RegistryObject; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.client.event.TextureAtlasStitchedEvent; +import net.neoforged.neoforge.registries.DeferredRegister; import javax.annotation.Nullable; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.function.Function; +import java.util.function.Supplier; import static mrtjp.projectred.transmission.ProjectRedTransmission.MOD_ID; import static mrtjp.projectred.transmission.init.TransmissionParts.*; @@ -122,10 +122,10 @@ public enum WireType { private final int itemColour; private final List textureNames; - private @Nullable RegistryObject itemSupplier; - private @Nullable RegistryObject> partSupplier; + private @Nullable Supplier itemSupplier; + private @Nullable Supplier> partSupplier; - @OnlyIn (Dist.CLIENT) + @OnlyIn(Dist.CLIENT) private @Nullable List textures; WireType(String unlocalName, boolean isCenterPart, Function partFactory, int thickness, String... textures) { @@ -158,7 +158,7 @@ public boolean isCenterPart() { return isCenterPart; } - public RegistryObject getItemRegistryObject() { + public Supplier getItemRegistryObject() { assert itemSupplier != null; return itemSupplier; } @@ -201,7 +201,7 @@ public List getTextures() { } @OnlyIn (Dist.CLIENT) - public void onTextureStitchEvent(TextureStitchEvent.Post event) { + public void onTextureStitchEvent(TextureAtlasStitchedEvent event) { if (!event.getAtlas().location().equals(TextureAtlas.LOCATION_BLOCKS)) return; if (textureNames.isEmpty()) return; diff --git a/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionBlockTagsProvider.java b/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionBlockTagsProvider.java index 3da69ac02..0f3a3ddee 100644 --- a/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionBlockTagsProvider.java +++ b/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionBlockTagsProvider.java @@ -2,8 +2,8 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.BlockTagsProvider; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import org.jetbrains.annotations.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionItemModelProvider.java b/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionItemModelProvider.java index bb1bbbe29..ab48989ef 100644 --- a/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionItemModelProvider.java +++ b/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionItemModelProvider.java @@ -5,7 +5,7 @@ import mrtjp.projectred.transmission.client.FramedWirePartItemRenderer; import mrtjp.projectred.transmission.client.WirePartItemRenderer; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import static mrtjp.projectred.transmission.ProjectRedTransmission.MOD_ID; diff --git a/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionItemTagsProvider.java b/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionItemTagsProvider.java index ce39fa29d..775454543 100644 --- a/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionItemTagsProvider.java +++ b/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionItemTagsProvider.java @@ -6,7 +6,7 @@ import net.minecraft.data.tags.ItemTagsProvider; import net.minecraft.data.tags.TagsProvider; import net.minecraft.world.level.block.Block; -import net.minecraftforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.common.data.ExistingFileHelper; import javax.annotation.Nullable; import java.util.concurrent.CompletableFuture; diff --git a/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionLanguageProvider.java b/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionLanguageProvider.java index 9081a6a64..539e0dd68 100644 --- a/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionLanguageProvider.java +++ b/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionLanguageProvider.java @@ -2,7 +2,7 @@ import mrtjp.projectred.transmission.WireType; import net.minecraft.data.PackOutput; -import net.minecraftforge.common.data.LanguageProvider; +import net.neoforged.neoforge.common.data.LanguageProvider; import static mrtjp.projectred.transmission.ProjectRedTransmission.MOD_ID; @@ -16,11 +16,6 @@ public TransmissionLanguageProvider(PackOutput output) { super(output, MOD_ID, "en_us"); } - @Override - public String getName() { - return "ProjectRed-Transmission Language: en_us"; - } - @Override protected void addTranslations() { diff --git a/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionRecipeProvider.java b/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionRecipeProvider.java index bc71407c4..76d26e720 100644 --- a/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionRecipeProvider.java +++ b/transmission/src/main/java/mrtjp/projectred/transmission/data/TransmissionRecipeProvider.java @@ -4,13 +4,13 @@ import codechicken.lib.datagen.recipe.RecipeProvider; import codechicken.lib.util.CCLTags; import mrtjp.projectred.transmission.WireType; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.ItemTags; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; -import net.minecraftforge.common.Tags; -import net.minecraftforge.registries.ForgeRegistries; +import net.neoforged.neoforge.common.Tags; import static mrtjp.projectred.core.init.CoreItems.*; import static mrtjp.projectred.core.init.CoreTags.ELECTROTINE_ALLOY_INGOT_TAG; @@ -44,7 +44,7 @@ protected void registerRecipes() { .patternLine("WRW") .patternLine("WRW"); // Re-colouring recipe - shapelessRecipe(w, 1, new ResourceLocation(ForgeRegistries.ITEMS.getKey(w) + "_re_color")) + shapelessRecipe(w, 1, new ResourceLocation(BuiltInRegistries.ITEM.getKey(w) + "_re_color")) .addIngredient(INSULATED_WIRE_ITEM_TAG) .addIngredient(getDyeTag(type.getColour())); } @@ -59,7 +59,7 @@ protected void registerRecipes() { for (WireType type : WireType.COLOURED_BUNDLED_WIRES) { Item w = type.getItem(); // Recolouring recipe - shapelessRecipe(w, 1, new ResourceLocation(ForgeRegistries.ITEMS.getKey(w) + "_re_color")) + shapelessRecipe(w, 1, new ResourceLocation(BuiltInRegistries.ITEM.getKey(w) + "_re_color")) .addIngredient(BUNDLED_WIRE_ITEM_TAG) .addIngredient(getDyeTag(type.getColour())); } @@ -85,7 +85,7 @@ protected void registerRecipes() { framedWireRecipe(w, WireType.INSULATED_WIRES[i].getItem()); // Re-colouring recipe - shapelessRecipe(w, 1, new ResourceLocation(ForgeRegistries.ITEMS.getKey(w) + "_re_color")) + shapelessRecipe(w, 1, new ResourceLocation(BuiltInRegistries.ITEM.getKey(w) + "_re_color")) .addIngredient(FRAMED_INSULATED_WIRE_ITEM_TAG) .addIngredient(getDyeTag(type.getColour())); } @@ -99,7 +99,7 @@ protected void registerRecipes() { framedWireRecipe(w, WireType.COLOURED_BUNDLED_WIRES[i].getItem()); // Re-colouring recipe - shapelessRecipe(w, 1, new ResourceLocation(ForgeRegistries.ITEMS.getKey(w) + "_re_color")) + shapelessRecipe(w, 1, new ResourceLocation(BuiltInRegistries.ITEM.getKey(w) + "_re_color")) .addIngredient(FRAMED_BUNDLED_WIRE_ITEM_TAG) .addIngredient(getDyeTag(type.getColour())); } @@ -108,14 +108,14 @@ protected void registerRecipes() { framedWireRecipe(WireType.FRAMED_POWER_LOWLOAD.getItem(), WireType.POWER_LOWLOAD.getItem()); // Wired plate - shapedRecipe(WIRED_PLATE_ITEM.get(), 1, new ResourceLocation(MOD_ID, ForgeRegistries.ITEMS.getKey(WIRED_PLATE_ITEM.get()).getPath())) + shapedRecipe(WIRED_PLATE_ITEM.get(), 1, new ResourceLocation(MOD_ID, BuiltInRegistries.ITEM.getKey(WIRED_PLATE_ITEM.get()).getPath())) .key('W', WireType.RED_ALLOY.getItem()) .key('P', PLATE_ITEM.get()) .patternLine("W") .patternLine("P"); // Bundled plate - shapedRecipe(BUNDLED_PLATE_ITEM.get(), 1, new ResourceLocation(MOD_ID, ForgeRegistries.ITEMS.getKey(BUNDLED_PLATE_ITEM.get()).getPath())) + shapedRecipe(BUNDLED_PLATE_ITEM.get(), 1, new ResourceLocation(MOD_ID, BuiltInRegistries.ITEM.getKey(BUNDLED_PLATE_ITEM.get()).getPath())) .key('W', BUNDLED_WIRE_ITEM_TAG) .key('P', PLATE_ITEM.get()) .patternLine("W") diff --git a/transmission/src/main/java/mrtjp/projectred/transmission/init/TransmissionClientInit.java b/transmission/src/main/java/mrtjp/projectred/transmission/init/TransmissionClientInit.java index 0a977e61e..0567e3293 100644 --- a/transmission/src/main/java/mrtjp/projectred/transmission/init/TransmissionClientInit.java +++ b/transmission/src/main/java/mrtjp/projectred/transmission/init/TransmissionClientInit.java @@ -7,15 +7,12 @@ import mrtjp.projectred.transmission.client.FaceWirePartRenderer; import mrtjp.projectred.transmission.client.FramedWireHighlightRenderer; import net.covers1624.quack.util.SneakyUtils; -import net.minecraftforge.eventbus.api.IEventBus; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; public class TransmissionClientInit { - public static void init() { - final IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); - + public static void init(IEventBus modEventBus) { modEventBus.addListener(TransmissionClientInit::clientSetup); // Register sprites diff --git a/transmission/src/main/java/mrtjp/projectred/transmission/init/TransmissionCreativeModeTabs.java b/transmission/src/main/java/mrtjp/projectred/transmission/init/TransmissionCreativeModeTabs.java index 37cb55d49..5a47f1669 100644 --- a/transmission/src/main/java/mrtjp/projectred/transmission/init/TransmissionCreativeModeTabs.java +++ b/transmission/src/main/java/mrtjp/projectred/transmission/init/TransmissionCreativeModeTabs.java @@ -4,12 +4,13 @@ import mrtjp.projectred.transmission.WireType; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; -import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; @SuppressWarnings("NotNullFieldNotInitialized") public class TransmissionCreativeModeTabs { - public static RegistryObject TRANSMISSION_CREATIVE_TAB; + public static Supplier TRANSMISSION_CREATIVE_TAB; public static void register() { TRANSMISSION_CREATIVE_TAB = ProjectRedTransmission.CREATIVE_TABS.register("transmission", diff --git a/transmission/src/main/java/mrtjp/projectred/transmission/part/BaseCenterWirePart.java b/transmission/src/main/java/mrtjp/projectred/transmission/part/BaseCenterWirePart.java index 33be9acbd..9d5229723 100644 --- a/transmission/src/main/java/mrtjp/projectred/transmission/part/BaseCenterWirePart.java +++ b/transmission/src/main/java/mrtjp/projectred/transmission/part/BaseCenterWirePart.java @@ -117,7 +117,7 @@ public void writeDesc(MCDataOutput packet) { packet.writeByte(packedConnMap()); packet.writeBoolean(material != null); if (material != null) { - packet.writeRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS, material); + packet.writeRegistryIdDirect(MicroMaterialRegistry.microMaterials(), material); } } @@ -126,7 +126,7 @@ public void readDesc(MCDataInput packet) { super.readDesc(packet); connMap = packet.readUByte(); if (packet.readBoolean()) { - material = packet.readRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS); + material = packet.readRegistryIdDirect(MicroMaterialRegistry.microMaterials()); } } @@ -138,7 +138,7 @@ protected void read(MCDataInput packet, int key) { if (useStaticRenderer()) tile().markRender(); break; case KEY_MATERIAL: - material = packet.readRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS); + material = packet.readRegistryIdDirect(MicroMaterialRegistry.microMaterials()); if (useStaticRenderer()) tile().markRender(); break; case KEY_REMOVE_MATERIAL: @@ -159,7 +159,7 @@ protected void sendMaterialUpdate() { if (material == null) { sendUpdate(KEY_REMOVE_MATERIAL, p -> {}); } else { - sendUpdate(KEY_MATERIAL, p -> p.writeRegistryIdDirect(MicroMaterialRegistry.MICRO_MATERIALS, material)); + sendUpdate(KEY_MATERIAL, p -> p.writeRegistryIdDirect(MicroMaterialRegistry.microMaterials(), material)); } } diff --git a/transmission/src/main/java/mrtjp/projectred/transmission/part/BaseWirePart.java b/transmission/src/main/java/mrtjp/projectred/transmission/part/BaseWirePart.java index 28bac191f..41ccf2c9c 100644 --- a/transmission/src/main/java/mrtjp/projectred/transmission/part/BaseWirePart.java +++ b/transmission/src/main/java/mrtjp/projectred/transmission/part/BaseWirePart.java @@ -13,8 +13,8 @@ import net.minecraft.core.Direction; import net.minecraft.world.item.ItemStack; import net.minecraft.world.phys.shapes.CollisionContext; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import java.util.Collections; import java.util.function.Consumer; diff --git a/transmission/src/main/resources/META-INF/mods.toml b/transmission/src/main/resources/META-INF/mods.toml index f180e321b..21503783f 100644 --- a/transmission/src/main/resources/META-INF/mods.toml +++ b/transmission/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[${lang_version},)" +loaderVersion="[2,)" issueTrackerURL="https://github.com/MrTJP/ProjectRed" license="MIT" @@ -16,32 +16,32 @@ license="MIT" Redstone. The way it was meant to be. ''' [[dependencies.projectred_transmission]] - modId="forge" - mandatory=true + modId="neoforge" + type="required" versionRange="[${forge_version},)" ordering="NONE" side="BOTH" [[dependencies.projectred_transmission]] modId="minecraft" - mandatory=true - versionRange="[1.20.1]" + type="required" + versionRange="[1.20.4]" ordering="NONE" side="BOTH" [[dependencies.projectred_transmission]] modId="codechickenlib" - mandatory=true + type="required" versionRange="[${ccl_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_transmission]] modId="cb_multipart" - mandatory=true + type="required" versionRange="[${cbm_version},)" ordering="AFTER" side="BOTH" [[dependencies.projectred_transmission]] modId="projectred_core" - mandatory=true + type="required" versionRange="[${file.jarVersion},)" ordering="AFTER" side="BOTH"