From 8c3cfac95e7a5c11751f3124caef99c8acbfb9f3 Mon Sep 17 00:00:00 2001 From: Colin Moulds Date: Tue, 21 Jul 2026 19:26:57 +0100 Subject: [PATCH] Port MEGA Cells to Minecraft 26.1.2 --- .github/workflows/build.yml | 19 +- build.gradle.kts | 98 +++------- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle.kts | 104 +--------- .../ae2/parts/cable_mega_interface.json | 17 ++ .../parts/cable_mega_pattern_provider.json | 17 ++ .../assets/megacells/ae2/parts/cell_dock.json | 6 + .../ae2/parts/decompression_module.json | 6 + .../blockstates/16m_crafting_storage.json | 5 +- .../blockstates/1m_crafting_storage.json | 5 +- .../blockstates/256m_crafting_storage.json | 5 +- .../blockstates/4m_crafting_storage.json | 5 +- .../blockstates/64m_crafting_storage.json | 5 +- .../mega_crafting_accelerator.json | 5 +- .../blockstates/mega_crafting_monitor.json | 20 +- .../blockstates/mega_crafting_unit.json | 5 +- .../megacells/items/16m_crafting_storage.json | 6 + .../megacells/items/1m_crafting_storage.json | 6 + .../items/256m_crafting_storage.json | 6 + .../megacells/items/4m_crafting_storage.json | 6 + .../megacells/items/64m_crafting_storage.json | 6 + .../items/accumulation_processor.json | 6 + .../items/accumulation_processor_press.json | 6 + .../megacells/items/bulk_cell_component.json | 6 + .../megacells/items/bulk_item_cell.json | 15 ++ .../items/cable_mega_emc_interface.json | 6 + .../megacells/items/cable_mega_interface.json | 6 + .../items/cable_mega_pattern_provider.json | 6 + .../megacells/items/cell_component_16m.json | 6 + .../megacells/items/cell_component_1m.json | 6 + .../megacells/items/cell_component_256m.json | 6 + .../megacells/items/cell_component_4m.json | 6 + .../megacells/items/cell_component_64m.json | 6 + .../assets/megacells/items/cell_dock.json | 6 + .../items/chemical_storage_cell_16m.json | 15 ++ .../items/chemical_storage_cell_1m.json | 15 ++ .../items/chemical_storage_cell_256m.json | 15 ++ .../items/chemical_storage_cell_4m.json | 15 ++ .../items/chemical_storage_cell_64m.json | 15 ++ .../megacells/items/compression_card.json | 6 + .../megacells/items/decompression_module.json | 6 + .../items/experience_storage_cell_16m.json | 15 ++ .../items/experience_storage_cell_1m.json | 15 ++ .../items/experience_storage_cell_256m.json | 15 ++ .../items/experience_storage_cell_4m.json | 15 ++ .../items/experience_storage_cell_64m.json | 15 ++ .../items/fluid_storage_cell_16m.json | 15 ++ .../items/fluid_storage_cell_1m.json | 15 ++ .../items/fluid_storage_cell_256m.json | 15 ++ .../items/fluid_storage_cell_4m.json | 15 ++ .../items/fluid_storage_cell_64m.json | 15 ++ .../megacells/items/greater_energy_card.json | 6 + .../items/item_storage_cell_16m.json | 15 ++ .../megacells/items/item_storage_cell_1m.json | 15 ++ .../items/item_storage_cell_256m.json | 15 ++ .../megacells/items/item_storage_cell_4m.json | 15 ++ .../items/item_storage_cell_64m.json | 15 ++ .../items/mana_storage_cell_16m.json | 15 ++ .../megacells/items/mana_storage_cell_1m.json | 15 ++ .../items/mana_storage_cell_256m.json | 15 ++ .../megacells/items/mana_storage_cell_4m.json | 15 ++ .../items/mana_storage_cell_64m.json | 15 ++ .../items/mega_chemical_cell_housing.json | 6 + .../items/mega_crafting_accelerator.json | 6 + .../items/mega_crafting_monitor.json | 6 + .../megacells/items/mega_crafting_unit.json | 6 + .../megacells/items/mega_emc_interface.json | 6 + .../megacells/items/mega_energy_cell.json | 40 ++++ .../items/mega_experience_cell_housing.json | 6 + .../items/mega_fluid_cell_housing.json | 6 + .../megacells/items/mega_interface.json | 6 + .../items/mega_item_cell_housing.json | 6 + .../items/mega_mana_cell_housing.json | 6 + .../items/mega_pattern_provider.json | 6 + .../items/mega_soul_cell_housing.json | 6 + .../items/mega_source_cell_housing.json | 6 + .../items/portable_cell_workbench.json | 6 + .../items/portable_chemical_cell_16m.json | 18 ++ .../items/portable_chemical_cell_1m.json | 18 ++ .../items/portable_chemical_cell_256m.json | 18 ++ .../items/portable_chemical_cell_4m.json | 18 ++ .../items/portable_chemical_cell_64m.json | 18 ++ .../items/portable_experience_cell_16m.json | 18 ++ .../items/portable_experience_cell_1m.json | 18 ++ .../items/portable_experience_cell_256m.json | 18 ++ .../items/portable_experience_cell_4m.json | 18 ++ .../items/portable_experience_cell_64m.json | 18 ++ .../items/portable_fluid_cell_16m.json | 18 ++ .../items/portable_fluid_cell_1m.json | 18 ++ .../items/portable_fluid_cell_256m.json | 18 ++ .../items/portable_fluid_cell_4m.json | 18 ++ .../items/portable_fluid_cell_64m.json | 18 ++ .../items/portable_item_cell_16m.json | 18 ++ .../items/portable_item_cell_1m.json | 18 ++ .../items/portable_item_cell_256m.json | 18 ++ .../items/portable_item_cell_4m.json | 18 ++ .../items/portable_item_cell_64m.json | 18 ++ .../items/portable_mana_cell_16m.json | 18 ++ .../items/portable_mana_cell_1m.json | 18 ++ .../items/portable_mana_cell_256m.json | 18 ++ .../items/portable_mana_cell_4m.json | 18 ++ .../items/portable_mana_cell_64m.json | 18 ++ .../items/portable_source_cell_16m.json | 18 ++ .../items/portable_source_cell_1m.json | 18 ++ .../items/portable_source_cell_256m.json | 18 ++ .../items/portable_source_cell_4m.json | 18 ++ .../items/portable_source_cell_64m.json | 18 ++ .../items/printed_accumulation_processor.json | 6 + .../items/radioactive_cell_component.json | 6 + .../items/radioactive_chemical_cell.json | 15 ++ .../megacells/items/sky_bronze_block.json | 6 + .../megacells/items/sky_bronze_ingot.json | 6 + .../megacells/items/sky_osmium_block.json | 6 + .../megacells/items/sky_osmium_ingot.json | 6 + .../megacells/items/sky_steel_block.json | 6 + .../megacells/items/sky_steel_ingot.json | 6 + .../items/soul_storage_cell_16m.json | 15 ++ .../megacells/items/soul_storage_cell_1m.json | 15 ++ .../items/soul_storage_cell_256m.json | 15 ++ .../megacells/items/soul_storage_cell_4m.json | 15 ++ .../items/soul_storage_cell_64m.json | 15 ++ .../items/source_storage_cell_16m.json | 15 ++ .../items/source_storage_cell_1m.json | 15 ++ .../items/source_storage_cell_256m.json | 15 ++ .../items/source_storage_cell_4m.json | 15 ++ .../items/source_storage_cell_64m.json | 15 ++ .../models/item/mega_energy_cell.json | 30 +-- .../recipe/cells/cell_component_16m.json | 18 +- .../recipe/cells/cell_component_1m.json | 18 +- .../recipe/cells/cell_component_256m.json | 18 +- .../recipe/cells/cell_component_4m.json | 18 +- .../recipe/cells/cell_component_64m.json | 18 +- .../cells/mega_chemical_cell_housing.json | 14 +- .../cells/mega_experience_cell_housing.json | 14 +- .../recipe/cells/mega_fluid_cell_housing.json | 14 +- .../recipe/cells/mega_item_cell_housing.json | 14 +- .../cells/mega_source_cell_housing.json | 38 +--- .../portable/portable_chemical_cell_16m.json | 18 +- ...ortable_chemical_cell_16m_disassembly.json | 4 +- .../portable/portable_chemical_cell_1m.json | 18 +- ...portable_chemical_cell_1m_disassembly.json | 4 +- .../portable/portable_chemical_cell_256m.json | 18 +- ...rtable_chemical_cell_256m_disassembly.json | 4 +- .../portable/portable_chemical_cell_4m.json | 18 +- ...portable_chemical_cell_4m_disassembly.json | 4 +- .../portable/portable_chemical_cell_64m.json | 18 +- ...ortable_chemical_cell_64m_disassembly.json | 4 +- .../portable_experience_cell_16m.json | 18 +- ...table_experience_cell_16m_disassembly.json | 4 +- .../portable/portable_experience_cell_1m.json | 18 +- ...rtable_experience_cell_1m_disassembly.json | 4 +- .../portable_experience_cell_256m.json | 18 +- ...able_experience_cell_256m_disassembly.json | 4 +- .../portable/portable_experience_cell_4m.json | 18 +- ...rtable_experience_cell_4m_disassembly.json | 4 +- .../portable_experience_cell_64m.json | 18 +- ...table_experience_cell_64m_disassembly.json | 4 +- .../portable/portable_fluid_cell_16m.json | 18 +- .../portable_fluid_cell_16m_disassembly.json | 4 +- .../portable/portable_fluid_cell_1m.json | 18 +- .../portable_fluid_cell_1m_disassembly.json | 4 +- .../portable/portable_fluid_cell_256m.json | 18 +- .../portable_fluid_cell_256m_disassembly.json | 4 +- .../portable/portable_fluid_cell_4m.json | 18 +- .../portable_fluid_cell_4m_disassembly.json | 4 +- .../portable/portable_fluid_cell_64m.json | 18 +- .../portable_fluid_cell_64m_disassembly.json | 4 +- .../portable/portable_item_cell_16m.json | 18 +- .../portable_item_cell_16m_disassembly.json | 4 +- .../cells/portable/portable_item_cell_1m.json | 18 +- .../portable_item_cell_1m_disassembly.json | 4 +- .../portable/portable_item_cell_256m.json | 18 +- .../portable_item_cell_256m_disassembly.json | 4 +- .../cells/portable/portable_item_cell_4m.json | 18 +- .../portable_item_cell_4m_disassembly.json | 4 +- .../portable/portable_item_cell_64m.json | 18 +- .../portable_item_cell_64m_disassembly.json | 4 +- .../portable/portable_mana_cell_16m.json | 18 +- .../portable_mana_cell_16m_disassembly.json | 4 +- .../cells/portable/portable_mana_cell_1m.json | 18 +- .../portable_mana_cell_1m_disassembly.json | 4 +- .../portable/portable_mana_cell_256m.json | 18 +- .../portable_mana_cell_256m_disassembly.json | 4 +- .../cells/portable/portable_mana_cell_4m.json | 18 +- .../portable_mana_cell_4m_disassembly.json | 4 +- .../portable/portable_mana_cell_64m.json | 18 +- .../portable_mana_cell_64m_disassembly.json | 4 +- .../portable/portable_source_cell_16m.json | 18 +- .../portable_source_cell_16m_disassembly.json | 4 +- .../portable/portable_source_cell_1m.json | 18 +- .../portable_source_cell_1m_disassembly.json | 4 +- .../portable/portable_source_cell_256m.json | 18 +- ...portable_source_cell_256m_disassembly.json | 4 +- .../portable/portable_source_cell_4m.json | 18 +- .../portable_source_cell_4m_disassembly.json | 4 +- .../portable/portable_source_cell_64m.json | 18 +- .../portable_source_cell_64m_disassembly.json | 4 +- .../recipe/cells/standard/bulk_item_cell.json | 18 +- .../standard/chemical_storage_cell_16m.json | 18 +- ...hemical_storage_cell_16m_with_housing.json | 10 +- .../standard/chemical_storage_cell_1m.json | 18 +- ...chemical_storage_cell_1m_with_housing.json | 10 +- .../standard/chemical_storage_cell_256m.json | 18 +- ...emical_storage_cell_256m_with_housing.json | 10 +- .../standard/chemical_storage_cell_4m.json | 18 +- ...chemical_storage_cell_4m_with_housing.json | 10 +- .../standard/chemical_storage_cell_64m.json | 18 +- ...hemical_storage_cell_64m_with_housing.json | 10 +- .../standard/experience_storage_cell_16m.json | 18 +- ...erience_storage_cell_16m_with_housing.json | 10 +- .../standard/experience_storage_cell_1m.json | 18 +- ...perience_storage_cell_1m_with_housing.json | 10 +- .../experience_storage_cell_256m.json | 18 +- ...rience_storage_cell_256m_with_housing.json | 10 +- .../standard/experience_storage_cell_4m.json | 18 +- ...perience_storage_cell_4m_with_housing.json | 10 +- .../standard/experience_storage_cell_64m.json | 18 +- ...erience_storage_cell_64m_with_housing.json | 10 +- .../standard/fluid_storage_cell_16m.json | 18 +- .../fluid_storage_cell_16m_with_housing.json | 10 +- .../cells/standard/fluid_storage_cell_1m.json | 18 +- .../fluid_storage_cell_1m_with_housing.json | 10 +- .../standard/fluid_storage_cell_256m.json | 18 +- .../fluid_storage_cell_256m_with_housing.json | 10 +- .../cells/standard/fluid_storage_cell_4m.json | 18 +- .../fluid_storage_cell_4m_with_housing.json | 10 +- .../standard/fluid_storage_cell_64m.json | 18 +- .../fluid_storage_cell_64m_with_housing.json | 10 +- .../cells/standard/item_storage_cell_16m.json | 18 +- .../item_storage_cell_16m_with_housing.json | 10 +- .../cells/standard/item_storage_cell_1m.json | 18 +- .../item_storage_cell_1m_with_housing.json | 10 +- .../standard/item_storage_cell_256m.json | 18 +- .../item_storage_cell_256m_with_housing.json | 10 +- .../cells/standard/item_storage_cell_4m.json | 18 +- .../item_storage_cell_4m_with_housing.json | 10 +- .../cells/standard/item_storage_cell_64m.json | 18 +- .../item_storage_cell_64m_with_housing.json | 10 +- .../mana_storage_cell_16m_with_housing.json | 10 +- .../mana_storage_cell_1m_with_housing.json | 10 +- .../mana_storage_cell_256m_with_housing.json | 10 +- .../mana_storage_cell_4m_with_housing.json | 10 +- .../mana_storage_cell_64m_with_housing.json | 10 +- .../standard/radioactive_chemical_cell.json | 22 +-- .../soul_storage_cell_16m_with_housing.json | 10 +- .../soul_storage_cell_1m_with_housing.json | 10 +- .../soul_storage_cell_256m_with_housing.json | 10 +- .../soul_storage_cell_4m_with_housing.json | 10 +- .../soul_storage_cell_64m_with_housing.json | 10 +- .../source_storage_cell_16m_with_housing.json | 10 +- .../source_storage_cell_1m_with_housing.json | 10 +- ...source_storage_cell_256m_with_housing.json | 10 +- .../source_storage_cell_4m_with_housing.json | 10 +- .../source_storage_cell_64m_with_housing.json | 10 +- .../recipe/crafting/16m_crafting_storage.json | 10 +- .../recipe/crafting/1m_crafting_storage.json | 10 +- .../crafting/256m_crafting_storage.json | 10 +- .../recipe/crafting/4m_crafting_storage.json | 10 +- .../recipe/crafting/64m_crafting_storage.json | 10 +- .../recipe/crafting/bulk_cell_component.json | 22 +-- .../recipe/crafting/compression_card.json | 10 +- .../recipe/crafting/decompression_module.json | 26 +-- .../recipe/crafting/greater_energy_card.json | 10 +- .../greater_energy_card_upgraded.json | 10 +- .../crafting/mega_crafting_accelerator.json | 10 +- .../crafting/mega_crafting_monitor.json | 10 +- .../recipe/crafting/mega_crafting_unit.json | 18 +- .../recipe/crafting/mega_energy_cell.json | 10 +- .../crafting/radioactive_cell_component.json | 22 +-- .../recipe/crafting/sky_bronze_block.json | 6 +- ...ky_bronze_ingot_from_sky_bronze_block.json | 6 +- .../recipe/crafting/sky_osmium_block.json | 6 +- ...ky_osmium_ingot_from_sky_osmium_block.json | 6 +- .../recipe/crafting/sky_steel_block.json | 6 +- .../sky_steel_ingot_from_sky_steel_block.json | 6 +- .../inscriber/accumulation_processor.json | 14 +- .../accumulation_processor_press.json | 14 +- .../accumulation_processor_press_extra.json | 10 +- .../accumulation_processor_print.json | 10 +- .../recipe/mega_soul_cell_housing.json | 34 +--- .../megacells/recipe/network/cell_dock.json | 14 +- .../recipe/network/mega_emc_interface.json | 10 +- .../network/mega_emc_interface_block.json | 6 +- .../network/mega_emc_interface_part.json | 6 +- .../recipe/network/mega_interface.json | 10 +- .../recipe/network/mega_interface_block.json | 6 +- .../recipe/network/mega_interface_part.json | 6 +- .../recipe/network/mega_pattern_provider.json | 10 +- .../network/mega_pattern_provider_block.json | 6 +- .../network/mega_pattern_provider_part.json | 6 +- .../network/portable_cell_workbench.json | 14 +- .../recipe/transform/sky_bronze_ingot.json | 14 +- .../recipe/transform/sky_osmium_ingot.json | 14 +- .../recipe/transform/sky_steel_ingot.json | 14 +- .../java/gripe/_90/megacells/MEGACells.java | 47 +---- .../megacells/block/MEGACraftingUnitType.java | 13 ++ .../megacells/block/MEGAInterfaceBlock.java | 6 +- .../block/MEGAPatternProviderBlock.java | 16 +- .../block/MEGAPatternProviderBlockItem.java | 6 +- .../_90/megacells/client/MEGACellsClient.java | 110 +++-------- .../client/render/CellDockPartRenderer.java | 93 +++++++++ .../client/render/CellDockRenderState.java | 14 ++ .../client/render/FaceRotatingModel.java | 59 ------ .../render/MEGACraftingUnitModelProvider.java | 128 +++++++------ ...leCellWorkbenchClientTooltipComponent.java | 96 +++------- .../screen/CompressionCutoffButton.java | 26 +-- .../screen/PortableCellWorkbenchScreen.java | 2 +- .../definition/MEGABlockEntities.java | 19 +- .../_90/megacells/definition/MEGABlocks.java | 80 +++----- .../_90/megacells/definition/MEGAItems.java | 27 +-- .../_90/megacells/definition/MEGAMenus.java | 12 -- .../_90/megacells/definition/MEGATags.java | 14 +- .../_90/megacells/integration/Addons.java | 36 ++-- .../integration/DummyIntegrationBlock.java | 6 +- .../integration/DummyIntegrationItem.java | 12 +- .../appflux/AppFluxIntegration.java | 13 +- .../_90/megacells/item/cell/BulkCellItem.java | 24 +-- .../megacells/item/cell/MEGAPortableCell.java | 4 +- .../cell/PortableCellWorkbenchInventory.java | 12 +- .../item/cell/PortableCellWorkbenchItem.java | 6 +- .../cell/PortableCellWorkbenchMenuHost.java | 4 +- .../_90/megacells/item/part/CellDockPart.java | 180 ++++-------------- .../item/part/DecompressionModulePart.java | 14 +- .../item/part/MEGAInterfacePart.java | 23 --- .../item/part/MEGAPatternProviderPart.java | 23 --- .../part/MEGAPatternProviderPartItem.java | 12 +- .../megacells/menu/CompressionCutoffHost.java | 4 +- .../menu/PortableCellWorkbenchMenu.java | 26 ++- .../megacells/misc/CompressionOverride.java | 30 ++- .../megacells/misc/CompressionService.java | 92 +++++---- .../megacells/misc/DecompressionService.java | 9 +- .../megacells/misc/LavaTransformLogic.java | 31 ++- .../mixin/AbstractCraftingUnitBlockMixin.java | 47 ++--- .../mixin/CellWorkbenchMenuMixin.java | 3 +- .../mixin/client/BuiltInModelHooksMixin.java | 23 --- .../resources/META-INF/neoforge.mods.toml | 2 +- .../megacells/models/part/cell_dock.json | 3 +- .../models/part/decompression_module.json | 3 +- src/main/resources/megacells.mixins.json | 5 +- .../optional_cell_colours/pack.mcmeta | 5 +- .../megacells/test/BulkCellInventoryTest.java | 13 +- 341 files changed, 2671 insertions(+), 2549 deletions(-) create mode 100644 src/generated/resources/assets/megacells/ae2/parts/cable_mega_interface.json create mode 100644 src/generated/resources/assets/megacells/ae2/parts/cable_mega_pattern_provider.json create mode 100644 src/generated/resources/assets/megacells/ae2/parts/cell_dock.json create mode 100644 src/generated/resources/assets/megacells/ae2/parts/decompression_module.json create mode 100644 src/generated/resources/assets/megacells/items/16m_crafting_storage.json create mode 100644 src/generated/resources/assets/megacells/items/1m_crafting_storage.json create mode 100644 src/generated/resources/assets/megacells/items/256m_crafting_storage.json create mode 100644 src/generated/resources/assets/megacells/items/4m_crafting_storage.json create mode 100644 src/generated/resources/assets/megacells/items/64m_crafting_storage.json create mode 100644 src/generated/resources/assets/megacells/items/accumulation_processor.json create mode 100644 src/generated/resources/assets/megacells/items/accumulation_processor_press.json create mode 100644 src/generated/resources/assets/megacells/items/bulk_cell_component.json create mode 100644 src/generated/resources/assets/megacells/items/bulk_item_cell.json create mode 100644 src/generated/resources/assets/megacells/items/cable_mega_emc_interface.json create mode 100644 src/generated/resources/assets/megacells/items/cable_mega_interface.json create mode 100644 src/generated/resources/assets/megacells/items/cable_mega_pattern_provider.json create mode 100644 src/generated/resources/assets/megacells/items/cell_component_16m.json create mode 100644 src/generated/resources/assets/megacells/items/cell_component_1m.json create mode 100644 src/generated/resources/assets/megacells/items/cell_component_256m.json create mode 100644 src/generated/resources/assets/megacells/items/cell_component_4m.json create mode 100644 src/generated/resources/assets/megacells/items/cell_component_64m.json create mode 100644 src/generated/resources/assets/megacells/items/cell_dock.json create mode 100644 src/generated/resources/assets/megacells/items/chemical_storage_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/chemical_storage_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/chemical_storage_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/chemical_storage_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/chemical_storage_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/compression_card.json create mode 100644 src/generated/resources/assets/megacells/items/decompression_module.json create mode 100644 src/generated/resources/assets/megacells/items/experience_storage_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/experience_storage_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/experience_storage_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/experience_storage_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/experience_storage_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/fluid_storage_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/fluid_storage_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/fluid_storage_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/fluid_storage_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/fluid_storage_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/greater_energy_card.json create mode 100644 src/generated/resources/assets/megacells/items/item_storage_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/item_storage_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/item_storage_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/item_storage_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/item_storage_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/mana_storage_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/mana_storage_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/mana_storage_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/mana_storage_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/mana_storage_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/mega_chemical_cell_housing.json create mode 100644 src/generated/resources/assets/megacells/items/mega_crafting_accelerator.json create mode 100644 src/generated/resources/assets/megacells/items/mega_crafting_monitor.json create mode 100644 src/generated/resources/assets/megacells/items/mega_crafting_unit.json create mode 100644 src/generated/resources/assets/megacells/items/mega_emc_interface.json create mode 100644 src/generated/resources/assets/megacells/items/mega_energy_cell.json create mode 100644 src/generated/resources/assets/megacells/items/mega_experience_cell_housing.json create mode 100644 src/generated/resources/assets/megacells/items/mega_fluid_cell_housing.json create mode 100644 src/generated/resources/assets/megacells/items/mega_interface.json create mode 100644 src/generated/resources/assets/megacells/items/mega_item_cell_housing.json create mode 100644 src/generated/resources/assets/megacells/items/mega_mana_cell_housing.json create mode 100644 src/generated/resources/assets/megacells/items/mega_pattern_provider.json create mode 100644 src/generated/resources/assets/megacells/items/mega_soul_cell_housing.json create mode 100644 src/generated/resources/assets/megacells/items/mega_source_cell_housing.json create mode 100644 src/generated/resources/assets/megacells/items/portable_cell_workbench.json create mode 100644 src/generated/resources/assets/megacells/items/portable_chemical_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_chemical_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_chemical_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_chemical_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_chemical_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_experience_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_experience_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_experience_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_experience_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_experience_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_fluid_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_fluid_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_fluid_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_fluid_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_fluid_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_item_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_item_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_item_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_item_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_item_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_mana_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_mana_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_mana_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_mana_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_mana_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_source_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_source_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_source_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_source_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/portable_source_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/printed_accumulation_processor.json create mode 100644 src/generated/resources/assets/megacells/items/radioactive_cell_component.json create mode 100644 src/generated/resources/assets/megacells/items/radioactive_chemical_cell.json create mode 100644 src/generated/resources/assets/megacells/items/sky_bronze_block.json create mode 100644 src/generated/resources/assets/megacells/items/sky_bronze_ingot.json create mode 100644 src/generated/resources/assets/megacells/items/sky_osmium_block.json create mode 100644 src/generated/resources/assets/megacells/items/sky_osmium_ingot.json create mode 100644 src/generated/resources/assets/megacells/items/sky_steel_block.json create mode 100644 src/generated/resources/assets/megacells/items/sky_steel_ingot.json create mode 100644 src/generated/resources/assets/megacells/items/soul_storage_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/soul_storage_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/soul_storage_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/soul_storage_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/soul_storage_cell_64m.json create mode 100644 src/generated/resources/assets/megacells/items/source_storage_cell_16m.json create mode 100644 src/generated/resources/assets/megacells/items/source_storage_cell_1m.json create mode 100644 src/generated/resources/assets/megacells/items/source_storage_cell_256m.json create mode 100644 src/generated/resources/assets/megacells/items/source_storage_cell_4m.json create mode 100644 src/generated/resources/assets/megacells/items/source_storage_cell_64m.json create mode 100644 src/main/java/gripe/_90/megacells/client/render/CellDockPartRenderer.java create mode 100644 src/main/java/gripe/_90/megacells/client/render/CellDockRenderState.java delete mode 100644 src/main/java/gripe/_90/megacells/client/render/FaceRotatingModel.java delete mode 100644 src/main/java/gripe/_90/megacells/mixin/client/BuiltInModelHooksMixin.java diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bb8a47f6..01ea744e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,18 +26,10 @@ jobs: - name: Set up Java uses: actions/setup-java@v4 with: - java-version: 21 + java-version: 25 distribution: 'temurin' - name: Set up Gradle uses: gradle/actions/setup-gradle@v4 - - name: Generate assets - run: ./gradlew runData - - name: Check that data was generated - run: test -d ./src/generated/resources/.cache - - name: Ensure generated data is up-to-date - run: | - git status - if [ -n "$(git status --porcelain)" ]; then exit 1; fi - name: Build release files run: ./gradlew build - name: Publish release files @@ -52,15 +44,8 @@ jobs: modrinth-id: jjuIRIVr modrinth-token: ${{ secrets.MODRINTH_API_KEY }} - game-versions: 1.21.1 + game-versions: 26.1.2 loaders: neoforge dependencies: | ae2(required){curseforge:223794}{modrinth:XxWD5pD3} - appmek(optional){curseforge:574300}{modrinth:IiATswDj} - ae2wtlib(optional){curseforge:459929}{modrinth:pNabrMMw} - arseng(optional){curseforge:905641}{modrinth:IJI3QuK8} appflux(optional){curseforge:965012} - appex(optional){curseforge:1157608}{modrinth:yKwUnZCV} - appbot(optional){curseforge:610632}{modrinth:545hUrw9} - appliede(optional){curseforge:1009940}{modrinth:SyKS54UY} - appliedsoul(optional){curseforge:1337114} diff --git a/build.gradle.kts b/build.gradle.kts index f283b2ee..dc3bb457 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,73 +8,34 @@ plugins { val modId = "megacells" base.archivesName = modId -version = if (System.getenv("GITHUB_REF_TYPE") == "tag") System.getenv("GITHUB_REF_NAME") else "0.0.0" +version = if (System.getenv("GITHUB_REF_TYPE") == "tag") System.getenv("GITHUB_REF_NAME") else "4.12.0" group = "gripe.90" java { - toolchain.languageVersion = JavaLanguageVersion.of(21) + toolchain.languageVersion = JavaLanguageVersion.of(25) withSourcesJar() } sourceSets { main { + java { + // These integrations depend on add-ons that do not have Minecraft 26.1 releases yet. + // Applied Flux is 26.1-compatible and remains enabled. + exclude("gripe/_90/megacells/integration/ae2wt/**") + exclude("gripe/_90/megacells/integration/appbot/**") + exclude("gripe/_90/megacells/integration/appex/**") + exclude("gripe/_90/megacells/integration/appliede/**") + exclude("gripe/_90/megacells/integration/appmek/**") + exclude("gripe/_90/megacells/integration/appsoul/**") + exclude("gripe/_90/megacells/integration/arseng/**") + } resources.srcDir(file("src/generated/resources")) } - - val addons = create("addons") { - val main = main.get() - compileClasspath += main.compileClasspath + main.output - runtimeClasspath += main.runtimeClasspath + main.output - } - - create("data") { - compileClasspath += addons.compileClasspath + addons.output - runtimeClasspath += addons.runtimeClasspath + addons.output - } } dependencies { api(core.ae2) - compileOnly(integration.ae2wtlibapi) - "addonsRuntimeOnly"(integration.ae2wtlib) - - compileOnly(integration.appmek) - compileOnly(integration.mekanism) - "addonsRuntimeOnly"(integration.appmek) - "dataCompileOnly"(variantOf(integration.mekanism) { classifier("generators") }) - "addonsRuntimeOnly"(variantOf(integration.mekanism) { classifier("all") }) - - compileOnly(integration.arseng) - "addonsRuntimeOnly"(integration.arseng) - - "dataCompileOnly"(integration.arsnouveau) { exclude("mezz.jei") } - "addonsRuntimeOnly"(integration.arsnouveau) { exclude("mezz.jei") } - - compileOnly(integration.appflux) - "addonsRuntimeOnly"(integration.appflux) - "addonsRuntimeOnly"(integration.glodium) - - compileOnly(integration.appex) - "addonsRuntimeOnly"(integration.appex) - "addonsRuntimeOnly"(integration.explib) - - compileOnly(integration.appliede) - "addonsRuntimeOnly"(integration.appliede) - "addonsRuntimeOnly"(integration.projecte) - - compileOnly(integration.appbot) - "addonsCompileOnly"(integration.botania) - - compileOnly(integration.appsoul) - "dataCompileOnly"(integration.titanium) - "dataCompileOnly"(integration.industrialforegoing) - "addonsRuntimeOnly"(integration.appsoul) - "addonsRuntimeOnly"(integration.titanium) - "addonsRuntimeOnly"(integration.industrialforegoing) - "addonsRuntimeOnly"(integration.ifsouls) - "addonsRuntimeOnly"(integration.soulpliedenergistics) - testImplementation(testlibs.junit.jupiter) testImplementation(testlibs.assertj) testImplementation(testlibs.neoforge.test) @@ -84,15 +45,9 @@ dependencies { neoForge { version = core.versions.neoforge.get() - parchment { - minecraftVersion = core.versions.minecraft.get() - mappingsVersion = core.versions.parchment.get() - } - mods { create(modId) { sourceSet(sourceSets.main.get()) - sourceSet(sourceSets.getByName("data")) } } @@ -101,7 +56,7 @@ neoForge { configureEach { logLevel = org.slf4j.event.Level.DEBUG - sourceSet = sourceSets.getByName("addons") + sourceSet = sourceSets.main.get() } create("client") { @@ -115,21 +70,6 @@ neoForge { server() gameDirectory = file("run/server") } - - create("data") { - data() - gameDirectory = file("run/data") - logLevel = org.slf4j.event.Level.INFO - programArguments.addAll( - "--mod", modId, - "--all", - "--output", file("src/generated/resources/").absolutePath, - "--existing", main, - "--existing", "$main/optional_cell_colours", - "--existing-mod", "ae2" - ) - sourceSet = sourceSets.getByName("data") - } } unitTest { @@ -151,6 +91,16 @@ tasks { processResources { exclude("**/.cache") + // Keep recipes for unavailable third-party integrations out of the release JAR. + exclude( + "data/megacells/recipe/**/*chemical*", + "data/megacells/recipe/**/*experience*", + "data/megacells/recipe/**/*mana*", + "data/megacells/recipe/**/*source*", + "data/megacells/recipe/**/*soul*", + "data/megacells/recipe/**/*emc*", + "data/megacells/recipe/**/*sky_osmium*", + ) val props = mapOf("version" to version) inputs.properties(props) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 09523c0e..23449a2b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle.kts b/settings.gradle.kts index 272e77f0..625b88b3 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,14 +1,14 @@ pluginManagement { plugins { - id("net.neoforged.moddev") version "2.0.74" - id("net.neoforged.moddev.repositories") version "2.0.74" + id("net.neoforged.moddev") version "2.0.141" + id("net.neoforged.moddev.repositories") version "2.0.141" id("com.diffplug.spotless") version "7.0.1" } } plugins { id("net.neoforged.moddev.repositories") - id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" + id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0" } run { @@ -17,108 +17,16 @@ run { repositoriesMode = RepositoriesMode.PREFER_SETTINGS rulesMode = RulesMode.PREFER_SETTINGS - repositories { - maven { - name = "ModMaven (K4U-NL)" - url = uri("https://modmaven.dev/") - content { - includeGroup("mekanism") - includeGroup("de.mari_023") - } - } - - maven { - name = "BlameJared" - url = uri("https://maven.blamejared.com") - content { - includeGroup("com.hollingsworth.ars_nouveau") - includeGroup("com.hollingsworth.nuggets") - includeGroup("vazkii.botania") - includeGroup("vazkii.patchouli") - } - } - - maven { - name = "GeckoLib" - url = uri("https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/") - content { - includeGroup("software.bernie.geckolib") - } - } - - maven { - name = "Illusive Soulworks" - url = uri("https://maven.theillusivec4.top/") - content { - includeGroup("com.illusivesoulworks.caelus") - includeGroup("top.theillusivec4.curios") - } - } - - maven { - name = "Minecraft Forge" - url = uri("https://maven.minecraftforge.net/") - content { - includeGroup("com.github.glitchfiend") - } - } - - maven { - name = "CurseMaven" - url = uri("https://cursemaven.com") - content { - includeGroup("curse.maven") - } - } - } - versionCatalogs { - val mc = "1.21.1" - val maj = mc.substringAfter('.') - val nf = "${maj + (if (!maj.contains('.')) ".0" else "")}.238" + val nf = "26.1.2.80" create("core") { - version("minecraft", mc) - + version("minecraft", "26.1.2") version("neoforge", nf) - version("parchment", "2024.11.17") - - version("ae2", "19.2.15") + version("ae2", "26.1.10-beta") library("ae2", "org.appliedenergistics", "appliedenergistics2").versionRef("ae2") } - create("integration") { - version("ae2wtlib", "19.2.2") - library("ae2wtlib", "de.mari_023", "ae2wtlib").versionRef("ae2wtlib") - library("ae2wtlibapi", "de.mari_023", "ae2wtlib_api").versionRef("ae2wtlib") - - version("appmek", "1.6.2") - library("appmek", "curse.maven", "applied-mekanistics-574300").version("5978711") - library("mekanism", "mekanism", "Mekanism").version("$mc-10.7.9.72") - - library("appbot", "curse.maven", "applied-botanics-addon-610632").version("7234122") - library("botania", "vazkii.botania", "botania-neoforge-1.21.1").version("451-SNAPSHOT") - - version("arseng", "2.0.5-beta") - library("arseng", "curse.maven", "ars-energistique-905641").version("6021072") - library("arsnouveau", "com.hollingsworth.ars_nouveau", "ars_nouveau-1.21.1").version("5.10.0.1183") - - library("appflux", "curse.maven", "applied-flux-965012").version("5946853") - library("glodium", "curse.maven", "glodium-957920").version("5821676") - - library("appex", "curse.maven", "applied-experienced-1157608").version("6112629") - library("explib", "curse.maven", "experiencelib-1156551").version("5992832") - - library("appliede", "curse.maven", "appliede-1009940").version("6430033") - library("projecte", "curse.maven", "projecte-226410").version("6301953") - - library("appsoul", "curse.maven", "applied-soul-1337114").version("7653184") - library("industrialforegoing", "curse.maven", "industrial-foregoing-266515").version("6626624") - library("ifsouls", "curse.maven", "industrial-foregoing-souls-904394").version("6235883") - library("titanium", "curse.maven", "titanium-287342").version("6875285") - library("soulpliedenergistics", "curse.maven", "soulplied-energistics-1143614").version("6771121") - } - create("testlibs") { library("neoforge-test", "net.neoforged", "testframework").version(nf) library("junit-jupiter", "org.junit.jupiter", "junit-jupiter").version("5.7.1") diff --git a/src/generated/resources/assets/megacells/ae2/parts/cable_mega_interface.json b/src/generated/resources/assets/megacells/ae2/parts/cable_mega_interface.json new file mode 100644 index 00000000..df47460c --- /dev/null +++ b/src/generated/resources/assets/megacells/ae2/parts/cable_mega_interface.json @@ -0,0 +1,17 @@ +{ + "model": { + "type": "ae2:composite", + "models": [ + { + "type": "ae2:model", + "model": "megacells:part/mega_interface" + }, + { + "type": "ae2:status_indicator", + "active": "ae2:part/interface_has_channel", + "powered": "ae2:part/interface_on", + "unpowered": "ae2:part/interface_off" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/ae2/parts/cable_mega_pattern_provider.json b/src/generated/resources/assets/megacells/ae2/parts/cable_mega_pattern_provider.json new file mode 100644 index 00000000..8650da51 --- /dev/null +++ b/src/generated/resources/assets/megacells/ae2/parts/cable_mega_pattern_provider.json @@ -0,0 +1,17 @@ +{ + "model": { + "type": "ae2:composite", + "models": [ + { + "type": "ae2:model", + "model": "megacells:part/mega_pattern_provider" + }, + { + "type": "ae2:status_indicator", + "active": "ae2:part/interface_has_channel", + "powered": "ae2:part/interface_on", + "unpowered": "ae2:part/interface_off" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/ae2/parts/cell_dock.json b/src/generated/resources/assets/megacells/ae2/parts/cell_dock.json new file mode 100644 index 00000000..c9defbcf --- /dev/null +++ b/src/generated/resources/assets/megacells/ae2/parts/cell_dock.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "ae2:model", + "model": "megacells:part/cell_dock" + } +} diff --git a/src/generated/resources/assets/megacells/ae2/parts/decompression_module.json b/src/generated/resources/assets/megacells/ae2/parts/decompression_module.json new file mode 100644 index 00000000..c681f963 --- /dev/null +++ b/src/generated/resources/assets/megacells/ae2/parts/decompression_module.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "ae2:model", + "model": "megacells:part/decompression_module" + } +} diff --git a/src/generated/resources/assets/megacells/blockstates/16m_crafting_storage.json b/src/generated/resources/assets/megacells/blockstates/16m_crafting_storage.json index 4d7c9070..834eb021 100644 --- a/src/generated/resources/assets/megacells/blockstates/16m_crafting_storage.json +++ b/src/generated/resources/assets/megacells/blockstates/16m_crafting_storage.json @@ -4,7 +4,8 @@ "model": "megacells:block/crafting/16m_storage" }, "formed=true": { - "model": "megacells:block/crafting/16m_storage_formed" + "type": "megacells:crafting_cube", + "unit_type": "16m_storage" } } -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/megacells/blockstates/1m_crafting_storage.json b/src/generated/resources/assets/megacells/blockstates/1m_crafting_storage.json index 40f2e492..72075d23 100644 --- a/src/generated/resources/assets/megacells/blockstates/1m_crafting_storage.json +++ b/src/generated/resources/assets/megacells/blockstates/1m_crafting_storage.json @@ -4,7 +4,8 @@ "model": "megacells:block/crafting/1m_storage" }, "formed=true": { - "model": "megacells:block/crafting/1m_storage_formed" + "type": "megacells:crafting_cube", + "unit_type": "1m_storage" } } -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/megacells/blockstates/256m_crafting_storage.json b/src/generated/resources/assets/megacells/blockstates/256m_crafting_storage.json index d5162a35..7c8f470b 100644 --- a/src/generated/resources/assets/megacells/blockstates/256m_crafting_storage.json +++ b/src/generated/resources/assets/megacells/blockstates/256m_crafting_storage.json @@ -4,7 +4,8 @@ "model": "megacells:block/crafting/256m_storage" }, "formed=true": { - "model": "megacells:block/crafting/256m_storage_formed" + "type": "megacells:crafting_cube", + "unit_type": "256m_storage" } } -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/megacells/blockstates/4m_crafting_storage.json b/src/generated/resources/assets/megacells/blockstates/4m_crafting_storage.json index 216b5589..7b0c8832 100644 --- a/src/generated/resources/assets/megacells/blockstates/4m_crafting_storage.json +++ b/src/generated/resources/assets/megacells/blockstates/4m_crafting_storage.json @@ -4,7 +4,8 @@ "model": "megacells:block/crafting/4m_storage" }, "formed=true": { - "model": "megacells:block/crafting/4m_storage_formed" + "type": "megacells:crafting_cube", + "unit_type": "4m_storage" } } -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/megacells/blockstates/64m_crafting_storage.json b/src/generated/resources/assets/megacells/blockstates/64m_crafting_storage.json index b7e2d412..0ce4776e 100644 --- a/src/generated/resources/assets/megacells/blockstates/64m_crafting_storage.json +++ b/src/generated/resources/assets/megacells/blockstates/64m_crafting_storage.json @@ -4,7 +4,8 @@ "model": "megacells:block/crafting/64m_storage" }, "formed=true": { - "model": "megacells:block/crafting/64m_storage_formed" + "type": "megacells:crafting_cube", + "unit_type": "64m_storage" } } -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/megacells/blockstates/mega_crafting_accelerator.json b/src/generated/resources/assets/megacells/blockstates/mega_crafting_accelerator.json index 9be613b4..3ec82637 100644 --- a/src/generated/resources/assets/megacells/blockstates/mega_crafting_accelerator.json +++ b/src/generated/resources/assets/megacells/blockstates/mega_crafting_accelerator.json @@ -4,7 +4,8 @@ "model": "megacells:block/crafting/accelerator" }, "formed=true": { - "model": "megacells:block/crafting/accelerator_formed" + "type": "megacells:crafting_cube", + "unit_type": "accelerator" } } -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/megacells/blockstates/mega_crafting_monitor.json b/src/generated/resources/assets/megacells/blockstates/mega_crafting_monitor.json index ac017d11..a2c40094 100644 --- a/src/generated/resources/assets/megacells/blockstates/mega_crafting_monitor.json +++ b/src/generated/resources/assets/megacells/blockstates/mega_crafting_monitor.json @@ -5,27 +5,31 @@ "x": 90 }, "facing=down,formed=true": { - "model": "megacells:block/crafting/monitor_formed" + "type": "megacells:crafting_cube", + "unit_type": "monitor" }, "facing=east,formed=false": { "model": "megacells:block/crafting/monitor", "y": 90 }, "facing=east,formed=true": { - "model": "megacells:block/crafting/monitor_formed" + "type": "megacells:crafting_cube", + "unit_type": "monitor" }, "facing=north,formed=false": { "model": "megacells:block/crafting/monitor" }, "facing=north,formed=true": { - "model": "megacells:block/crafting/monitor_formed" + "type": "megacells:crafting_cube", + "unit_type": "monitor" }, "facing=south,formed=false": { "model": "megacells:block/crafting/monitor", "y": 180 }, "facing=south,formed=true": { - "model": "megacells:block/crafting/monitor_formed" + "type": "megacells:crafting_cube", + "unit_type": "monitor" }, "facing=up,formed=false": { "ae2:z": 180, @@ -33,14 +37,16 @@ "x": 270 }, "facing=up,formed=true": { - "model": "megacells:block/crafting/monitor_formed" + "type": "megacells:crafting_cube", + "unit_type": "monitor" }, "facing=west,formed=false": { "model": "megacells:block/crafting/monitor", "y": 270 }, "facing=west,formed=true": { - "model": "megacells:block/crafting/monitor_formed" + "type": "megacells:crafting_cube", + "unit_type": "monitor" } } -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/megacells/blockstates/mega_crafting_unit.json b/src/generated/resources/assets/megacells/blockstates/mega_crafting_unit.json index 79d82617..ecf33afa 100644 --- a/src/generated/resources/assets/megacells/blockstates/mega_crafting_unit.json +++ b/src/generated/resources/assets/megacells/blockstates/mega_crafting_unit.json @@ -4,7 +4,8 @@ "model": "megacells:block/crafting/unit" }, "formed=true": { - "model": "megacells:block/crafting/unit_formed" + "type": "megacells:crafting_cube", + "unit_type": "unit" } } -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/megacells/items/16m_crafting_storage.json b/src/generated/resources/assets/megacells/items/16m_crafting_storage.json new file mode 100644 index 00000000..f6788940 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/16m_crafting_storage.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/16m_crafting_storage" + } +} diff --git a/src/generated/resources/assets/megacells/items/1m_crafting_storage.json b/src/generated/resources/assets/megacells/items/1m_crafting_storage.json new file mode 100644 index 00000000..618ad63e --- /dev/null +++ b/src/generated/resources/assets/megacells/items/1m_crafting_storage.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/1m_crafting_storage" + } +} diff --git a/src/generated/resources/assets/megacells/items/256m_crafting_storage.json b/src/generated/resources/assets/megacells/items/256m_crafting_storage.json new file mode 100644 index 00000000..5ee741c3 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/256m_crafting_storage.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/256m_crafting_storage" + } +} diff --git a/src/generated/resources/assets/megacells/items/4m_crafting_storage.json b/src/generated/resources/assets/megacells/items/4m_crafting_storage.json new file mode 100644 index 00000000..b27eebe2 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/4m_crafting_storage.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/4m_crafting_storage" + } +} diff --git a/src/generated/resources/assets/megacells/items/64m_crafting_storage.json b/src/generated/resources/assets/megacells/items/64m_crafting_storage.json new file mode 100644 index 00000000..4478fbb6 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/64m_crafting_storage.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/64m_crafting_storage" + } +} diff --git a/src/generated/resources/assets/megacells/items/accumulation_processor.json b/src/generated/resources/assets/megacells/items/accumulation_processor.json new file mode 100644 index 00000000..c209a8a7 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/accumulation_processor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/accumulation_processor" + } +} diff --git a/src/generated/resources/assets/megacells/items/accumulation_processor_press.json b/src/generated/resources/assets/megacells/items/accumulation_processor_press.json new file mode 100644 index 00000000..ea541a04 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/accumulation_processor_press.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/accumulation_processor_press" + } +} diff --git a/src/generated/resources/assets/megacells/items/bulk_cell_component.json b/src/generated/resources/assets/megacells/items/bulk_cell_component.json new file mode 100644 index 00000000..c52c8bc1 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/bulk_cell_component.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/bulk_cell_component" + } +} diff --git a/src/generated/resources/assets/megacells/items/bulk_item_cell.json b/src/generated/resources/assets/megacells/items/bulk_item_cell.json new file mode 100644 index 00000000..5b2a5347 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/bulk_item_cell.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/bulk_item_cell", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/cable_mega_emc_interface.json b/src/generated/resources/assets/megacells/items/cable_mega_emc_interface.json new file mode 100644 index 00000000..9a9376ae --- /dev/null +++ b/src/generated/resources/assets/megacells/items/cable_mega_emc_interface.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/cable_mega_emc_interface" + } +} diff --git a/src/generated/resources/assets/megacells/items/cable_mega_interface.json b/src/generated/resources/assets/megacells/items/cable_mega_interface.json new file mode 100644 index 00000000..4391a744 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/cable_mega_interface.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/cable_mega_interface" + } +} diff --git a/src/generated/resources/assets/megacells/items/cable_mega_pattern_provider.json b/src/generated/resources/assets/megacells/items/cable_mega_pattern_provider.json new file mode 100644 index 00000000..3ca913f7 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/cable_mega_pattern_provider.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/cable_mega_pattern_provider" + } +} diff --git a/src/generated/resources/assets/megacells/items/cell_component_16m.json b/src/generated/resources/assets/megacells/items/cell_component_16m.json new file mode 100644 index 00000000..40872583 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/cell_component_16m.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/cell_component_16m" + } +} diff --git a/src/generated/resources/assets/megacells/items/cell_component_1m.json b/src/generated/resources/assets/megacells/items/cell_component_1m.json new file mode 100644 index 00000000..8135d065 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/cell_component_1m.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/cell_component_1m" + } +} diff --git a/src/generated/resources/assets/megacells/items/cell_component_256m.json b/src/generated/resources/assets/megacells/items/cell_component_256m.json new file mode 100644 index 00000000..4009e357 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/cell_component_256m.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/cell_component_256m" + } +} diff --git a/src/generated/resources/assets/megacells/items/cell_component_4m.json b/src/generated/resources/assets/megacells/items/cell_component_4m.json new file mode 100644 index 00000000..9835cce3 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/cell_component_4m.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/cell_component_4m" + } +} diff --git a/src/generated/resources/assets/megacells/items/cell_component_64m.json b/src/generated/resources/assets/megacells/items/cell_component_64m.json new file mode 100644 index 00000000..089a6f49 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/cell_component_64m.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/cell_component_64m" + } +} diff --git a/src/generated/resources/assets/megacells/items/cell_dock.json b/src/generated/resources/assets/megacells/items/cell_dock.json new file mode 100644 index 00000000..8f670494 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/cell_dock.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/cell_dock" + } +} diff --git a/src/generated/resources/assets/megacells/items/chemical_storage_cell_16m.json b/src/generated/resources/assets/megacells/items/chemical_storage_cell_16m.json new file mode 100644 index 00000000..7edeb965 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/chemical_storage_cell_16m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/chemical_storage_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/chemical_storage_cell_1m.json b/src/generated/resources/assets/megacells/items/chemical_storage_cell_1m.json new file mode 100644 index 00000000..a0dd6923 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/chemical_storage_cell_1m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/chemical_storage_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/chemical_storage_cell_256m.json b/src/generated/resources/assets/megacells/items/chemical_storage_cell_256m.json new file mode 100644 index 00000000..1d1fa8b4 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/chemical_storage_cell_256m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/chemical_storage_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/chemical_storage_cell_4m.json b/src/generated/resources/assets/megacells/items/chemical_storage_cell_4m.json new file mode 100644 index 00000000..19b1fa2f --- /dev/null +++ b/src/generated/resources/assets/megacells/items/chemical_storage_cell_4m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/chemical_storage_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/chemical_storage_cell_64m.json b/src/generated/resources/assets/megacells/items/chemical_storage_cell_64m.json new file mode 100644 index 00000000..7b5c116d --- /dev/null +++ b/src/generated/resources/assets/megacells/items/chemical_storage_cell_64m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/chemical_storage_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/compression_card.json b/src/generated/resources/assets/megacells/items/compression_card.json new file mode 100644 index 00000000..d0cc68e6 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/compression_card.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/compression_card" + } +} diff --git a/src/generated/resources/assets/megacells/items/decompression_module.json b/src/generated/resources/assets/megacells/items/decompression_module.json new file mode 100644 index 00000000..c5aaf893 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/decompression_module.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/decompression_module" + } +} diff --git a/src/generated/resources/assets/megacells/items/experience_storage_cell_16m.json b/src/generated/resources/assets/megacells/items/experience_storage_cell_16m.json new file mode 100644 index 00000000..e9ca72ef --- /dev/null +++ b/src/generated/resources/assets/megacells/items/experience_storage_cell_16m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/experience_storage_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/experience_storage_cell_1m.json b/src/generated/resources/assets/megacells/items/experience_storage_cell_1m.json new file mode 100644 index 00000000..79b22d1d --- /dev/null +++ b/src/generated/resources/assets/megacells/items/experience_storage_cell_1m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/experience_storage_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/experience_storage_cell_256m.json b/src/generated/resources/assets/megacells/items/experience_storage_cell_256m.json new file mode 100644 index 00000000..b8e41cb0 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/experience_storage_cell_256m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/experience_storage_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/experience_storage_cell_4m.json b/src/generated/resources/assets/megacells/items/experience_storage_cell_4m.json new file mode 100644 index 00000000..2ba8d817 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/experience_storage_cell_4m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/experience_storage_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/experience_storage_cell_64m.json b/src/generated/resources/assets/megacells/items/experience_storage_cell_64m.json new file mode 100644 index 00000000..d1b79da6 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/experience_storage_cell_64m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/experience_storage_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/fluid_storage_cell_16m.json b/src/generated/resources/assets/megacells/items/fluid_storage_cell_16m.json new file mode 100644 index 00000000..1b70f17f --- /dev/null +++ b/src/generated/resources/assets/megacells/items/fluid_storage_cell_16m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/fluid_storage_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/fluid_storage_cell_1m.json b/src/generated/resources/assets/megacells/items/fluid_storage_cell_1m.json new file mode 100644 index 00000000..d676719b --- /dev/null +++ b/src/generated/resources/assets/megacells/items/fluid_storage_cell_1m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/fluid_storage_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/fluid_storage_cell_256m.json b/src/generated/resources/assets/megacells/items/fluid_storage_cell_256m.json new file mode 100644 index 00000000..62366ae0 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/fluid_storage_cell_256m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/fluid_storage_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/fluid_storage_cell_4m.json b/src/generated/resources/assets/megacells/items/fluid_storage_cell_4m.json new file mode 100644 index 00000000..f11218e8 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/fluid_storage_cell_4m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/fluid_storage_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/fluid_storage_cell_64m.json b/src/generated/resources/assets/megacells/items/fluid_storage_cell_64m.json new file mode 100644 index 00000000..2ea73a74 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/fluid_storage_cell_64m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/fluid_storage_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/greater_energy_card.json b/src/generated/resources/assets/megacells/items/greater_energy_card.json new file mode 100644 index 00000000..f23df978 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/greater_energy_card.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/greater_energy_card" + } +} diff --git a/src/generated/resources/assets/megacells/items/item_storage_cell_16m.json b/src/generated/resources/assets/megacells/items/item_storage_cell_16m.json new file mode 100644 index 00000000..a4ee3883 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/item_storage_cell_16m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/item_storage_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/item_storage_cell_1m.json b/src/generated/resources/assets/megacells/items/item_storage_cell_1m.json new file mode 100644 index 00000000..1bcb0fd5 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/item_storage_cell_1m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/item_storage_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/item_storage_cell_256m.json b/src/generated/resources/assets/megacells/items/item_storage_cell_256m.json new file mode 100644 index 00000000..34861aac --- /dev/null +++ b/src/generated/resources/assets/megacells/items/item_storage_cell_256m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/item_storage_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/item_storage_cell_4m.json b/src/generated/resources/assets/megacells/items/item_storage_cell_4m.json new file mode 100644 index 00000000..7dcb11e8 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/item_storage_cell_4m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/item_storage_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/item_storage_cell_64m.json b/src/generated/resources/assets/megacells/items/item_storage_cell_64m.json new file mode 100644 index 00000000..62685b54 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/item_storage_cell_64m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/item_storage_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/mana_storage_cell_16m.json b/src/generated/resources/assets/megacells/items/mana_storage_cell_16m.json new file mode 100644 index 00000000..ff4c0e40 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mana_storage_cell_16m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mana_storage_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/mana_storage_cell_1m.json b/src/generated/resources/assets/megacells/items/mana_storage_cell_1m.json new file mode 100644 index 00000000..f1cc5208 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mana_storage_cell_1m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mana_storage_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/mana_storage_cell_256m.json b/src/generated/resources/assets/megacells/items/mana_storage_cell_256m.json new file mode 100644 index 00000000..aef2bccc --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mana_storage_cell_256m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mana_storage_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/mana_storage_cell_4m.json b/src/generated/resources/assets/megacells/items/mana_storage_cell_4m.json new file mode 100644 index 00000000..b4729def --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mana_storage_cell_4m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mana_storage_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/mana_storage_cell_64m.json b/src/generated/resources/assets/megacells/items/mana_storage_cell_64m.json new file mode 100644 index 00000000..96c858c2 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mana_storage_cell_64m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mana_storage_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_chemical_cell_housing.json b/src/generated/resources/assets/megacells/items/mega_chemical_cell_housing.json new file mode 100644 index 00000000..4c6f3a0d --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_chemical_cell_housing.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_chemical_cell_housing" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_crafting_accelerator.json b/src/generated/resources/assets/megacells/items/mega_crafting_accelerator.json new file mode 100644 index 00000000..1b754014 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_crafting_accelerator.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_crafting_accelerator" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_crafting_monitor.json b/src/generated/resources/assets/megacells/items/mega_crafting_monitor.json new file mode 100644 index 00000000..c8890277 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_crafting_monitor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_crafting_monitor" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_crafting_unit.json b/src/generated/resources/assets/megacells/items/mega_crafting_unit.json new file mode 100644 index 00000000..6f9efcb0 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_crafting_unit.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_crafting_unit" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_emc_interface.json b/src/generated/resources/assets/megacells/items/mega_emc_interface.json new file mode 100644 index 00000000..af325d19 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_emc_interface.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_emc_interface" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_energy_cell.json b/src/generated/resources/assets/megacells/items/mega_energy_cell.json new file mode 100644 index 00000000..fd006ccc --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_energy_cell.json @@ -0,0 +1,40 @@ +{ + "model": { + "type": "minecraft:range_dispatch", + "property": "ae2:energy_fill_level", + "fallback": { + "type": "minecraft:model", + "model": "megacells:block/mega_energy_cell_0" + }, + "entries": [ + { + "threshold": 0.2, + "model": { + "type": "minecraft:model", + "model": "megacells:block/mega_energy_cell_1" + } + }, + { + "threshold": 0.4, + "model": { + "type": "minecraft:model", + "model": "megacells:block/mega_energy_cell_2" + } + }, + { + "threshold": 0.6, + "model": { + "type": "minecraft:model", + "model": "megacells:block/mega_energy_cell_3" + } + }, + { + "threshold": 0.8, + "model": { + "type": "minecraft:model", + "model": "megacells:block/mega_energy_cell_4" + } + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_experience_cell_housing.json b/src/generated/resources/assets/megacells/items/mega_experience_cell_housing.json new file mode 100644 index 00000000..c5df89a8 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_experience_cell_housing.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_experience_cell_housing" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_fluid_cell_housing.json b/src/generated/resources/assets/megacells/items/mega_fluid_cell_housing.json new file mode 100644 index 00000000..c132f8b9 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_fluid_cell_housing.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_fluid_cell_housing" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_interface.json b/src/generated/resources/assets/megacells/items/mega_interface.json new file mode 100644 index 00000000..26918317 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_interface.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_interface" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_item_cell_housing.json b/src/generated/resources/assets/megacells/items/mega_item_cell_housing.json new file mode 100644 index 00000000..4ae31620 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_item_cell_housing.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_item_cell_housing" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_mana_cell_housing.json b/src/generated/resources/assets/megacells/items/mega_mana_cell_housing.json new file mode 100644 index 00000000..937fc213 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_mana_cell_housing.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_mana_cell_housing" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_pattern_provider.json b/src/generated/resources/assets/megacells/items/mega_pattern_provider.json new file mode 100644 index 00000000..b263d41f --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_pattern_provider.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_pattern_provider" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_soul_cell_housing.json b/src/generated/resources/assets/megacells/items/mega_soul_cell_housing.json new file mode 100644 index 00000000..24aa2c1a --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_soul_cell_housing.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_soul_cell_housing" + } +} diff --git a/src/generated/resources/assets/megacells/items/mega_source_cell_housing.json b/src/generated/resources/assets/megacells/items/mega_source_cell_housing.json new file mode 100644 index 00000000..ce31cc1c --- /dev/null +++ b/src/generated/resources/assets/megacells/items/mega_source_cell_housing.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/mega_source_cell_housing" + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_cell_workbench.json b/src/generated/resources/assets/megacells/items/portable_cell_workbench.json new file mode 100644 index 00000000..1ee41c43 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_cell_workbench.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_cell_workbench" + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_chemical_cell_16m.json b/src/generated/resources/assets/megacells/items/portable_chemical_cell_16m.json new file mode 100644 index 00000000..bf47c23d --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_chemical_cell_16m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_chemical_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_chemical_cell_1m.json b/src/generated/resources/assets/megacells/items/portable_chemical_cell_1m.json new file mode 100644 index 00000000..8c44a987 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_chemical_cell_1m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_chemical_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_chemical_cell_256m.json b/src/generated/resources/assets/megacells/items/portable_chemical_cell_256m.json new file mode 100644 index 00000000..43aa2821 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_chemical_cell_256m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_chemical_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_chemical_cell_4m.json b/src/generated/resources/assets/megacells/items/portable_chemical_cell_4m.json new file mode 100644 index 00000000..a475ea26 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_chemical_cell_4m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_chemical_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_chemical_cell_64m.json b/src/generated/resources/assets/megacells/items/portable_chemical_cell_64m.json new file mode 100644 index 00000000..5a014dbe --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_chemical_cell_64m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_chemical_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_experience_cell_16m.json b/src/generated/resources/assets/megacells/items/portable_experience_cell_16m.json new file mode 100644 index 00000000..2db64174 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_experience_cell_16m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_experience_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_experience_cell_1m.json b/src/generated/resources/assets/megacells/items/portable_experience_cell_1m.json new file mode 100644 index 00000000..c04f7e1b --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_experience_cell_1m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_experience_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_experience_cell_256m.json b/src/generated/resources/assets/megacells/items/portable_experience_cell_256m.json new file mode 100644 index 00000000..86b90cea --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_experience_cell_256m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_experience_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_experience_cell_4m.json b/src/generated/resources/assets/megacells/items/portable_experience_cell_4m.json new file mode 100644 index 00000000..3c9e3342 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_experience_cell_4m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_experience_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_experience_cell_64m.json b/src/generated/resources/assets/megacells/items/portable_experience_cell_64m.json new file mode 100644 index 00000000..e4a1f574 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_experience_cell_64m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_experience_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_fluid_cell_16m.json b/src/generated/resources/assets/megacells/items/portable_fluid_cell_16m.json new file mode 100644 index 00000000..f9664d50 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_fluid_cell_16m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_fluid_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_fluid_cell_1m.json b/src/generated/resources/assets/megacells/items/portable_fluid_cell_1m.json new file mode 100644 index 00000000..e4d8fc43 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_fluid_cell_1m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_fluid_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_fluid_cell_256m.json b/src/generated/resources/assets/megacells/items/portable_fluid_cell_256m.json new file mode 100644 index 00000000..a37820f9 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_fluid_cell_256m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_fluid_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_fluid_cell_4m.json b/src/generated/resources/assets/megacells/items/portable_fluid_cell_4m.json new file mode 100644 index 00000000..b80367fd --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_fluid_cell_4m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_fluid_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_fluid_cell_64m.json b/src/generated/resources/assets/megacells/items/portable_fluid_cell_64m.json new file mode 100644 index 00000000..414b3586 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_fluid_cell_64m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_fluid_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_item_cell_16m.json b/src/generated/resources/assets/megacells/items/portable_item_cell_16m.json new file mode 100644 index 00000000..33d7c80c --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_item_cell_16m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_item_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_item_cell_1m.json b/src/generated/resources/assets/megacells/items/portable_item_cell_1m.json new file mode 100644 index 00000000..32ecd171 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_item_cell_1m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_item_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_item_cell_256m.json b/src/generated/resources/assets/megacells/items/portable_item_cell_256m.json new file mode 100644 index 00000000..31f4c457 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_item_cell_256m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_item_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_item_cell_4m.json b/src/generated/resources/assets/megacells/items/portable_item_cell_4m.json new file mode 100644 index 00000000..2b70ec79 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_item_cell_4m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_item_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_item_cell_64m.json b/src/generated/resources/assets/megacells/items/portable_item_cell_64m.json new file mode 100644 index 00000000..d06f8659 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_item_cell_64m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_item_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_mana_cell_16m.json b/src/generated/resources/assets/megacells/items/portable_mana_cell_16m.json new file mode 100644 index 00000000..46f8ab43 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_mana_cell_16m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_mana_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_mana_cell_1m.json b/src/generated/resources/assets/megacells/items/portable_mana_cell_1m.json new file mode 100644 index 00000000..bcefcc79 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_mana_cell_1m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_mana_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_mana_cell_256m.json b/src/generated/resources/assets/megacells/items/portable_mana_cell_256m.json new file mode 100644 index 00000000..0aba7fc2 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_mana_cell_256m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_mana_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_mana_cell_4m.json b/src/generated/resources/assets/megacells/items/portable_mana_cell_4m.json new file mode 100644 index 00000000..724aca7e --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_mana_cell_4m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_mana_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_mana_cell_64m.json b/src/generated/resources/assets/megacells/items/portable_mana_cell_64m.json new file mode 100644 index 00000000..85cfa21a --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_mana_cell_64m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_mana_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_source_cell_16m.json b/src/generated/resources/assets/megacells/items/portable_source_cell_16m.json new file mode 100644 index 00000000..5e319cad --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_source_cell_16m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_source_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_source_cell_1m.json b/src/generated/resources/assets/megacells/items/portable_source_cell_1m.json new file mode 100644 index 00000000..a3e16c91 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_source_cell_1m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_source_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_source_cell_256m.json b/src/generated/resources/assets/megacells/items/portable_source_cell_256m.json new file mode 100644 index 00000000..cecbeb2b --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_source_cell_256m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_source_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_source_cell_4m.json b/src/generated/resources/assets/megacells/items/portable_source_cell_4m.json new file mode 100644 index 00000000..3737d597 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_source_cell_4m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_source_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/portable_source_cell_64m.json b/src/generated/resources/assets/megacells/items/portable_source_cell_64m.json new file mode 100644 index 00000000..bd00fad7 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/portable_source_cell_64m.json @@ -0,0 +1,18 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/portable_source_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + }, + { + "type": "ae2:portable_cell_color" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/printed_accumulation_processor.json b/src/generated/resources/assets/megacells/items/printed_accumulation_processor.json new file mode 100644 index 00000000..f5e281a7 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/printed_accumulation_processor.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/printed_accumulation_processor" + } +} diff --git a/src/generated/resources/assets/megacells/items/radioactive_cell_component.json b/src/generated/resources/assets/megacells/items/radioactive_cell_component.json new file mode 100644 index 00000000..1513d91c --- /dev/null +++ b/src/generated/resources/assets/megacells/items/radioactive_cell_component.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/radioactive_cell_component" + } +} diff --git a/src/generated/resources/assets/megacells/items/radioactive_chemical_cell.json b/src/generated/resources/assets/megacells/items/radioactive_chemical_cell.json new file mode 100644 index 00000000..9e366781 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/radioactive_chemical_cell.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/radioactive_chemical_cell", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/sky_bronze_block.json b/src/generated/resources/assets/megacells/items/sky_bronze_block.json new file mode 100644 index 00000000..997a27f5 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/sky_bronze_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/sky_bronze_block" + } +} diff --git a/src/generated/resources/assets/megacells/items/sky_bronze_ingot.json b/src/generated/resources/assets/megacells/items/sky_bronze_ingot.json new file mode 100644 index 00000000..bde12969 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/sky_bronze_ingot.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/sky_bronze_ingot" + } +} diff --git a/src/generated/resources/assets/megacells/items/sky_osmium_block.json b/src/generated/resources/assets/megacells/items/sky_osmium_block.json new file mode 100644 index 00000000..6aed10f4 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/sky_osmium_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/sky_osmium_block" + } +} diff --git a/src/generated/resources/assets/megacells/items/sky_osmium_ingot.json b/src/generated/resources/assets/megacells/items/sky_osmium_ingot.json new file mode 100644 index 00000000..bf0023a1 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/sky_osmium_ingot.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/sky_osmium_ingot" + } +} diff --git a/src/generated/resources/assets/megacells/items/sky_steel_block.json b/src/generated/resources/assets/megacells/items/sky_steel_block.json new file mode 100644 index 00000000..4ab9e0b6 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/sky_steel_block.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/sky_steel_block" + } +} diff --git a/src/generated/resources/assets/megacells/items/sky_steel_ingot.json b/src/generated/resources/assets/megacells/items/sky_steel_ingot.json new file mode 100644 index 00000000..b8c37268 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/sky_steel_ingot.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/sky_steel_ingot" + } +} diff --git a/src/generated/resources/assets/megacells/items/soul_storage_cell_16m.json b/src/generated/resources/assets/megacells/items/soul_storage_cell_16m.json new file mode 100644 index 00000000..9c02eed0 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/soul_storage_cell_16m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/soul_storage_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/soul_storage_cell_1m.json b/src/generated/resources/assets/megacells/items/soul_storage_cell_1m.json new file mode 100644 index 00000000..9c8e2a4f --- /dev/null +++ b/src/generated/resources/assets/megacells/items/soul_storage_cell_1m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/soul_storage_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/soul_storage_cell_256m.json b/src/generated/resources/assets/megacells/items/soul_storage_cell_256m.json new file mode 100644 index 00000000..1654d2fd --- /dev/null +++ b/src/generated/resources/assets/megacells/items/soul_storage_cell_256m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/soul_storage_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/soul_storage_cell_4m.json b/src/generated/resources/assets/megacells/items/soul_storage_cell_4m.json new file mode 100644 index 00000000..6a5d1197 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/soul_storage_cell_4m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/soul_storage_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/soul_storage_cell_64m.json b/src/generated/resources/assets/megacells/items/soul_storage_cell_64m.json new file mode 100644 index 00000000..192e0153 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/soul_storage_cell_64m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/soul_storage_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/source_storage_cell_16m.json b/src/generated/resources/assets/megacells/items/source_storage_cell_16m.json new file mode 100644 index 00000000..f8e00747 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/source_storage_cell_16m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/source_storage_cell_16m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/source_storage_cell_1m.json b/src/generated/resources/assets/megacells/items/source_storage_cell_1m.json new file mode 100644 index 00000000..7f4589bb --- /dev/null +++ b/src/generated/resources/assets/megacells/items/source_storage_cell_1m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/source_storage_cell_1m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/source_storage_cell_256m.json b/src/generated/resources/assets/megacells/items/source_storage_cell_256m.json new file mode 100644 index 00000000..3ff89267 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/source_storage_cell_256m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/source_storage_cell_256m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/source_storage_cell_4m.json b/src/generated/resources/assets/megacells/items/source_storage_cell_4m.json new file mode 100644 index 00000000..318943f0 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/source_storage_cell_4m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/source_storage_cell_4m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/items/source_storage_cell_64m.json b/src/generated/resources/assets/megacells/items/source_storage_cell_64m.json new file mode 100644 index 00000000..71bc81b2 --- /dev/null +++ b/src/generated/resources/assets/megacells/items/source_storage_cell_64m.json @@ -0,0 +1,15 @@ +{ + "model": { + "type": "minecraft:model", + "model": "megacells:item/source_storage_cell_64m", + "tints": [ + { + "type": "minecraft:constant", + "value": -1 + }, + { + "type": "ae2:storage_cell_state" + } + ] + } +} diff --git a/src/generated/resources/assets/megacells/models/item/mega_energy_cell.json b/src/generated/resources/assets/megacells/models/item/mega_energy_cell.json index 11d4236a..ef11331d 100644 --- a/src/generated/resources/assets/megacells/models/item/mega_energy_cell.json +++ b/src/generated/resources/assets/megacells/models/item/mega_energy_cell.json @@ -1,29 +1,3 @@ { - "parent": "megacells:block/mega_energy_cell_0", - "overrides": [ - { - "model": "megacells:block/mega_energy_cell_1", - "predicate": { - "ae2:fill_level": 0.2 - } - }, - { - "model": "megacells:block/mega_energy_cell_2", - "predicate": { - "ae2:fill_level": 0.4 - } - }, - { - "model": "megacells:block/mega_energy_cell_3", - "predicate": { - "ae2:fill_level": 0.6 - } - }, - { - "model": "megacells:block/mega_energy_cell_4", - "predicate": { - "ae2:fill_level": 0.8 - } - } - ] -} \ No newline at end of file + "parent": "megacells:block/mega_energy_cell_0" +} diff --git a/src/generated/resources/data/megacells/recipe/cells/cell_component_16m.json b/src/generated/resources/data/megacells/recipe/cells/cell_component_16m.json index 693837a4..4bd7682f 100644 --- a/src/generated/resources/data/megacells/recipe/cells/cell_component_16m.json +++ b/src/generated/resources/data/megacells/recipe/cells/cell_component_16m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "tag": "c:dusts/ender_pearl" - }, - "b": { - "item": "megacells:accumulation_processor" - }, - "c": { - "item": "megacells:cell_component_4m" - }, - "d": { - "item": "ae2:quartz_vibrant_glass" - } + "a": "#c:dusts/ender_pearl", + "b": "megacells:accumulation_processor", + "c": "megacells:cell_component_4m", + "d": "ae2:quartz_vibrant_glass" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:cell_component_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/cell_component_1m.json b/src/generated/resources/data/megacells/recipe/cells/cell_component_1m.json index 93237931..a15936cf 100644 --- a/src/generated/resources/data/megacells/recipe/cells/cell_component_1m.json +++ b/src/generated/resources/data/megacells/recipe/cells/cell_component_1m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:sky_dust" - }, - "b": { - "item": "megacells:accumulation_processor" - }, - "c": { - "item": "ae2:cell_component_256k" - }, - "d": { - "item": "ae2:quartz_vibrant_glass" - } + "a": "ae2:sky_dust", + "b": "megacells:accumulation_processor", + "c": "ae2:cell_component_256k", + "d": "ae2:quartz_vibrant_glass" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:cell_component_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/cell_component_256m.json b/src/generated/resources/data/megacells/recipe/cells/cell_component_256m.json index aaf82f3d..f443e187 100644 --- a/src/generated/resources/data/megacells/recipe/cells/cell_component_256m.json +++ b/src/generated/resources/data/megacells/recipe/cells/cell_component_256m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:matter_ball" - }, - "b": { - "item": "megacells:accumulation_processor" - }, - "c": { - "item": "megacells:cell_component_64m" - }, - "d": { - "item": "ae2:quartz_vibrant_glass" - } + "a": "ae2:matter_ball", + "b": "megacells:accumulation_processor", + "c": "megacells:cell_component_64m", + "d": "ae2:quartz_vibrant_glass" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:cell_component_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/cell_component_4m.json b/src/generated/resources/data/megacells/recipe/cells/cell_component_4m.json index 02546cbc..e9d18353 100644 --- a/src/generated/resources/data/megacells/recipe/cells/cell_component_4m.json +++ b/src/generated/resources/data/megacells/recipe/cells/cell_component_4m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "tag": "c:dusts/ender_pearl" - }, - "b": { - "item": "megacells:accumulation_processor" - }, - "c": { - "item": "megacells:cell_component_1m" - }, - "d": { - "item": "ae2:quartz_vibrant_glass" - } + "a": "#c:dusts/ender_pearl", + "b": "megacells:accumulation_processor", + "c": "megacells:cell_component_1m", + "d": "ae2:quartz_vibrant_glass" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:cell_component_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/cell_component_64m.json b/src/generated/resources/data/megacells/recipe/cells/cell_component_64m.json index 62839ab2..3e007dac 100644 --- a/src/generated/resources/data/megacells/recipe/cells/cell_component_64m.json +++ b/src/generated/resources/data/megacells/recipe/cells/cell_component_64m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:matter_ball" - }, - "b": { - "item": "megacells:accumulation_processor" - }, - "c": { - "item": "megacells:cell_component_16m" - }, - "d": { - "item": "ae2:quartz_vibrant_glass" - } + "a": "ae2:matter_ball", + "b": "megacells:accumulation_processor", + "c": "megacells:cell_component_16m", + "d": "ae2:quartz_vibrant_glass" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:cell_component_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/mega_chemical_cell_housing.json b/src/generated/resources/data/megacells/recipe/cells/mega_chemical_cell_housing.json index a15cfe01..c0ecb77e 100644 --- a/src/generated/resources/data/megacells/recipe/cells/mega_chemical_cell_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/mega_chemical_cell_housing.json @@ -8,15 +8,9 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "d": { - "tag": "c:ingots/sky_osmium" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "d": "#c:ingots/sky_osmium" }, "pattern": [ "aba", @@ -27,4 +21,4 @@ "count": 1, "id": "megacells:mega_chemical_cell_housing" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/mega_experience_cell_housing.json b/src/generated/resources/data/megacells/recipe/cells/mega_experience_cell_housing.json index d5cde4b1..b7d7a393 100644 --- a/src/generated/resources/data/megacells/recipe/cells/mega_experience_cell_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/mega_experience_cell_housing.json @@ -8,15 +8,9 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "d": { - "item": "minecraft:experience_bottle" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "d": "minecraft:experience_bottle" }, "pattern": [ "aba", @@ -27,4 +21,4 @@ "count": 1, "id": "megacells:mega_experience_cell_housing" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/mega_fluid_cell_housing.json b/src/generated/resources/data/megacells/recipe/cells/mega_fluid_cell_housing.json index a625566e..505d0576 100644 --- a/src/generated/resources/data/megacells/recipe/cells/mega_fluid_cell_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/mega_fluid_cell_housing.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "d": { - "tag": "c:ingots/sky_bronze" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "d": "#c:ingots/sky_bronze" }, "pattern": [ "aba", @@ -21,4 +15,4 @@ "count": 1, "id": "megacells:mega_fluid_cell_housing" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/mega_item_cell_housing.json b/src/generated/resources/data/megacells/recipe/cells/mega_item_cell_housing.json index 852e12bf..bda82c2d 100644 --- a/src/generated/resources/data/megacells/recipe/cells/mega_item_cell_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/mega_item_cell_housing.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "d": { - "tag": "c:ingots/sky_steel" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "d": "#c:ingots/sky_steel" }, "pattern": [ "aba", @@ -21,4 +15,4 @@ "count": 1, "id": "megacells:mega_item_cell_housing" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/mega_source_cell_housing.json b/src/generated/resources/data/megacells/recipe/cells/mega_source_cell_housing.json index 885244be..175ffc7c 100644 --- a/src/generated/resources/data/megacells/recipe/cells/mega_source_cell_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/mega_source_cell_housing.json @@ -8,37 +8,19 @@ "type": "ars_nouveau:enchanting_apparatus", "keepNbtOfReagent": false, "pedestalItems": [ - { - "item": "ars_nouveau:manipulation_essence" - }, - { - "item": "ars_nouveau:manipulation_essence" - }, - { - "item": "ars_nouveau:manipulation_essence" - }, - { - "item": "ars_nouveau:source_gem_block" - }, - { - "item": "ars_nouveau:source_gem_block" - }, - { - "item": "megacells:sky_steel_ingot" - }, - { - "item": "megacells:sky_steel_ingot" - }, - { - "item": "megacells:sky_steel_ingot" - } + "ars_nouveau:manipulation_essence", + "ars_nouveau:manipulation_essence", + "ars_nouveau:manipulation_essence", + "ars_nouveau:source_gem_block", + "ars_nouveau:source_gem_block", + "megacells:sky_steel_ingot", + "megacells:sky_steel_ingot", + "megacells:sky_steel_ingot" ], - "reagent": { - "item": "arseng:source_cell_housing" - }, + "reagent": "arseng:source_cell_housing", "result": { "count": 1, "id": "megacells:mega_source_cell_housing" }, "sourceCost": 2000 -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_16m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_16m.json index 8e3e1153..6cb5547e 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_16m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_16m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_16m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_chemical_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_16m", + "ae2:dense_energy_cell", + "megacells:mega_chemical_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_chemical_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_16m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_16m_disassembly.json index f9f8b0c0..8e03ffca 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_16m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_16m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_1m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_1m.json index aeccf7dc..830aded9 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_1m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_1m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_1m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_chemical_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_1m", + "ae2:dense_energy_cell", + "megacells:mega_chemical_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_chemical_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_1m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_1m_disassembly.json index a60c90fc..08d3a7b7 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_1m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_1m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_256m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_256m.json index 53f34595..9d1498e4 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_256m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_256m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_256m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_chemical_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_256m", + "ae2:dense_energy_cell", + "megacells:mega_chemical_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_chemical_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_256m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_256m_disassembly.json index 75e946ff..1bbaefe2 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_256m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_256m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_4m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_4m.json index 202d344a..6d67f816 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_4m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_4m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_4m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_chemical_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_4m", + "ae2:dense_energy_cell", + "megacells:mega_chemical_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_chemical_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_4m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_4m_disassembly.json index 21461d0a..1b9e9dc1 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_4m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_4m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_64m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_64m.json index b78e0695..fed39262 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_64m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_64m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_64m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_chemical_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_64m", + "ae2:dense_energy_cell", + "megacells:mega_chemical_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_chemical_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_64m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_64m_disassembly.json index d00df677..1fcd3fbe 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_64m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_chemical_cell_64m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_16m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_16m.json index 4cd78570..34be98ef 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_16m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_16m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_16m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_experience_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_16m", + "ae2:dense_energy_cell", + "megacells:mega_experience_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_experience_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_16m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_16m_disassembly.json index 36389e30..92487d17 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_16m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_16m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_1m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_1m.json index 74bf52ef..7ead6c6b 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_1m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_1m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_1m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_experience_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_1m", + "ae2:dense_energy_cell", + "megacells:mega_experience_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_experience_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_1m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_1m_disassembly.json index 91fa6f1e..de27907b 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_1m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_1m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_256m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_256m.json index 76cd6031..b8181212 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_256m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_256m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_256m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_experience_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_256m", + "ae2:dense_energy_cell", + "megacells:mega_experience_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_experience_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_256m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_256m_disassembly.json index acff32a3..becff5f4 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_256m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_256m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_4m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_4m.json index d6ba6db0..0109ff74 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_4m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_4m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_4m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_experience_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_4m", + "ae2:dense_energy_cell", + "megacells:mega_experience_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_experience_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_4m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_4m_disassembly.json index 6081b850..c60427d6 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_4m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_4m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_64m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_64m.json index 322c2111..75b5ed28 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_64m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_64m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_64m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_experience_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_64m", + "ae2:dense_energy_cell", + "megacells:mega_experience_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_experience_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_64m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_64m_disassembly.json index ea0c01b3..a1e71fae 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_64m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_experience_cell_64m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_16m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_16m.json index 1f0c4e20..188bbfa8 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_16m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_16m.json @@ -2,21 +2,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_16m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_fluid_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_16m", + "ae2:dense_energy_cell", + "megacells:mega_fluid_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_fluid_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_16m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_16m_disassembly.json index 111de581..0624c00d 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_16m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_16m_disassembly.json @@ -12,11 +12,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_1m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_1m.json index 3e0055d6..c18ee94c 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_1m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_1m.json @@ -2,21 +2,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_1m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_fluid_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_1m", + "ae2:dense_energy_cell", + "megacells:mega_fluid_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_fluid_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_1m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_1m_disassembly.json index 7dc98827..32daad28 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_1m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_1m_disassembly.json @@ -12,11 +12,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_256m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_256m.json index be603bfa..c06b7205 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_256m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_256m.json @@ -2,21 +2,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_256m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_fluid_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_256m", + "ae2:dense_energy_cell", + "megacells:mega_fluid_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_fluid_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_256m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_256m_disassembly.json index 3623b09c..63fe06b0 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_256m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_256m_disassembly.json @@ -12,11 +12,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_4m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_4m.json index b0d81dc4..2e335195 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_4m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_4m.json @@ -2,21 +2,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_4m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_fluid_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_4m", + "ae2:dense_energy_cell", + "megacells:mega_fluid_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_fluid_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_4m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_4m_disassembly.json index 20fe126e..de383d73 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_4m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_4m_disassembly.json @@ -12,11 +12,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_64m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_64m.json index 0f0ba1e7..ef97ed68 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_64m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_64m.json @@ -2,21 +2,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_64m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_fluid_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_64m", + "ae2:dense_energy_cell", + "megacells:mega_fluid_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_fluid_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_64m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_64m_disassembly.json index 01f09430..6b71beda 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_64m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_fluid_cell_64m_disassembly.json @@ -12,11 +12,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_16m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_16m.json index 143bc094..e3d1f1be 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_16m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_16m.json @@ -2,21 +2,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_16m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_item_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_16m", + "ae2:dense_energy_cell", + "megacells:mega_item_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_item_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_16m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_16m_disassembly.json index cf7d4973..dddc2fbe 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_16m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_16m_disassembly.json @@ -12,11 +12,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_1m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_1m.json index 634c856c..c167b302 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_1m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_1m.json @@ -2,21 +2,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_1m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_item_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_1m", + "ae2:dense_energy_cell", + "megacells:mega_item_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_item_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_1m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_1m_disassembly.json index 590b7b2a..82cda698 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_1m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_1m_disassembly.json @@ -12,11 +12,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_256m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_256m.json index fab6fa99..4ec41f17 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_256m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_256m.json @@ -2,21 +2,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_256m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_item_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_256m", + "ae2:dense_energy_cell", + "megacells:mega_item_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_item_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_256m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_256m_disassembly.json index ca2bae57..6d3797b6 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_256m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_256m_disassembly.json @@ -12,11 +12,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_4m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_4m.json index 89e3e6ce..c42f31bf 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_4m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_4m.json @@ -2,21 +2,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_4m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_item_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_4m", + "ae2:dense_energy_cell", + "megacells:mega_item_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_item_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_4m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_4m_disassembly.json index 47dac0db..f97e3be7 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_4m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_4m_disassembly.json @@ -12,11 +12,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_64m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_64m.json index c553f208..5ee71301 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_64m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_64m.json @@ -2,21 +2,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_64m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_item_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_64m", + "ae2:dense_energy_cell", + "megacells:mega_item_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_item_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_64m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_64m_disassembly.json index 4cf52ba8..155be979 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_64m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_item_cell_64m_disassembly.json @@ -12,11 +12,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_16m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_16m.json index 6581ec59..5c644cb6 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_16m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_16m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_16m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_mana_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_16m", + "ae2:dense_energy_cell", + "megacells:mega_mana_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_mana_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_16m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_16m_disassembly.json index d32ac913..27a4d09a 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_16m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_16m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_1m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_1m.json index 723e2284..cac4e761 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_1m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_1m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_1m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_mana_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_1m", + "ae2:dense_energy_cell", + "megacells:mega_mana_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_mana_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_1m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_1m_disassembly.json index 73825b0f..8437f3fe 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_1m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_1m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_256m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_256m.json index 593e56c2..c133c5b8 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_256m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_256m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_256m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_mana_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_256m", + "ae2:dense_energy_cell", + "megacells:mega_mana_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_mana_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_256m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_256m_disassembly.json index 05105ff7..10768e3b 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_256m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_256m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_4m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_4m.json index 494483c5..18cc6f0f 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_4m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_4m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_4m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_mana_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_4m", + "ae2:dense_energy_cell", + "megacells:mega_mana_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_mana_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_4m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_4m_disassembly.json index 34e929a1..828fa2ba 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_4m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_4m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_64m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_64m.json index f89d1f13..ef4e0540 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_64m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_64m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_64m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_mana_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_64m", + "ae2:dense_energy_cell", + "megacells:mega_mana_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_mana_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_64m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_64m_disassembly.json index d4e864c5..a73da111 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_64m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_mana_cell_64m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_16m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_16m.json index 00d5cc0e..291bb8a3 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_16m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_16m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_16m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_source_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_16m", + "ae2:dense_energy_cell", + "megacells:mega_source_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_source_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_16m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_16m_disassembly.json index e31149de..d39ef7c8 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_16m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_16m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_1m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_1m.json index d74c8fe4..6cf7511a 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_1m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_1m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_1m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_source_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_1m", + "ae2:dense_energy_cell", + "megacells:mega_source_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_source_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_1m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_1m_disassembly.json index e25de38b..03d51097 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_1m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_1m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_256m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_256m.json index fd139042..89a7786c 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_256m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_256m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_256m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_source_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_256m", + "ae2:dense_energy_cell", + "megacells:mega_source_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_source_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_256m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_256m_disassembly.json index 1088536b..bcfe4ada 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_256m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_256m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_4m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_4m.json index d9b6d2fc..d429391a 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_4m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_4m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_4m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_source_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_4m", + "ae2:dense_energy_cell", + "megacells:mega_source_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_source_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_4m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_4m_disassembly.json index f7937d13..4b684d06 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_4m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_4m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_64m.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_64m.json index aeec6203..67678082 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_64m.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_64m.json @@ -8,21 +8,13 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:chest" - }, - { - "item": "megacells:cell_component_64m" - }, - { - "item": "ae2:dense_energy_cell" - }, - { - "item": "megacells:mega_source_cell_housing" - } + "ae2:me_chest", + "megacells:cell_component_64m", + "ae2:dense_energy_cell", + "megacells:mega_source_cell_housing" ], "result": { "count": 1, "id": "megacells:portable_source_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_64m_disassembly.json b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_64m_disassembly.json index e7b072b4..dfc5746f 100644 --- a/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_64m_disassembly.json +++ b/src/generated/resources/data/megacells/recipe/cells/portable/portable_source_cell_64m_disassembly.json @@ -18,11 +18,11 @@ }, { "count": 1, - "id": "ae2:chest" + "id": "ae2:me_chest" }, { "count": 1, "id": "ae2:dense_energy_cell" } ] -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/bulk_item_cell.json b/src/generated/resources/data/megacells/recipe/cells/standard/bulk_item_cell.json index 30b91ae9..8163ff25 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/bulk_item_cell.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/bulk_item_cell.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:bulk_cell_component" - }, - "d": { - "item": "minecraft:netherite_ingot" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:bulk_cell_component", + "d": "minecraft:netherite_ingot" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:bulk_item_cell" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_16m.json b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_16m.json index df68916d..217fce0e 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_16m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_16m.json @@ -8,18 +8,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_16m" - }, - "d": { - "tag": "c:ingots/sky_osmium" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_16m", + "d": "#c:ingots/sky_osmium" }, "pattern": [ "aba", @@ -30,4 +22,4 @@ "count": 1, "id": "megacells:chemical_storage_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_16m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_16m_with_housing.json index 1856860a..3ac9bfe2 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_16m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_16m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_chemical_cell_housing" - }, - { - "item": "megacells:cell_component_16m" - } + "megacells:mega_chemical_cell_housing", + "megacells:cell_component_16m" ], "result": { "count": 1, "id": "megacells:chemical_storage_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_1m.json b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_1m.json index 6cdbc2af..5e9479d3 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_1m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_1m.json @@ -8,18 +8,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_1m" - }, - "d": { - "tag": "c:ingots/sky_osmium" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_1m", + "d": "#c:ingots/sky_osmium" }, "pattern": [ "aba", @@ -30,4 +22,4 @@ "count": 1, "id": "megacells:chemical_storage_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_1m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_1m_with_housing.json index ed8754f0..a781636c 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_1m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_1m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_chemical_cell_housing" - }, - { - "item": "megacells:cell_component_1m" - } + "megacells:mega_chemical_cell_housing", + "megacells:cell_component_1m" ], "result": { "count": 1, "id": "megacells:chemical_storage_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_256m.json b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_256m.json index 7bbbb340..eb0e31bd 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_256m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_256m.json @@ -8,18 +8,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_256m" - }, - "d": { - "tag": "c:ingots/sky_osmium" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_256m", + "d": "#c:ingots/sky_osmium" }, "pattern": [ "aba", @@ -30,4 +22,4 @@ "count": 1, "id": "megacells:chemical_storage_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_256m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_256m_with_housing.json index f01aa783..30b2cf66 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_256m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_256m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_chemical_cell_housing" - }, - { - "item": "megacells:cell_component_256m" - } + "megacells:mega_chemical_cell_housing", + "megacells:cell_component_256m" ], "result": { "count": 1, "id": "megacells:chemical_storage_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_4m.json b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_4m.json index 5214c172..a8275a75 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_4m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_4m.json @@ -8,18 +8,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_4m" - }, - "d": { - "tag": "c:ingots/sky_osmium" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_4m", + "d": "#c:ingots/sky_osmium" }, "pattern": [ "aba", @@ -30,4 +22,4 @@ "count": 1, "id": "megacells:chemical_storage_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_4m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_4m_with_housing.json index 3108fd45..51c60759 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_4m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_4m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_chemical_cell_housing" - }, - { - "item": "megacells:cell_component_4m" - } + "megacells:mega_chemical_cell_housing", + "megacells:cell_component_4m" ], "result": { "count": 1, "id": "megacells:chemical_storage_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_64m.json b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_64m.json index bef7b9a4..89c0ea3a 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_64m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_64m.json @@ -8,18 +8,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_64m" - }, - "d": { - "tag": "c:ingots/sky_osmium" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_64m", + "d": "#c:ingots/sky_osmium" }, "pattern": [ "aba", @@ -30,4 +22,4 @@ "count": 1, "id": "megacells:chemical_storage_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_64m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_64m_with_housing.json index f297fc8d..26ddf887 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_64m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/chemical_storage_cell_64m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_chemical_cell_housing" - }, - { - "item": "megacells:cell_component_64m" - } + "megacells:mega_chemical_cell_housing", + "megacells:cell_component_64m" ], "result": { "count": 1, "id": "megacells:chemical_storage_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_16m.json b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_16m.json index 9568e869..a692231d 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_16m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_16m.json @@ -8,18 +8,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_16m" - }, - "d": { - "item": "minecraft:experience_bottle" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_16m", + "d": "minecraft:experience_bottle" }, "pattern": [ "aba", @@ -30,4 +22,4 @@ "count": 1, "id": "megacells:experience_storage_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_16m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_16m_with_housing.json index 7a421cd2..1450baa0 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_16m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_16m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_experience_cell_housing" - }, - { - "item": "megacells:cell_component_16m" - } + "megacells:mega_experience_cell_housing", + "megacells:cell_component_16m" ], "result": { "count": 1, "id": "megacells:experience_storage_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_1m.json b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_1m.json index cbdb05cf..57e080fe 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_1m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_1m.json @@ -8,18 +8,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_1m" - }, - "d": { - "item": "minecraft:experience_bottle" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_1m", + "d": "minecraft:experience_bottle" }, "pattern": [ "aba", @@ -30,4 +22,4 @@ "count": 1, "id": "megacells:experience_storage_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_1m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_1m_with_housing.json index 390bffe1..89599ee2 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_1m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_1m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_experience_cell_housing" - }, - { - "item": "megacells:cell_component_1m" - } + "megacells:mega_experience_cell_housing", + "megacells:cell_component_1m" ], "result": { "count": 1, "id": "megacells:experience_storage_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_256m.json b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_256m.json index 361643f4..e0f5fd3f 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_256m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_256m.json @@ -8,18 +8,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_256m" - }, - "d": { - "item": "minecraft:experience_bottle" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_256m", + "d": "minecraft:experience_bottle" }, "pattern": [ "aba", @@ -30,4 +22,4 @@ "count": 1, "id": "megacells:experience_storage_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_256m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_256m_with_housing.json index 4a5a0360..28c5580f 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_256m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_256m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_experience_cell_housing" - }, - { - "item": "megacells:cell_component_256m" - } + "megacells:mega_experience_cell_housing", + "megacells:cell_component_256m" ], "result": { "count": 1, "id": "megacells:experience_storage_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_4m.json b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_4m.json index 388ad687..132fdaf4 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_4m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_4m.json @@ -8,18 +8,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_4m" - }, - "d": { - "item": "minecraft:experience_bottle" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_4m", + "d": "minecraft:experience_bottle" }, "pattern": [ "aba", @@ -30,4 +22,4 @@ "count": 1, "id": "megacells:experience_storage_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_4m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_4m_with_housing.json index 34e68c76..f95b94b7 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_4m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_4m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_experience_cell_housing" - }, - { - "item": "megacells:cell_component_4m" - } + "megacells:mega_experience_cell_housing", + "megacells:cell_component_4m" ], "result": { "count": 1, "id": "megacells:experience_storage_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_64m.json b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_64m.json index 10792e40..ed504bb0 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_64m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_64m.json @@ -8,18 +8,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_64m" - }, - "d": { - "item": "minecraft:experience_bottle" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_64m", + "d": "minecraft:experience_bottle" }, "pattern": [ "aba", @@ -30,4 +22,4 @@ "count": 1, "id": "megacells:experience_storage_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_64m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_64m_with_housing.json index c3f044cd..f65539a2 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_64m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/experience_storage_cell_64m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_experience_cell_housing" - }, - { - "item": "megacells:cell_component_64m" - } + "megacells:mega_experience_cell_housing", + "megacells:cell_component_64m" ], "result": { "count": 1, "id": "megacells:experience_storage_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_16m.json b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_16m.json index 1fcac52c..04e4ecf4 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_16m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_16m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_16m" - }, - "d": { - "tag": "c:ingots/sky_bronze" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_16m", + "d": "#c:ingots/sky_bronze" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:fluid_storage_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_16m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_16m_with_housing.json index e35d88d3..95485c3b 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_16m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_16m_with_housing.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_fluid_cell_housing" - }, - { - "item": "megacells:cell_component_16m" - } + "megacells:mega_fluid_cell_housing", + "megacells:cell_component_16m" ], "result": { "count": 1, "id": "megacells:fluid_storage_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_1m.json b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_1m.json index 2412efd0..be125239 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_1m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_1m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_1m" - }, - "d": { - "tag": "c:ingots/sky_bronze" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_1m", + "d": "#c:ingots/sky_bronze" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:fluid_storage_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_1m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_1m_with_housing.json index e688408b..bfaac158 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_1m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_1m_with_housing.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_fluid_cell_housing" - }, - { - "item": "megacells:cell_component_1m" - } + "megacells:mega_fluid_cell_housing", + "megacells:cell_component_1m" ], "result": { "count": 1, "id": "megacells:fluid_storage_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_256m.json b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_256m.json index adf5fce6..6a95668f 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_256m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_256m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_256m" - }, - "d": { - "tag": "c:ingots/sky_bronze" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_256m", + "d": "#c:ingots/sky_bronze" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:fluid_storage_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_256m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_256m_with_housing.json index 8521305a..13bf21c4 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_256m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_256m_with_housing.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_fluid_cell_housing" - }, - { - "item": "megacells:cell_component_256m" - } + "megacells:mega_fluid_cell_housing", + "megacells:cell_component_256m" ], "result": { "count": 1, "id": "megacells:fluid_storage_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_4m.json b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_4m.json index ffc73643..cfc4c1a2 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_4m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_4m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_4m" - }, - "d": { - "tag": "c:ingots/sky_bronze" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_4m", + "d": "#c:ingots/sky_bronze" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:fluid_storage_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_4m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_4m_with_housing.json index e105c1b4..e3db63e3 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_4m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_4m_with_housing.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_fluid_cell_housing" - }, - { - "item": "megacells:cell_component_4m" - } + "megacells:mega_fluid_cell_housing", + "megacells:cell_component_4m" ], "result": { "count": 1, "id": "megacells:fluid_storage_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_64m.json b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_64m.json index 5a4cc0aa..5618fe6a 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_64m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_64m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_64m" - }, - "d": { - "tag": "c:ingots/sky_bronze" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_64m", + "d": "#c:ingots/sky_bronze" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:fluid_storage_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_64m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_64m_with_housing.json index 024cbf3f..90c35a96 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_64m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/fluid_storage_cell_64m_with_housing.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_fluid_cell_housing" - }, - { - "item": "megacells:cell_component_64m" - } + "megacells:mega_fluid_cell_housing", + "megacells:cell_component_64m" ], "result": { "count": 1, "id": "megacells:fluid_storage_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_16m.json b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_16m.json index b5a6a156..3c2c47bf 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_16m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_16m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_16m" - }, - "d": { - "tag": "c:ingots/sky_steel" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_16m", + "d": "#c:ingots/sky_steel" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:item_storage_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_16m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_16m_with_housing.json index 89ff92f6..d4d54c66 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_16m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_16m_with_housing.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_item_cell_housing" - }, - { - "item": "megacells:cell_component_16m" - } + "megacells:mega_item_cell_housing", + "megacells:cell_component_16m" ], "result": { "count": 1, "id": "megacells:item_storage_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_1m.json b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_1m.json index bf7f5240..333e62e4 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_1m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_1m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_1m" - }, - "d": { - "tag": "c:ingots/sky_steel" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_1m", + "d": "#c:ingots/sky_steel" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:item_storage_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_1m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_1m_with_housing.json index 09d3013a..acb9ddf1 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_1m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_1m_with_housing.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_item_cell_housing" - }, - { - "item": "megacells:cell_component_1m" - } + "megacells:mega_item_cell_housing", + "megacells:cell_component_1m" ], "result": { "count": 1, "id": "megacells:item_storage_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_256m.json b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_256m.json index 2caa9684..7807d8e2 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_256m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_256m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_256m" - }, - "d": { - "tag": "c:ingots/sky_steel" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_256m", + "d": "#c:ingots/sky_steel" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:item_storage_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_256m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_256m_with_housing.json index 90e18262..bedbb2c8 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_256m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_256m_with_housing.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_item_cell_housing" - }, - { - "item": "megacells:cell_component_256m" - } + "megacells:mega_item_cell_housing", + "megacells:cell_component_256m" ], "result": { "count": 1, "id": "megacells:item_storage_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_4m.json b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_4m.json index 65341a49..d7e82612 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_4m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_4m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_4m" - }, - "d": { - "tag": "c:ingots/sky_steel" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_4m", + "d": "#c:ingots/sky_steel" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:item_storage_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_4m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_4m_with_housing.json index 54c34edb..d5885faf 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_4m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_4m_with_housing.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_item_cell_housing" - }, - { - "item": "megacells:cell_component_4m" - } + "megacells:mega_item_cell_housing", + "megacells:cell_component_4m" ], "result": { "count": 1, "id": "megacells:item_storage_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_64m.json b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_64m.json index 26420c42..b9edb936 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_64m.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_64m.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:quartz_vibrant_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:cell_component_64m" - }, - "d": { - "tag": "c:ingots/sky_steel" - } + "a": "ae2:quartz_vibrant_glass", + "b": "ae2:sky_dust", + "c": "megacells:cell_component_64m", + "d": "#c:ingots/sky_steel" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:item_storage_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_64m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_64m_with_housing.json index 6e17fc9a..9db58a49 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_64m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/item_storage_cell_64m_with_housing.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_item_cell_housing" - }, - { - "item": "megacells:cell_component_64m" - } + "megacells:mega_item_cell_housing", + "megacells:cell_component_64m" ], "result": { "count": 1, "id": "megacells:item_storage_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_16m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_16m_with_housing.json index 152b7b53..a54ef154 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_16m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_16m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_mana_cell_housing" - }, - { - "item": "megacells:cell_component_16m" - } + "megacells:mega_mana_cell_housing", + "megacells:cell_component_16m" ], "result": { "count": 1, "id": "megacells:mana_storage_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_1m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_1m_with_housing.json index 01308817..c2c25ad7 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_1m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_1m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_mana_cell_housing" - }, - { - "item": "megacells:cell_component_1m" - } + "megacells:mega_mana_cell_housing", + "megacells:cell_component_1m" ], "result": { "count": 1, "id": "megacells:mana_storage_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_256m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_256m_with_housing.json index 9acf528a..dc92d194 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_256m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_256m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_mana_cell_housing" - }, - { - "item": "megacells:cell_component_256m" - } + "megacells:mega_mana_cell_housing", + "megacells:cell_component_256m" ], "result": { "count": 1, "id": "megacells:mana_storage_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_4m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_4m_with_housing.json index 042b0ed4..0c8aa7d6 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_4m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_4m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_mana_cell_housing" - }, - { - "item": "megacells:cell_component_4m" - } + "megacells:mega_mana_cell_housing", + "megacells:cell_component_4m" ], "result": { "count": 1, "id": "megacells:mana_storage_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_64m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_64m_with_housing.json index 26966e87..5410c5df 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_64m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/mana_storage_cell_64m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_mana_cell_housing" - }, - { - "item": "megacells:cell_component_64m" - } + "megacells:mega_mana_cell_housing", + "megacells:cell_component_64m" ], "result": { "count": 1, "id": "megacells:mana_storage_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/radioactive_chemical_cell.json b/src/generated/resources/data/megacells/recipe/cells/standard/radioactive_chemical_cell.json index 1e24cda7..d0ae4723 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/radioactive_chemical_cell.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/radioactive_chemical_cell.json @@ -8,21 +8,11 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "mekanismgenerators:reactor_glass" - }, - "b": { - "item": "ae2:sky_dust" - }, - "c": { - "item": "megacells:radioactive_cell_component" - }, - "d": { - "item": "mekanism:hdpe_sheet" - }, - "e": { - "item": "mekanism:pellet_polonium" - } + "a": "mekanismgenerators:reactor_glass", + "b": "ae2:sky_dust", + "c": "megacells:radioactive_cell_component", + "d": "mekanism:hdpe_sheet", + "e": "mekanism:pellet_polonium" }, "pattern": [ "aba", @@ -33,4 +23,4 @@ "count": 1, "id": "megacells:radioactive_chemical_cell" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_16m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_16m_with_housing.json index 54529f89..540116c4 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_16m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_16m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_soul_cell_housing" - }, - { - "item": "megacells:cell_component_16m" - } + "megacells:mega_soul_cell_housing", + "megacells:cell_component_16m" ], "result": { "count": 1, "id": "megacells:soul_storage_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_1m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_1m_with_housing.json index 6242f111..3e039745 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_1m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_1m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_soul_cell_housing" - }, - { - "item": "megacells:cell_component_1m" - } + "megacells:mega_soul_cell_housing", + "megacells:cell_component_1m" ], "result": { "count": 1, "id": "megacells:soul_storage_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_256m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_256m_with_housing.json index 8aeec0a2..5ebf9cea 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_256m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_256m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_soul_cell_housing" - }, - { - "item": "megacells:cell_component_256m" - } + "megacells:mega_soul_cell_housing", + "megacells:cell_component_256m" ], "result": { "count": 1, "id": "megacells:soul_storage_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_4m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_4m_with_housing.json index 1b028d7b..f8f905b8 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_4m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_4m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_soul_cell_housing" - }, - { - "item": "megacells:cell_component_4m" - } + "megacells:mega_soul_cell_housing", + "megacells:cell_component_4m" ], "result": { "count": 1, "id": "megacells:soul_storage_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_64m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_64m_with_housing.json index c04a5a9b..4855d5b9 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_64m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/soul_storage_cell_64m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_soul_cell_housing" - }, - { - "item": "megacells:cell_component_64m" - } + "megacells:mega_soul_cell_housing", + "megacells:cell_component_64m" ], "result": { "count": 1, "id": "megacells:soul_storage_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_16m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_16m_with_housing.json index b870eeff..ff8c66c9 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_16m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_16m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_source_cell_housing" - }, - { - "item": "megacells:cell_component_16m" - } + "megacells:mega_source_cell_housing", + "megacells:cell_component_16m" ], "result": { "count": 1, "id": "megacells:source_storage_cell_16m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_1m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_1m_with_housing.json index fded82a4..422b756c 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_1m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_1m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_source_cell_housing" - }, - { - "item": "megacells:cell_component_1m" - } + "megacells:mega_source_cell_housing", + "megacells:cell_component_1m" ], "result": { "count": 1, "id": "megacells:source_storage_cell_1m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_256m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_256m_with_housing.json index 89c8df40..819c42aa 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_256m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_256m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_source_cell_housing" - }, - { - "item": "megacells:cell_component_256m" - } + "megacells:mega_source_cell_housing", + "megacells:cell_component_256m" ], "result": { "count": 1, "id": "megacells:source_storage_cell_256m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_4m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_4m_with_housing.json index f380cf21..7856f25f 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_4m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_4m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_source_cell_housing" - }, - { - "item": "megacells:cell_component_4m" - } + "megacells:mega_source_cell_housing", + "megacells:cell_component_4m" ], "result": { "count": 1, "id": "megacells:source_storage_cell_4m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_64m_with_housing.json b/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_64m_with_housing.json index f26e9504..5758a6e0 100644 --- a/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_64m_with_housing.json +++ b/src/generated/resources/data/megacells/recipe/cells/standard/source_storage_cell_64m_with_housing.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_source_cell_housing" - }, - { - "item": "megacells:cell_component_64m" - } + "megacells:mega_source_cell_housing", + "megacells:cell_component_64m" ], "result": { "count": 1, "id": "megacells:source_storage_cell_64m" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/16m_crafting_storage.json b/src/generated/resources/data/megacells/recipe/crafting/16m_crafting_storage.json index fc3e0900..ebdea754 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/16m_crafting_storage.json +++ b/src/generated/resources/data/megacells/recipe/crafting/16m_crafting_storage.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_crafting_unit" - }, - { - "item": "megacells:cell_component_16m" - } + "megacells:mega_crafting_unit", + "megacells:cell_component_16m" ], "result": { "count": 1, "id": "megacells:16m_crafting_storage" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/1m_crafting_storage.json b/src/generated/resources/data/megacells/recipe/crafting/1m_crafting_storage.json index 4b4863cf..8bc97ff2 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/1m_crafting_storage.json +++ b/src/generated/resources/data/megacells/recipe/crafting/1m_crafting_storage.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_crafting_unit" - }, - { - "item": "megacells:cell_component_1m" - } + "megacells:mega_crafting_unit", + "megacells:cell_component_1m" ], "result": { "count": 1, "id": "megacells:1m_crafting_storage" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/256m_crafting_storage.json b/src/generated/resources/data/megacells/recipe/crafting/256m_crafting_storage.json index 1497d985..d6f5aef5 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/256m_crafting_storage.json +++ b/src/generated/resources/data/megacells/recipe/crafting/256m_crafting_storage.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_crafting_unit" - }, - { - "item": "megacells:cell_component_256m" - } + "megacells:mega_crafting_unit", + "megacells:cell_component_256m" ], "result": { "count": 1, "id": "megacells:256m_crafting_storage" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/4m_crafting_storage.json b/src/generated/resources/data/megacells/recipe/crafting/4m_crafting_storage.json index 1cd3fedd..e97ce2f6 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/4m_crafting_storage.json +++ b/src/generated/resources/data/megacells/recipe/crafting/4m_crafting_storage.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_crafting_unit" - }, - { - "item": "megacells:cell_component_4m" - } + "megacells:mega_crafting_unit", + "megacells:cell_component_4m" ], "result": { "count": 1, "id": "megacells:4m_crafting_storage" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/64m_crafting_storage.json b/src/generated/resources/data/megacells/recipe/crafting/64m_crafting_storage.json index 88c123f1..df36dc07 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/64m_crafting_storage.json +++ b/src/generated/resources/data/megacells/recipe/crafting/64m_crafting_storage.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_crafting_unit" - }, - { - "item": "megacells:cell_component_64m" - } + "megacells:mega_crafting_unit", + "megacells:cell_component_64m" ], "result": { "count": 1, "id": "megacells:64m_crafting_storage" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/bulk_cell_component.json b/src/generated/resources/data/megacells/recipe/crafting/bulk_cell_component.json index 8bed0429..3394653e 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/bulk_cell_component.json +++ b/src/generated/resources/data/megacells/recipe/crafting/bulk_cell_component.json @@ -2,21 +2,11 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:sky_dust" - }, - "b": { - "item": "ae2:spatial_cell_component_2" - }, - "c": { - "item": "megacells:accumulation_processor" - }, - "d": { - "item": "ae2:quartz_vibrant_glass" - }, - "e": { - "item": "megacells:cell_component_1m" - } + "a": "ae2:sky_dust", + "b": "ae2:spatial_cell_component_2", + "c": "megacells:accumulation_processor", + "d": "ae2:quartz_vibrant_glass", + "e": "megacells:cell_component_1m" }, "pattern": [ "aba", @@ -27,4 +17,4 @@ "count": 1, "id": "megacells:bulk_cell_component" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/compression_card.json b/src/generated/resources/data/megacells/recipe/crafting/compression_card.json index b4aa781d..1c9da9fa 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/compression_card.json +++ b/src/generated/resources/data/megacells/recipe/crafting/compression_card.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:advanced_card" - }, - { - "item": "ae2:matter_ball" - } + "ae2:advanced_card", + "ae2:matter_ball" ], "result": { "count": 1, "id": "megacells:compression_card" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/decompression_module.json b/src/generated/resources/data/megacells/recipe/crafting/decompression_module.json index 7e2aabaf..674ad289 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/decompression_module.json +++ b/src/generated/resources/data/megacells/recipe/crafting/decompression_module.json @@ -2,24 +2,12 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "#": { - "item": "megacells:compression_card" - }, - "A": { - "item": "megacells:accumulation_processor" - }, - "C": { - "item": "ae2:calculation_processor" - }, - "E": { - "item": "ae2:engineering_processor" - }, - "I": { - "tag": "c:ingots/iron" - }, - "L": { - "item": "ae2:logic_processor" - } + "#": "megacells:compression_card", + "A": "megacells:accumulation_processor", + "C": "ae2:calculation_processor", + "E": "ae2:engineering_processor", + "I": "#c:ingots/iron", + "L": "ae2:logic_processor" }, "pattern": [ "IAI", @@ -30,4 +18,4 @@ "count": 1, "id": "megacells:decompression_module" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/greater_energy_card.json b/src/generated/resources/data/megacells/recipe/crafting/greater_energy_card.json index d5c02648..b34aaebd 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/greater_energy_card.json +++ b/src/generated/resources/data/megacells/recipe/crafting/greater_energy_card.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:advanced_card" - }, - { - "item": "megacells:mega_energy_cell" - } + "ae2:advanced_card", + "megacells:mega_energy_cell" ], "result": { "count": 1, "id": "megacells:greater_energy_card" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/greater_energy_card_upgraded.json b/src/generated/resources/data/megacells/recipe/crafting/greater_energy_card_upgraded.json index e572fc74..a606928c 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/greater_energy_card_upgraded.json +++ b/src/generated/resources/data/megacells/recipe/crafting/greater_energy_card_upgraded.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:energy_card" - }, - { - "item": "megacells:mega_energy_cell" - } + "ae2:energy_card", + "megacells:mega_energy_cell" ], "result": { "count": 1, "id": "megacells:greater_energy_card" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_accelerator.json b/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_accelerator.json index a1b96656..ce639033 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_accelerator.json +++ b/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_accelerator.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_crafting_unit" - }, - { - "item": "ae2:engineering_processor" - } + "megacells:mega_crafting_unit", + "ae2:engineering_processor" ], "result": { "count": 1, "id": "megacells:mega_crafting_accelerator" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_monitor.json b/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_monitor.json index 2c123b7e..833c97ee 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_monitor.json +++ b/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_monitor.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_crafting_unit" - }, - { - "item": "ae2:storage_monitor" - } + "megacells:mega_crafting_unit", + "ae2:storage_monitor" ], "result": { "count": 1, "id": "megacells:mega_crafting_monitor" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_unit.json b/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_unit.json index ca7c2d2a..e00a0605 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_unit.json +++ b/src/generated/resources/data/megacells/recipe/crafting/mega_crafting_unit.json @@ -2,18 +2,10 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:crafting_unit" - }, - "b": { - "item": "ae2:logic_processor" - }, - "c": { - "item": "ae2:fluix_smart_cable" - }, - "d": { - "item": "megacells:accumulation_processor" - } + "a": "ae2:crafting_unit", + "b": "ae2:logic_processor", + "c": "ae2:fluix_smart_cable", + "d": "megacells:accumulation_processor" }, "pattern": [ "aba", @@ -24,4 +16,4 @@ "count": 1, "id": "megacells:mega_crafting_unit" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/mega_energy_cell.json b/src/generated/resources/data/megacells/recipe/crafting/mega_energy_cell.json index fef3dac4..553b3768 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/mega_energy_cell.json +++ b/src/generated/resources/data/megacells/recipe/crafting/mega_energy_cell.json @@ -2,12 +2,8 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:dense_energy_cell" - }, - "b": { - "item": "megacells:accumulation_processor" - } + "a": "ae2:dense_energy_cell", + "b": "megacells:accumulation_processor" }, "pattern": [ "aaa", @@ -18,4 +14,4 @@ "count": 1, "id": "megacells:mega_energy_cell" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/radioactive_cell_component.json b/src/generated/resources/data/megacells/recipe/crafting/radioactive_cell_component.json index 3ecf3bc9..e12cc49a 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/radioactive_cell_component.json +++ b/src/generated/resources/data/megacells/recipe/crafting/radioactive_cell_component.json @@ -8,21 +8,11 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "a": { - "item": "ae2:sky_dust" - }, - "b": { - "item": "megacells:accumulation_processor" - }, - "c": { - "item": "mekanism:radioactive_waste_barrel" - }, - "d": { - "item": "ae2:quartz_vibrant_glass" - }, - "e": { - "item": "ae2:cell_component_256k" - } + "a": "ae2:sky_dust", + "b": "megacells:accumulation_processor", + "c": "mekanism:radioactive_waste_barrel", + "d": "ae2:quartz_vibrant_glass", + "e": "ae2:cell_component_256k" }, "pattern": [ "aba", @@ -33,4 +23,4 @@ "count": 1, "id": "megacells:radioactive_cell_component" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/sky_bronze_block.json b/src/generated/resources/data/megacells/recipe/crafting/sky_bronze_block.json index f72fcfe7..aefa2631 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/sky_bronze_block.json +++ b/src/generated/resources/data/megacells/recipe/crafting/sky_bronze_block.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "tag": "c:ingots/sky_bronze" - } + "#": "#c:ingots/sky_bronze" }, "pattern": [ "###", @@ -15,4 +13,4 @@ "count": 1, "id": "megacells:sky_bronze_block" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/sky_bronze_ingot_from_sky_bronze_block.json b/src/generated/resources/data/megacells/recipe/crafting/sky_bronze_ingot_from_sky_bronze_block.json index 92b0cca7..c5a7ab0a 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/sky_bronze_ingot_from_sky_bronze_block.json +++ b/src/generated/resources/data/megacells/recipe/crafting/sky_bronze_ingot_from_sky_bronze_block.json @@ -2,12 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:sky_bronze_block" - } + "megacells:sky_bronze_block" ], "result": { "count": 9, "id": "megacells:sky_bronze_ingot" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/sky_osmium_block.json b/src/generated/resources/data/megacells/recipe/crafting/sky_osmium_block.json index 877402de..87e5501f 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/sky_osmium_block.json +++ b/src/generated/resources/data/megacells/recipe/crafting/sky_osmium_block.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "tag": "c:ingots/sky_osmium" - } + "#": "#c:ingots/sky_osmium" }, "pattern": [ "###", @@ -15,4 +13,4 @@ "count": 1, "id": "megacells:sky_osmium_block" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/sky_osmium_ingot_from_sky_osmium_block.json b/src/generated/resources/data/megacells/recipe/crafting/sky_osmium_ingot_from_sky_osmium_block.json index 641aa362..d634cbe9 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/sky_osmium_ingot_from_sky_osmium_block.json +++ b/src/generated/resources/data/megacells/recipe/crafting/sky_osmium_ingot_from_sky_osmium_block.json @@ -2,12 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:sky_osmium_block" - } + "megacells:sky_osmium_block" ], "result": { "count": 9, "id": "megacells:sky_osmium_ingot" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/sky_steel_block.json b/src/generated/resources/data/megacells/recipe/crafting/sky_steel_block.json index ebc0761a..5ef3562c 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/sky_steel_block.json +++ b/src/generated/resources/data/megacells/recipe/crafting/sky_steel_block.json @@ -2,9 +2,7 @@ "type": "minecraft:crafting_shaped", "category": "building", "key": { - "#": { - "tag": "c:ingots/sky_steel" - } + "#": "#c:ingots/sky_steel" }, "pattern": [ "###", @@ -15,4 +13,4 @@ "count": 1, "id": "megacells:sky_steel_block" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/crafting/sky_steel_ingot_from_sky_steel_block.json b/src/generated/resources/data/megacells/recipe/crafting/sky_steel_ingot_from_sky_steel_block.json index 4b57bc77..bf4af316 100644 --- a/src/generated/resources/data/megacells/recipe/crafting/sky_steel_ingot_from_sky_steel_block.json +++ b/src/generated/resources/data/megacells/recipe/crafting/sky_steel_ingot_from_sky_steel_block.json @@ -2,12 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:sky_steel_block" - } + "megacells:sky_steel_block" ], "result": { "count": 9, "id": "megacells:sky_steel_ingot" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor.json b/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor.json index 45372eee..f59fd3ac 100644 --- a/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor.json +++ b/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor.json @@ -1,19 +1,13 @@ { "type": "ae2:inscriber", "ingredients": { - "bottom": { - "item": "ae2:printed_silicon" - }, - "middle": { - "tag": "c:dusts/fluix" - }, - "top": { - "item": "megacells:printed_accumulation_processor" - } + "bottom": "ae2:printed_silicon", + "middle": "#c:dusts/fluix", + "top": "megacells:printed_accumulation_processor" }, "mode": "press", "result": { "count": 1, "id": "megacells:accumulation_processor" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_press.json b/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_press.json index f932abe5..8a478b10 100644 --- a/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_press.json +++ b/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_press.json @@ -1,19 +1,13 @@ { "type": "ae2:inscriber", "ingredients": { - "bottom": { - "item": "ae2:engineering_processor_press" - }, - "middle": { - "item": "ae2:singularity" - }, - "top": { - "item": "ae2:calculation_processor_press" - } + "bottom": "ae2:engineering_processor_press", + "middle": "ae2:singularity", + "top": "ae2:calculation_processor_press" }, "mode": "press", "result": { "count": 1, "id": "megacells:accumulation_processor_press" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_press_extra.json b/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_press_extra.json index d7cec42b..d93e4cfa 100644 --- a/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_press_extra.json +++ b/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_press_extra.json @@ -1,16 +1,12 @@ { "type": "ae2:inscriber", "ingredients": { - "middle": { - "item": "minecraft:iron_block" - }, - "top": { - "item": "megacells:accumulation_processor_press" - } + "middle": "minecraft:iron_block", + "top": "megacells:accumulation_processor_press" }, "mode": "inscribe", "result": { "count": 1, "id": "megacells:accumulation_processor_press" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_print.json b/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_print.json index 42699333..38852536 100644 --- a/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_print.json +++ b/src/generated/resources/data/megacells/recipe/inscriber/accumulation_processor_print.json @@ -1,16 +1,12 @@ { "type": "ae2:inscriber", "ingredients": { - "middle": { - "tag": "c:ingots/sky_steel" - }, - "top": { - "item": "megacells:accumulation_processor_press" - } + "middle": "#c:ingots/sky_steel", + "top": "megacells:accumulation_processor_press" }, "mode": "inscribe", "result": { "count": 1, "id": "megacells:printed_accumulation_processor" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/mega_soul_cell_housing.json b/src/generated/resources/data/megacells/recipe/mega_soul_cell_housing.json index 86952604..2e69ea35 100644 --- a/src/generated/resources/data/megacells/recipe/mega_soul_cell_housing.json +++ b/src/generated/resources/data/megacells/recipe/mega_soul_cell_housing.json @@ -7,30 +7,14 @@ ], "type": "industrialforegoing:dissolution_chamber", "input": [ - { - "item": "minecraft:echo_shard" - }, - { - "item": "minecraft:echo_shard" - }, - { - "item": "minecraft:echo_shard" - }, - { - "item": "industrialforegoing:pink_slime_ingot" - }, - { - "item": "industrialforegoing:pink_slime_ingot" - }, - { - "tag": "c:plastics" - }, - { - "item": "appliedsoul:soul_cell_housing" - }, - { - "tag": "c:plastics" - } + "minecraft:echo_shard", + "minecraft:echo_shard", + "minecraft:echo_shard", + "industrialforegoing:pink_slime_ingot", + "industrialforegoing:pink_slime_ingot", + "#c:plastics", + "appliedsoul:soul_cell_housing", + "#c:plastics" ], "inputFluid": { "amount": 1000, @@ -41,4 +25,4 @@ "id": "megacells:mega_soul_cell_housing" }, "processingTime": 100 -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/network/cell_dock.json b/src/generated/resources/data/megacells/recipe/network/cell_dock.json index 8f33f00a..f2bbbf23 100644 --- a/src/generated/resources/data/megacells/recipe/network/cell_dock.json +++ b/src/generated/resources/data/megacells/recipe/network/cell_dock.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "#": { - "tag": "ae2:glass_cable" - }, - "C": { - "tag": "c:ingots/copper" - }, - "I": { - "tag": "c:ingots/iron" - } + "#": "#ae2:glass_cable", + "C": "#c:ingots/copper", + "I": "#c:ingots/iron" }, "pattern": [ "ICI", @@ -20,4 +14,4 @@ "count": 1, "id": "megacells:cell_dock" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/network/mega_emc_interface.json b/src/generated/resources/data/megacells/recipe/network/mega_emc_interface.json index 4b385b7a..14b61886 100644 --- a/src/generated/resources/data/megacells/recipe/network/mega_emc_interface.json +++ b/src/generated/resources/data/megacells/recipe/network/mega_emc_interface.json @@ -8,15 +8,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "appliede:emc_interface" - }, - { - "item": "megacells:accumulation_processor" - } + "appliede:emc_interface", + "megacells:accumulation_processor" ], "result": { "count": 1, "id": "megacells:mega_emc_interface" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/network/mega_emc_interface_block.json b/src/generated/resources/data/megacells/recipe/network/mega_emc_interface_block.json index a2b4caa6..2d05d434 100644 --- a/src/generated/resources/data/megacells/recipe/network/mega_emc_interface_block.json +++ b/src/generated/resources/data/megacells/recipe/network/mega_emc_interface_block.json @@ -2,12 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:cable_mega_emc_interface" - } + "megacells:cable_mega_emc_interface" ], "result": { "count": 1, "id": "megacells:mega_emc_interface" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/network/mega_emc_interface_part.json b/src/generated/resources/data/megacells/recipe/network/mega_emc_interface_part.json index 1cc4b08e..7ac26b17 100644 --- a/src/generated/resources/data/megacells/recipe/network/mega_emc_interface_part.json +++ b/src/generated/resources/data/megacells/recipe/network/mega_emc_interface_part.json @@ -2,12 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_emc_interface" - } + "megacells:mega_emc_interface" ], "result": { "count": 1, "id": "megacells:cable_mega_emc_interface" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/network/mega_interface.json b/src/generated/resources/data/megacells/recipe/network/mega_interface.json index 965999bb..13526010 100644 --- a/src/generated/resources/data/megacells/recipe/network/mega_interface.json +++ b/src/generated/resources/data/megacells/recipe/network/mega_interface.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:interface" - }, - { - "item": "megacells:accumulation_processor" - } + "ae2:interface", + "megacells:accumulation_processor" ], "result": { "count": 1, "id": "megacells:mega_interface" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/network/mega_interface_block.json b/src/generated/resources/data/megacells/recipe/network/mega_interface_block.json index dc5fabb6..8bf5d8e2 100644 --- a/src/generated/resources/data/megacells/recipe/network/mega_interface_block.json +++ b/src/generated/resources/data/megacells/recipe/network/mega_interface_block.json @@ -2,12 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:cable_mega_interface" - } + "megacells:cable_mega_interface" ], "result": { "count": 1, "id": "megacells:mega_interface" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/network/mega_interface_part.json b/src/generated/resources/data/megacells/recipe/network/mega_interface_part.json index 51d382ce..be5f5416 100644 --- a/src/generated/resources/data/megacells/recipe/network/mega_interface_part.json +++ b/src/generated/resources/data/megacells/recipe/network/mega_interface_part.json @@ -2,12 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_interface" - } + "megacells:mega_interface" ], "result": { "count": 1, "id": "megacells:cable_mega_interface" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider.json b/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider.json index af19c1ab..468c39c0 100644 --- a/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider.json +++ b/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider.json @@ -2,15 +2,11 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "ae2:pattern_provider" - }, - { - "item": "megacells:accumulation_processor" - } + "ae2:pattern_provider", + "megacells:accumulation_processor" ], "result": { "count": 1, "id": "megacells:mega_pattern_provider" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider_block.json b/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider_block.json index f377a98d..5d475322 100644 --- a/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider_block.json +++ b/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider_block.json @@ -2,12 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:cable_mega_pattern_provider" - } + "megacells:cable_mega_pattern_provider" ], "result": { "count": 1, "id": "megacells:mega_pattern_provider" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider_part.json b/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider_part.json index 73bb4183..7ab4444d 100644 --- a/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider_part.json +++ b/src/generated/resources/data/megacells/recipe/network/mega_pattern_provider_part.json @@ -2,12 +2,10 @@ "type": "minecraft:crafting_shapeless", "category": "misc", "ingredients": [ - { - "item": "megacells:mega_pattern_provider" - } + "megacells:mega_pattern_provider" ], "result": { "count": 1, "id": "megacells:cable_mega_pattern_provider" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/network/portable_cell_workbench.json b/src/generated/resources/data/megacells/recipe/network/portable_cell_workbench.json index f52e902c..801db1ac 100644 --- a/src/generated/resources/data/megacells/recipe/network/portable_cell_workbench.json +++ b/src/generated/resources/data/megacells/recipe/network/portable_cell_workbench.json @@ -2,15 +2,9 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "C": { - "item": "megacells:mega_item_cell_housing" - }, - "S": { - "item": "ae2:singularity" - }, - "W": { - "item": "ae2:cell_workbench" - } + "C": "megacells:mega_item_cell_housing", + "S": "ae2:singularity", + "W": "ae2:cell_workbench" }, "pattern": [ "W", @@ -21,4 +15,4 @@ "count": 1, "id": "megacells:portable_cell_workbench" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/transform/sky_bronze_ingot.json b/src/generated/resources/data/megacells/recipe/transform/sky_bronze_ingot.json index 71c7dfef..2eeeb79f 100644 --- a/src/generated/resources/data/megacells/recipe/transform/sky_bronze_ingot.json +++ b/src/generated/resources/data/megacells/recipe/transform/sky_bronze_ingot.json @@ -5,18 +5,12 @@ "tag": "minecraft:lava" }, "ingredients": [ - { - "item": "ae2:charged_certus_quartz_crystal" - }, - { - "tag": "c:ingots/copper" - }, - { - "item": "ae2:sky_stone_block" - } + "ae2:charged_certus_quartz_crystal", + "#c:ingots/copper", + "ae2:sky_stone_block" ], "result": { "count": 2, "id": "megacells:sky_bronze_ingot" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/transform/sky_osmium_ingot.json b/src/generated/resources/data/megacells/recipe/transform/sky_osmium_ingot.json index 26eb390c..67a62b42 100644 --- a/src/generated/resources/data/megacells/recipe/transform/sky_osmium_ingot.json +++ b/src/generated/resources/data/megacells/recipe/transform/sky_osmium_ingot.json @@ -5,18 +5,12 @@ "tag": "minecraft:lava" }, "ingredients": [ - { - "item": "ae2:charged_certus_quartz_crystal" - }, - { - "tag": "c:ingots/osmium" - }, - { - "item": "ae2:sky_stone_block" - } + "ae2:charged_certus_quartz_crystal", + "#c:ingots/osmium", + "ae2:sky_stone_block" ], "result": { "count": 2, "id": "megacells:sky_osmium_ingot" } -} \ No newline at end of file +} diff --git a/src/generated/resources/data/megacells/recipe/transform/sky_steel_ingot.json b/src/generated/resources/data/megacells/recipe/transform/sky_steel_ingot.json index 70b12de5..607b712d 100644 --- a/src/generated/resources/data/megacells/recipe/transform/sky_steel_ingot.json +++ b/src/generated/resources/data/megacells/recipe/transform/sky_steel_ingot.json @@ -5,18 +5,12 @@ "tag": "minecraft:lava" }, "ingredients": [ - { - "item": "ae2:charged_certus_quartz_crystal" - }, - { - "tag": "c:ingots/iron" - }, - { - "item": "ae2:sky_stone_block" - } + "ae2:charged_certus_quartz_crystal", + "#c:ingots/iron", + "ae2:sky_stone_block" ], "result": { "count": 2, "id": "megacells:sky_steel_ingot" } -} \ No newline at end of file +} diff --git a/src/main/java/gripe/_90/megacells/MEGACells.java b/src/main/java/gripe/_90/megacells/MEGACells.java index 91720901..5c0c1124 100644 --- a/src/main/java/gripe/_90/megacells/MEGACells.java +++ b/src/main/java/gripe/_90/megacells/MEGACells.java @@ -2,13 +2,7 @@ import java.util.List; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.npc.VillagerTrades; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.trading.ItemCost; -import net.minecraft.world.item.trading.MerchantOffer; -import net.minecraft.world.level.ItemLike; +import net.minecraft.resources.Identifier; import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.ModContainer; import net.neoforged.fml.common.Mod; @@ -16,8 +10,6 @@ import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; -import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.event.village.VillagerTradesEvent; import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent; import appeng.api.AECapabilities; @@ -25,12 +17,10 @@ import appeng.api.implementations.items.IAEItemPowerStorage; import appeng.api.networking.IInWorldGridNodeHost; import appeng.api.parts.RegisterPartCapabilitiesEvent; -import appeng.api.storage.StorageCells; import appeng.api.upgrades.Upgrades; import appeng.core.definitions.AEItems; import appeng.core.localization.GuiText; import appeng.hotkeys.HotkeyActions; -import appeng.init.InitVillager; import appeng.items.tools.powered.AbstractPortableCell; import appeng.items.tools.powered.powersink.PoweredItemCapabilities; @@ -43,7 +33,6 @@ import gripe._90.megacells.definition.MEGAItems; import gripe._90.megacells.definition.MEGAMenus; import gripe._90.megacells.integration.Addons; -import gripe._90.megacells.integration.appmek.RadioactiveCellItem; import gripe._90.megacells.item.cell.BulkCellItem; import gripe._90.megacells.item.part.CellDockPart; import gripe._90.megacells.item.part.MEGAInterfacePart; @@ -62,22 +51,20 @@ public MEGACells(ModContainer container, IEventBus eventBus) { MEGAMenus.DR.register(eventBus); MEGAComponents.DR.register(eventBus); MEGACreativeTab.DR.register(eventBus); - eventBus.addListener(MEGADataMaps::register); - eventBus.addListener(MEGACells::initUpgrades); eventBus.addListener(MEGACells::initStorageCells); eventBus.addListener(MEGACells::initCapabilities); eventBus.addListener(MEGACells::initPartCapabilities); eventBus.addListener(MEGACells::initPacketHandlers); + eventBus.addListener(MEGADataMaps::register); CompressionService.init(); - NeoForge.EVENT_BUS.addListener(MEGACells::initVillagerTrades); container.registerConfig(ModConfig.Type.COMMON, MEGAConfig.SPEC); } - public static ResourceLocation makeId(String path) { - return ResourceLocation.fromNamespaceAndPath(MODID, path); + public static Identifier makeId(String path) { + return Identifier.fromNamespaceAndPath(MODID, path); } private static void initUpgrades(FMLCommonSetupEvent event) { @@ -154,26 +141,9 @@ private static void initStorageCells(FMLCommonSetupEvent event) { : HotkeyAction.PORTABLE_FLUID_CELL); } } - - if (Addons.APPMEK.isLoaded()) { - StorageCells.addCellHandler(RadioactiveCellItem.HANDLER); - } }); } - private static void initVillagerTrades(VillagerTradesEvent event) { - if (event.getType() == InitVillager.PROFESSION) { - var trades = event.getTrades().get(5); - trades.add(villagerTrade(MEGAItems.SKY_STEEL_INGOT, 8, 3, 20)); - trades.add(villagerTrade(MEGAItems.ACCUMULATION_PROCESSOR_PRESS, 40, 1, 50)); - } - } - - private static VillagerTrades.ItemListing villagerTrade(ItemLike item, int cost, int quantity, int xp) { - return (entity, random) -> - new MerchantOffer(new ItemCost(Items.EMERALD, cost), new ItemStack(item, quantity), 12, xp, 0.05F); - } - @SuppressWarnings("UnstableApiUsage") private static void initCapabilities(RegisterCapabilitiesEvent event) { for (var type : MEGABlockEntities.DR.getEntries()) { @@ -198,8 +168,9 @@ private static void initCapabilities(RegisterCapabilitiesEvent event) { for (var cell : MEGAItems.getTieredCells()) { if (cell.portable() && cell.item().asItem() instanceof IAEItemPowerStorage powered) { event.registerItem( - Capabilities.EnergyStorage.ITEM, - (stack, context) -> new PoweredItemCapabilities(stack, powered), + Capabilities.Energy.ITEM, + (stack, context) -> + new PoweredItemCapabilities(context, cell.item().asItem(), powered), cell.item()); } } @@ -222,8 +193,8 @@ private static void initPartCapabilities(RegisterPartCapabilitiesEvent event) { MEGAPatternProviderPart.class); event.register( - Capabilities.ItemHandler.BLOCK, - (part, ctx) -> part.getCellInventory().toItemHandler(), + Capabilities.Item.BLOCK, + (part, ctx) -> part.getCellInventory().toResourceHandler(), CellDockPart.class); } diff --git a/src/main/java/gripe/_90/megacells/block/MEGACraftingUnitType.java b/src/main/java/gripe/_90/megacells/block/MEGACraftingUnitType.java index cac9202b..1ff3b19d 100644 --- a/src/main/java/gripe/_90/megacells/block/MEGACraftingUnitType.java +++ b/src/main/java/gripe/_90/megacells/block/MEGACraftingUnitType.java @@ -1,5 +1,7 @@ package gripe._90.megacells.block; +import com.mojang.serialization.Codec; + import net.minecraft.world.item.Item; import appeng.block.crafting.ICraftingUnitType; @@ -17,6 +19,17 @@ public enum MEGACraftingUnitType implements ICraftingUnitType { STORAGE_256M(256, "256m_storage"), MONITOR(0, "monitor"); + public static final Codec CODEC = Codec.STRING.xmap( + id -> { + for (var type : values()) { + if (type.affix.equals(id)) { + return type; + } + } + throw new IllegalArgumentException("Unknown MEGA crafting unit type: " + id); + }, + MEGACraftingUnitType::getAffix); + private final int storageMb; private final String affix; diff --git a/src/main/java/gripe/_90/megacells/block/MEGAInterfaceBlock.java b/src/main/java/gripe/_90/megacells/block/MEGAInterfaceBlock.java index 57a03105..f388d2fb 100644 --- a/src/main/java/gripe/_90/megacells/block/MEGAInterfaceBlock.java +++ b/src/main/java/gripe/_90/megacells/block/MEGAInterfaceBlock.java @@ -17,8 +17,8 @@ import gripe._90.megacells.block.entity.MEGAInterfaceBlockEntity; public class MEGAInterfaceBlock extends AEBaseEntityBlock { - public MEGAInterfaceBlock() { - super(AEBaseBlock.metalProps()); + public MEGAInterfaceBlock(Properties properties) { + super(AEBaseBlock.metalProps(properties)); } @NotNull @@ -36,7 +36,7 @@ public InteractionResult useWithoutItem( be.openMenu(player, MenuLocators.forBlockEntity(be)); } - return InteractionResult.sidedSuccess(level.isClientSide()); + return InteractionResult.SUCCESS; } return InteractionResult.PASS; diff --git a/src/main/java/gripe/_90/megacells/block/MEGAPatternProviderBlock.java b/src/main/java/gripe/_90/megacells/block/MEGAPatternProviderBlock.java index d9c10401..43b27b05 100644 --- a/src/main/java/gripe/_90/megacells/block/MEGAPatternProviderBlock.java +++ b/src/main/java/gripe/_90/megacells/block/MEGAPatternProviderBlock.java @@ -8,7 +8,6 @@ import net.minecraft.core.Direction; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -16,6 +15,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.EnumProperty; +import net.minecraft.world.level.redstone.Orientation; import net.minecraft.world.phys.BlockHitResult; import appeng.api.networking.IManagedGridNode; @@ -37,8 +37,8 @@ public class MEGAPatternProviderBlock extends AEBaseEntityBlock { private static final EnumProperty PUSH_DIRECTION = PatternProviderBlock.PUSH_DIRECTION; - public MEGAPatternProviderBlock() { - super(AEBaseBlock.metalProps()); + public MEGAPatternProviderBlock(Properties properties) { + super(AEBaseBlock.metalProps(properties)); registerDefaultState(defaultBlockState().setValue(PUSH_DIRECTION, PushDirection.ALL)); } @@ -58,7 +58,7 @@ protected void createBlockStateDefinition(StateDefinition.Builder lines, TooltipFlag advTooltips) { - lines.add(MEGATranslations.ProcessingOnly.text().withStyle(NOTICE)); + ItemStack stack, TooltipContext context, Consumer lines, TooltipFlag advTooltips) { + lines.accept(MEGATranslations.ProcessingOnly.text().withStyle(NOTICE)); } } diff --git a/src/main/java/gripe/_90/megacells/client/MEGACellsClient.java b/src/main/java/gripe/_90/megacells/client/MEGACellsClient.java index 250eb2e2..dc7e4720 100644 --- a/src/main/java/gripe/_90/megacells/client/MEGACellsClient.java +++ b/src/main/java/gripe/_90/megacells/client/MEGACellsClient.java @@ -1,73 +1,58 @@ package gripe._90.megacells.client; -import java.util.ArrayList; - -import net.minecraft.client.renderer.item.ItemProperties; import net.minecraft.server.packs.PackType; import net.minecraft.server.packs.repository.Pack; import net.minecraft.server.packs.repository.PackSource; -import net.minecraft.util.FastColor; -import net.minecraft.world.level.ItemLike; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.common.Mod; -import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; import net.neoforged.neoforge.client.event.EntityRenderersEvent; +import net.neoforged.neoforge.client.event.RegisterBlockStateModels; import net.neoforged.neoforge.client.event.RegisterClientTooltipComponentFactoriesEvent; -import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent; import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent; import net.neoforged.neoforge.event.AddPackFindersEvent; import appeng.api.client.StorageCellModels; -import appeng.block.networking.EnergyCellBlockItem; +import appeng.client.InitScreens; +import appeng.client.api.renderer.parts.RegisterPartRendererEvent; import appeng.client.gui.implementations.InterfaceScreen; import appeng.client.gui.implementations.PatternProviderScreen; -import appeng.client.render.crafting.CraftingCubeModel; -import appeng.client.render.crafting.CraftingMonitorRenderer; -import appeng.core.AppEng; -import appeng.hooks.BuiltInModelHooks; -import appeng.init.client.InitScreens; -import appeng.items.storage.BasicStorageCell; -import appeng.items.tools.powered.PortableCellItem; +import appeng.client.renderer.blockentity.CraftingMonitorRenderer; import appeng.menu.implementations.InterfaceMenu; import appeng.menu.implementations.PatternProviderMenu; import gripe._90.megacells.MEGACells; -import gripe._90.megacells.block.MEGACraftingUnitType; +import gripe._90.megacells.client.render.CellDockPartRenderer; import gripe._90.megacells.client.render.MEGACraftingUnitModelProvider; import gripe._90.megacells.client.render.PortableCellWorkbenchClientTooltipComponent; import gripe._90.megacells.client.screen.CellDockScreen; import gripe._90.megacells.client.screen.PortableCellWorkbenchScreen; import gripe._90.megacells.definition.MEGABlockEntities; -import gripe._90.megacells.definition.MEGABlocks; import gripe._90.megacells.definition.MEGAItems; import gripe._90.megacells.definition.MEGAMenus; import gripe._90.megacells.definition.MEGATranslations; -import gripe._90.megacells.integration.Addons; -import gripe._90.megacells.integration.appliede.AppliedEIntegration; import gripe._90.megacells.item.cell.PortableCellWorkbenchTooltipComponent; +import gripe._90.megacells.item.part.CellDockPart; @Mod(value = MEGACells.MODID, dist = Dist.CLIENT) public class MEGACellsClient { public MEGACellsClient(IEventBus eventBus) { - initCraftingUnitModels(); - eventBus.addListener(MEGACellsClient::initScreens); - eventBus.addListener(MEGACellsClient::initBlockEntityRenderers); - eventBus.addListener(MEGACellsClient::initEnergyCellProps); eventBus.addListener(MEGACellsClient::initStorageCellModels); - eventBus.addListener(MEGACellsClient::initItemColours); + eventBus.addListener(MEGACellsClient::registerBlockStateModels); + eventBus.addListener(MEGACellsClient::initBlockEntityRenderers); eventBus.addListener(MEGACellsClient::initTooltipComponents); + eventBus.addListener(MEGACellsClient::initPartRenderers); eventBus.addListener(MEGACellsClient::initResourcePackFinder); } - private static void initCraftingUnitModels() { - for (var type : MEGACraftingUnitType.values()) { - BuiltInModelHooks.addBuiltInModel( - MEGACells.makeId("block/crafting/" + type.getAffix() + "_formed"), - new CraftingCubeModel(new MEGACraftingUnitModelProvider(type))); - } + private static void initPartRenderers(RegisterPartRendererEvent event) { + event.register(CellDockPart.class, new CellDockPartRenderer()); + } + + private static void registerBlockStateModels(RegisterBlockStateModels event) { + event.registerModel(MEGACraftingUnitModelProvider.Unbaked.ID, MEGACraftingUnitModelProvider.Unbaked.MAP_CODEC); } private static void initScreens(RegisterMenuScreensEvent event) { @@ -88,30 +73,26 @@ private static void initScreens(RegisterMenuScreensEvent event) { MEGAMenus.PORTABLE_CELL_WORKBENCH.get(), PortableCellWorkbenchScreen::new, "/screens/megacells/portable_cell_workbench.json"); - - if (Addons.APPLIEDE.isLoaded()) { - InitScreens.register( - event, - AppliedEIntegration.MEGA_EMC_INTERFACE_MENU.get(), - gripe._90.appliede.client.screen.EMCInterfaceScreen::new, - "/screens/megacells/mega_emc_interface.json"); - } } private static void initBlockEntityRenderers(EntityRenderersEvent.RegisterRenderers event) { event.registerBlockEntityRenderer(MEGABlockEntities.MEGA_CRAFTING_MONITOR.get(), CraftingMonitorRenderer::new); } - private static void initEnergyCellProps(FMLClientSetupEvent event) { - event.enqueueWork(() -> ItemProperties.register( - MEGABlocks.MEGA_ENERGY_CELL.asItem(), AppEng.makeId("fill_level"), (is, level, entity, i) -> { - var energyCell = (EnergyCellBlockItem) MEGABlocks.MEGA_ENERGY_CELL.asItem(); - - double curPower = energyCell.getAECurrentPower(is); - double maxPower = energyCell.getAEMaxPower(is); + private static void initTooltipComponents(RegisterClientTooltipComponentFactoriesEvent event) { + event.register(PortableCellWorkbenchTooltipComponent.class, PortableCellWorkbenchClientTooltipComponent::new); + } - return (float) (curPower / maxPower); - })); + private static void initResourcePackFinder(AddPackFindersEvent event) { + if (event.getPackType() == PackType.CLIENT_RESOURCES) { + event.addPackFinders( + MEGACells.makeId("optional_cell_colours"), + PackType.CLIENT_RESOURCES, + MEGATranslations.ClassicCellColours.text(), + PackSource.BUILT_IN, + false, + Pack.Position.TOP); + } } private static void initStorageCellModels(FMLCommonSetupEvent event) { @@ -136,39 +117,4 @@ private static void initStorageCellModels(FMLCommonSetupEvent event) { + MEGAItems.RADIOACTIVE_CHEMICAL_CELL.id().getPath())); }); } - - private static void initItemColours(RegisterColorHandlersEvent.Item event) { - var standardCells = new ArrayList(); - var portableCells = new ArrayList(); - - for (var cell : MEGAItems.getTieredCells()) { - (cell.portable() ? portableCells : standardCells).add(cell.item()); - } - - standardCells.add(MEGAItems.BULK_ITEM_CELL); - standardCells.add(MEGAItems.RADIOACTIVE_CHEMICAL_CELL); - - event.register( - (stack, tintIndex) -> FastColor.ARGB32.opaque(BasicStorageCell.getColor(stack, tintIndex)), - standardCells.toArray(new ItemLike[0])); - event.register( - (stack, tintIndex) -> FastColor.ARGB32.opaque(PortableCellItem.getColor(stack, tintIndex)), - portableCells.toArray(new ItemLike[0])); - } - - private static void initTooltipComponents(RegisterClientTooltipComponentFactoriesEvent event) { - event.register(PortableCellWorkbenchTooltipComponent.class, PortableCellWorkbenchClientTooltipComponent::new); - } - - private static void initResourcePackFinder(AddPackFindersEvent event) { - if (event.getPackType() == PackType.CLIENT_RESOURCES) { - event.addPackFinders( - MEGACells.makeId("optional_cell_colours"), - PackType.CLIENT_RESOURCES, - MEGATranslations.ClassicCellColours.text(), - PackSource.BUILT_IN, - false, - Pack.Position.TOP); - } - } } diff --git a/src/main/java/gripe/_90/megacells/client/render/CellDockPartRenderer.java b/src/main/java/gripe/_90/megacells/client/render/CellDockPartRenderer.java new file mode 100644 index 00000000..957f89fe --- /dev/null +++ b/src/main/java/gripe/_90/megacells/client/render/CellDockPartRenderer.java @@ -0,0 +1,93 @@ +package gripe._90.megacells.client.render; + +import com.mojang.blaze3d.vertex.PoseStack; + +import org.joml.Vector3f; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.SubmitNodeCollector; +import net.minecraft.client.renderer.item.ItemModelResolver; +import net.minecraft.client.renderer.state.level.CameraRenderState; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; + +import appeng.api.orientation.BlockOrientation; +import appeng.api.storage.cells.CellState; +import appeng.client.api.renderer.parts.PartRenderer; +import appeng.client.render.AERenderTypes; +import appeng.client.renderer.blockentity.CellLedRenderer; + +import gripe._90.megacells.item.part.CellDockPart; + +public class CellDockPartRenderer implements PartRenderer { + private final ItemModelResolver itemModelResolver = Minecraft.getInstance().getItemModelResolver(); + + @Override + public CellDockRenderState createState() { + return new CellDockRenderState(); + } + + @Override + public Class stateClass() { + return CellDockRenderState.class; + } + + @Override + public void extract(CellDockPart part, CellDockRenderState state, float partialTicks) { + state.orientation = BlockOrientation.get(part.getSide(), part.getSpin()); + state.cell.clear(); + + var cellItem = part.getCellItem(0); + if (cellItem != null) { + itemModelResolver.updateForTopItem( + state.cell, new ItemStack(cellItem), ItemDisplayContext.FIXED, part.getLevel(), null, (int) + part.getBlockEntity().getBlockPos().asLong()); + } + + state.ledColor = getLedColor(part.getCellStatus(0), part.isPowered()); + } + + @Override + public void submit( + CellDockRenderState state, + PoseStack poseStack, + SubmitNodeCollector nodes, + CameraRenderState cameraRenderState) { + poseStack.pushPose(); + poseStack.translate(0.5, 0.5, 0.5); + poseStack.mulPose(state.orientation.getQuaternion()); + + if (!state.cell.isEmpty()) { + poseStack.pushPose(); + poseStack.translate(0, 0, 0.47); + poseStack.scale(0.42f, 0.42f, 0.42f); + state.cell.submit(poseStack, nodes, state.lightCoords, OverlayTexture.NO_OVERLAY, 0); + poseStack.popPose(); + } + + if (state.ledColor != null) { + poseStack.pushPose(); + poseStack.translate(-5 / 16f, -5 / 16f, 7.01f / 16f); + nodes.submitCustomGeometry( + poseStack, + AERenderTypes.STORAGE_CELL_LEDS, + (pose, consumer) -> CellLedRenderer.renderLed(state.ledColor, consumer, pose)); + poseStack.popPose(); + } + + poseStack.popPose(); + } + + private static Vector3f getLedColor(CellState state, boolean powered) { + if (state == CellState.ABSENT) { + return null; + } + if (!powered) { + return new Vector3f(); + } + + var color = state.getStateColor(); + return new Vector3f(((color >> 16) & 0xFF) / 255f, ((color >> 8) & 0xFF) / 255f, (color & 0xFF) / 255f); + } +} diff --git a/src/main/java/gripe/_90/megacells/client/render/CellDockRenderState.java b/src/main/java/gripe/_90/megacells/client/render/CellDockRenderState.java new file mode 100644 index 00000000..44b346d5 --- /dev/null +++ b/src/main/java/gripe/_90/megacells/client/render/CellDockRenderState.java @@ -0,0 +1,14 @@ +package gripe._90.megacells.client.render; + +import org.joml.Vector3f; + +import net.minecraft.client.renderer.item.ItemStackRenderState; + +import appeng.api.orientation.BlockOrientation; +import appeng.client.api.renderer.parts.PartDynamicRenderState; + +public class CellDockRenderState extends PartDynamicRenderState { + public final ItemStackRenderState cell = new ItemStackRenderState(); + public BlockOrientation orientation; + public Vector3f ledColor; +} diff --git a/src/main/java/gripe/_90/megacells/client/render/FaceRotatingModel.java b/src/main/java/gripe/_90/megacells/client/render/FaceRotatingModel.java deleted file mode 100644 index 0f8d945f..00000000 --- a/src/main/java/gripe/_90/megacells/client/render/FaceRotatingModel.java +++ /dev/null @@ -1,59 +0,0 @@ -package gripe._90.megacells.client.render; - -import java.util.ArrayList; -import java.util.List; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.block.model.BakedQuad; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.block.state.BlockState; -import net.neoforged.neoforge.client.model.data.ModelData; - -import appeng.api.orientation.BlockOrientation; -import appeng.client.render.DelegateBakedModel; - -/** - * Temporary copy of {@link appeng.client.render.tesr.ChestBlockEntityRenderer.FaceRotatingModel} - */ -public class FaceRotatingModel extends DelegateBakedModel { - private final BlockOrientation orientation; - - public FaceRotatingModel(BakedModel base, BlockOrientation orientation) { - super(base); - this.orientation = orientation; - } - - @NotNull - @Override - public List getQuads( - @Nullable BlockState state, - @Nullable Direction side, - @NotNull RandomSource rand, - @NotNull ModelData extraData, - RenderType renderType) { - if (side != null) { - side = orientation.resultingRotate(side); - } - - var quads = new ArrayList<>(super.getQuads(state, side, rand, extraData, renderType)); - - for (int i = 0; i < quads.size(); i++) { - var quad = quads.get(i); - quads.set( - i, - new BakedQuad( - quad.getVertices(), - quad.getTintIndex(), - orientation.rotate(quad.getDirection()), - quad.getSprite(), - quad.isShade())); - } - - return quads; - } -} diff --git a/src/main/java/gripe/_90/megacells/client/render/MEGACraftingUnitModelProvider.java b/src/main/java/gripe/_90/megacells/client/render/MEGACraftingUnitModelProvider.java index bf89de38..3dcd7874 100644 --- a/src/main/java/gripe/_90/megacells/client/render/MEGACraftingUnitModelProvider.java +++ b/src/main/java/gripe/_90/megacells/client/render/MEGACraftingUnitModelProvider.java @@ -1,14 +1,15 @@ package gripe._90.megacells.client.render; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.function.Function; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.client.resources.model.Material; -import net.minecraft.world.inventory.InventoryMenu; +import net.minecraft.client.renderer.block.dispatch.BlockStateModel; +import net.minecraft.client.resources.model.ModelBaker; +import net.minecraft.client.resources.model.ModelDebugName; +import net.minecraft.client.resources.model.sprite.Material; +import net.minecraft.client.resources.model.sprite.MaterialBaker; +import net.minecraft.resources.Identifier; +import net.neoforged.neoforge.client.model.block.CustomUnbakedBlockStateModel; import appeng.client.render.crafting.AbstractCraftingUnitModelProvider; import appeng.client.render.crafting.LightBakedModel; @@ -19,82 +20,97 @@ import gripe._90.megacells.MEGACells; import gripe._90.megacells.block.MEGACraftingUnitType; -public class MEGACraftingUnitModelProvider extends AbstractCraftingUnitModelProvider { - private static final List MATERIALS = new ArrayList<>(); - - protected static final Material RING_CORNER = texture("ring_corner"); - protected static final Material RING_SIDE_HOR = texture("ring_side_hor"); - protected static final Material RING_SIDE_VER = texture("ring_side_ver"); - protected static final Material UNIT_BASE = texture("unit_base"); - protected static final Material LIGHT_BASE = texture("light_base"); - protected static final Material ACCELERATOR_LIGHT = texture("accelerator_light"); - protected static final Material STORAGE_1M_LIGHT = texture("1m_storage_light"); - protected static final Material STORAGE_4M_LIGHT = texture("4m_storage_light"); - protected static final Material STORAGE_16M_LIGHT = texture("16m_storage_light"); - protected static final Material STORAGE_64M_LIGHT = texture("64m_storage_light"); - protected static final Material STORAGE_256M_LIGHT = texture("256m_storage_light"); - protected static final Material MONITOR_BASE = texture("monitor_base"); - protected static final Material MONITOR_LIGHT_DARK = monitorLight("dark"); - protected static final Material MONITOR_LIGHT_MEDIUM = monitorLight("medium"); - protected static final Material MONITOR_LIGHT_BRIGHT = monitorLight("bright"); +public class MEGACraftingUnitModelProvider extends AbstractCraftingUnitModelProvider + implements ModelDebugName { + private static final Material RING_CORNER = texture("ring_corner"); + private static final Material RING_SIDE_HOR = texture("ring_side_hor"); + private static final Material RING_SIDE_VER = texture("ring_side_ver"); + private static final Material UNIT_BASE = texture("unit_base"); + private static final Material LIGHT_BASE = texture("light_base"); + private static final Material ACCELERATOR_LIGHT = texture("accelerator_light"); + private static final Material STORAGE_1M_LIGHT = texture("1m_storage_light"); + private static final Material STORAGE_4M_LIGHT = texture("4m_storage_light"); + private static final Material STORAGE_16M_LIGHT = texture("16m_storage_light"); + private static final Material STORAGE_64M_LIGHT = texture("64m_storage_light"); + private static final Material STORAGE_256M_LIGHT = texture("256m_storage_light"); + private static final Material MONITOR_BASE = texture("monitor_base"); + private static final Material MONITOR_LIGHT_DARK = monitorLight("dark"); + private static final Material MONITOR_LIGHT_MEDIUM = monitorLight("medium"); + private static final Material MONITOR_LIGHT_BRIGHT = monitorLight("bright"); public MEGACraftingUnitModelProvider(MEGACraftingUnitType type) { super(type); } - @Override - public List getMaterials() { - return Collections.unmodifiableList(MATERIALS); - } - - public TextureAtlasSprite getLightMaterial(Function textureGetter) { + private Material.Baked getLightMaterial(MaterialBaker materialBaker) { return switch (type) { - case ACCELERATOR -> textureGetter.apply(ACCELERATOR_LIGHT); - case STORAGE_1M -> textureGetter.apply(STORAGE_1M_LIGHT); - case STORAGE_4M -> textureGetter.apply(STORAGE_4M_LIGHT); - case STORAGE_16M -> textureGetter.apply(STORAGE_16M_LIGHT); - case STORAGE_64M -> textureGetter.apply(STORAGE_64M_LIGHT); - case STORAGE_256M -> textureGetter.apply(STORAGE_256M_LIGHT); + case ACCELERATOR -> materialBaker.get(ACCELERATOR_LIGHT, this); + case STORAGE_1M -> materialBaker.get(STORAGE_1M_LIGHT, this); + case STORAGE_4M -> materialBaker.get(STORAGE_4M_LIGHT, this); + case STORAGE_16M -> materialBaker.get(STORAGE_16M_LIGHT, this); + case STORAGE_64M -> materialBaker.get(STORAGE_64M_LIGHT, this); + case STORAGE_256M -> materialBaker.get(STORAGE_256M_LIGHT, this); default -> throw new IllegalArgumentException( "Crafting unit type " + type + " does not use a light texture."); }; } @Override - public BakedModel getBakedModel(Function spriteGetter) { - TextureAtlasSprite ringCorner = spriteGetter.apply(RING_CORNER); - TextureAtlasSprite ringSideHor = spriteGetter.apply(RING_SIDE_HOR); - TextureAtlasSprite ringSideVer = spriteGetter.apply(RING_SIDE_VER); + public BlockStateModel bake(MaterialBaker materialBaker) { + var ringCorner = materialBaker.get(RING_CORNER, this); + var ringSideHor = materialBaker.get(RING_SIDE_HOR, this); + var ringSideVer = materialBaker.get(RING_SIDE_VER, this); return switch (type) { - case UNIT -> new UnitBakedModel(ringCorner, ringSideHor, ringSideVer, spriteGetter.apply(UNIT_BASE)); + case UNIT -> new UnitBakedModel(ringCorner, ringSideHor, ringSideVer, materialBaker.get(UNIT_BASE, this)); case ACCELERATOR, STORAGE_1M, STORAGE_4M, STORAGE_16M, STORAGE_64M, STORAGE_256M -> new LightBakedModel( ringCorner, ringSideHor, ringSideVer, - spriteGetter.apply(LIGHT_BASE), - getLightMaterial(spriteGetter)); + materialBaker.get(LIGHT_BASE, this), + getLightMaterial(materialBaker)); case MONITOR -> new MonitorBakedModel( ringCorner, ringSideHor, ringSideVer, - spriteGetter.apply(UNIT_BASE), - spriteGetter.apply(MONITOR_BASE), - spriteGetter.apply(MONITOR_LIGHT_DARK), - spriteGetter.apply(MONITOR_LIGHT_MEDIUM), - spriteGetter.apply(MONITOR_LIGHT_BRIGHT)); + materialBaker.get(UNIT_BASE, this), + materialBaker.get(MONITOR_BASE, this), + materialBaker.get(MONITOR_LIGHT_DARK, this), + materialBaker.get(MONITOR_LIGHT_MEDIUM, this), + materialBaker.get(MONITOR_LIGHT_BRIGHT, this)); }; } private static Material texture(String name) { - var material = new Material(InventoryMenu.BLOCK_ATLAS, MEGACells.makeId("block/crafting/" + name)); - MATERIALS.add(material); - return material; + return new Material(MEGACells.makeId("block/crafting/" + name)); } private static Material monitorLight(String suffix) { - var material = new Material(InventoryMenu.BLOCK_ATLAS, AppEng.makeId("block/crafting/monitor_light_" + suffix)); - MATERIALS.add(material); - return material; + return new Material(AppEng.makeId("block/crafting/monitor_light_" + suffix)); + } + + @Override + public String debugName() { + return getClass().toString(); + } + + public record Unbaked(MEGACraftingUnitType type) implements CustomUnbakedBlockStateModel { + public static final Identifier ID = MEGACells.makeId("crafting_cube"); + public static final MapCodec MAP_CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + MEGACraftingUnitType.CODEC.fieldOf("unit_type").forGetter(Unbaked::type)) + .apply(instance, Unbaked::new)); + + @Override + public BlockStateModel bake(ModelBaker baker) { + return new MEGACraftingUnitModelProvider(type).bake(baker.materials()); + } + + @Override + public void resolveDependencies(Resolver resolver) {} + + @Override + public MapCodec codec() { + return MAP_CODEC; + } } } diff --git a/src/main/java/gripe/_90/megacells/client/render/PortableCellWorkbenchClientTooltipComponent.java b/src/main/java/gripe/_90/megacells/client/render/PortableCellWorkbenchClientTooltipComponent.java index 611bf4de..edfb07d1 100644 --- a/src/main/java/gripe/_90/megacells/client/render/PortableCellWorkbenchClientTooltipComponent.java +++ b/src/main/java/gripe/_90/megacells/client/render/PortableCellWorkbenchClientTooltipComponent.java @@ -1,17 +1,14 @@ package gripe._90.megacells.client.render; import org.jetbrains.annotations.NotNull; -import org.joml.Matrix4f; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent; -import net.minecraft.client.renderer.LightTexture; -import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.network.chat.Component; -import appeng.api.client.AEKeyRendering; +import appeng.client.api.AEKeyRendering; import appeng.items.storage.StorageCellTooltipComponent; import gripe._90.megacells.definition.MEGATranslations; @@ -23,15 +20,13 @@ public record PortableCellWorkbenchClientTooltipComponent(PortableCellWorkbenchT private static final Component CONFIG_LABEL = MEGATranslations.WorkbenchConfig.text(); @Override - public int getHeight() { + public int getHeight(Font font) { var height = 0; - if (!tooltipComponent.config().isEmpty()) { height += 17; } var cellOpt = tooltipComponent.cell().getTooltipImage(); - if (cellOpt.isPresent() && cellOpt.get() instanceof StorageCellTooltipComponent) { height += 17; } @@ -41,115 +36,68 @@ public int getHeight() { @Override public int getWidth(@NotNull Font font) { var width = 0; - if (!tooltipComponent.config().isEmpty()) { var configWidth = tooltipComponent.config().size() * 17; - if (tooltipComponent.hasMoreConfig()) { configWidth += 10; } - - width = font.width(CONFIG_LABEL) + 2 + Math.max(width, configWidth); + width = font.width(CONFIG_LABEL) + 2 + configWidth; } var cellOpt = tooltipComponent.cell().getTooltipImage(); - if (cellOpt.isPresent() && cellOpt.get() instanceof StorageCellTooltipComponent cellComponent) { width = Math.max( width, font.width(CELL_LABEL) + 2 + 17 * (cellComponent.upgrades().size() + 1)); } - return width; } @Override - public void renderText( - @NotNull Font font, - int x, - int y, - @NotNull Matrix4f matrix, - @NotNull MultiBufferSource.BufferSource bufferSource) { - y += (16 - font.lineHeight) / 2; - + public void extractText(GuiGraphicsExtractor guiGraphics, @NotNull Font font, int x, int y) { + var yOffset = (16 - font.lineHeight) / 2; if (!tooltipComponent.config().isEmpty()) { - font.drawInBatch( - CONFIG_LABEL, - x, - y, - 0x7E7E7E, - false, - matrix, - bufferSource, - Font.DisplayMode.NORMAL, - 0, - LightTexture.FULL_BRIGHT); - + guiGraphics.text(font, CONFIG_LABEL, x, y + yOffset, 0x7E7E7E, false); if (tooltipComponent.hasMoreConfig()) { - font.drawInBatch( - "…", + guiGraphics.text( + font, + "\u2026", x + font.width(CONFIG_LABEL) + 4 + tooltipComponent.config().size() * 17, y + 2, -1, - false, - matrix, - bufferSource, - Font.DisplayMode.NORMAL, - 0, - LightTexture.FULL_BRIGHT); + false); } - y += 17; } if (!tooltipComponent.cell().isEmpty()) { - font.drawInBatch( - CELL_LABEL, - x, - y, - 0x7E7E7E, - false, - matrix, - bufferSource, - Font.DisplayMode.NORMAL, - 0, - LightTexture.FULL_BRIGHT); + guiGraphics.text(font, CELL_LABEL, x, y + yOffset, 0x7E7E7E, false); } } @Override - public void renderImage(@NotNull Font font, int x, int y, @NotNull GuiGraphics guiGraphics) { + public void extractImage( + @NotNull Font font, int x, int y, int width, int height, @NotNull GuiGraphicsExtractor guiGraphics) { var config = tooltipComponent.config(); - if (!config.isEmpty()) { - var xOff = font.width(CONFIG_LABEL) + 2; - + var xOffset = font.width(CONFIG_LABEL) + 2; for (var stack : config) { - AEKeyRendering.drawInGui(Minecraft.getInstance(), guiGraphics, x + xOff, y, stack.what()); - xOff += 17; + AEKeyRendering.drawInGui(Minecraft.getInstance(), guiGraphics, x + xOffset, y, stack.what()); + xOffset += 17; } - y += 17; } var cellOpt = tooltipComponent.cell().getTooltipImage(); - if (cellOpt.isPresent() && cellOpt.get() instanceof StorageCellTooltipComponent cellComponent) { - var xOff = font.width(CELL_LABEL) + 2; - guiGraphics.renderItem(tooltipComponent.cell(), x + xOff, y); - - var upgrades = cellComponent.upgrades(); - - if (!upgrades.isEmpty()) { - xOff += 17; - - for (var upgrade : upgrades) { - guiGraphics.renderItem(upgrade, x + xOff, y); - xOff += 17; - } + var xOffset = font.width(CELL_LABEL) + 2; + guiGraphics.item(tooltipComponent.cell(), x + xOffset, y); + for (var upgrade : cellComponent.upgrades()) { + xOffset += 17; + guiGraphics.item(upgrade, x + xOffset, y); } } } diff --git a/src/main/java/gripe/_90/megacells/client/screen/CompressionCutoffButton.java b/src/main/java/gripe/_90/megacells/client/screen/CompressionCutoffButton.java index 409faf28..f9a50448 100644 --- a/src/main/java/gripe/_90/megacells/client/screen/CompressionCutoffButton.java +++ b/src/main/java/gripe/_90/megacells/client/screen/CompressionCutoffButton.java @@ -3,12 +3,12 @@ import java.util.ArrayList; import java.util.List; -import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import appeng.client.gui.Icon; import appeng.client.gui.widgets.IconButton; +import appeng.util.Icon; import gripe._90.megacells.definition.MEGATranslations; @@ -28,6 +28,11 @@ protected Icon getIcon() { return null; } + @Override + protected Item getItemOverlay() { + return item.isEmpty() ? null : item.getItem(); + } + @Override public List getTooltipMessage() { var message = new ArrayList(); @@ -39,21 +44,4 @@ public List getTooltipMessage() { return message; } - - // TODO (AE2): Probably better that IconButton::getItemOverlay simply returned an ItemStack rather than just Item? - @Override - public void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, float partial) { - if (this.visible) { - var yOffset = isHovered() ? 1 : 0; - var bgIcon = isHovered() - ? Icon.TOOLBAR_BUTTON_BACKGROUND_HOVER - : isFocused() ? Icon.TOOLBAR_BUTTON_BACKGROUND_FOCUS : Icon.TOOLBAR_BUTTON_BACKGROUND; - - bgIcon.getBlitter() - .dest(getX() - 1, getY() + yOffset, 18, 20) - .zOffset(2) - .blit(guiGraphics); - guiGraphics.renderItem(item, getX(), getY() + 1 + yOffset, 0, 3); - } - } } diff --git a/src/main/java/gripe/_90/megacells/client/screen/PortableCellWorkbenchScreen.java b/src/main/java/gripe/_90/megacells/client/screen/PortableCellWorkbenchScreen.java index 0d97f724..e74e3b9c 100644 --- a/src/main/java/gripe/_90/megacells/client/screen/PortableCellWorkbenchScreen.java +++ b/src/main/java/gripe/_90/megacells/client/screen/PortableCellWorkbenchScreen.java @@ -17,7 +17,6 @@ import appeng.api.stacks.AEItemKey; import appeng.api.stacks.GenericStack; import appeng.api.storage.StorageCells; -import appeng.client.gui.Icon; import appeng.client.gui.implementations.UpgradeableScreen; import appeng.client.gui.style.ScreenStyle; import appeng.client.gui.widgets.ActionButton; @@ -25,6 +24,7 @@ import appeng.client.gui.widgets.ToggleButton; import appeng.core.definitions.AEItems; import appeng.core.localization.GuiText; +import appeng.util.Icon; import gripe._90.megacells.item.cell.BulkCellInventory; import gripe._90.megacells.menu.PortableCellWorkbenchMenu; diff --git a/src/main/java/gripe/_90/megacells/definition/MEGABlockEntities.java b/src/main/java/gripe/_90/megacells/definition/MEGABlockEntities.java index 7682ed70..6f96e42e 100644 --- a/src/main/java/gripe/_90/megacells/definition/MEGABlockEntities.java +++ b/src/main/java/gripe/_90/megacells/definition/MEGABlockEntities.java @@ -20,10 +20,6 @@ import gripe._90.megacells.MEGACells; import gripe._90.megacells.block.entity.MEGAInterfaceBlockEntity; import gripe._90.megacells.block.entity.MEGAPatternProviderBlockEntity; -import gripe._90.megacells.integration.Addons; -import gripe._90.megacells.integration.appliede.AppliedEIntegration; -import gripe._90.megacells.integration.appliede.MEGAEMCInterfaceBlock; -import gripe._90.megacells.integration.appliede.MEGAEMCInterfaceBlockEntity; @SuppressWarnings({"unused", "unchecked"}) public final class MEGABlockEntities { @@ -62,18 +58,6 @@ public final class MEGABlockEntities { MEGAPatternProviderBlockEntity::new, MEGABlocks.MEGA_PATTERN_PROVIDER); - static { - if (Addons.APPLIEDE.isLoaded()) { - if (AppliedEIntegration.MEGA_EMC_INTERFACE_BE == null) { - AppliedEIntegration.MEGA_EMC_INTERFACE_BE = create( - "mega_emc_interface", - MEGAEMCInterfaceBlockEntity.class, - MEGAEMCInterfaceBlockEntity::new, - (BlockDefinition) MEGABlocks.MEGA_EMC_INTERFACE); - } - } - } - @SuppressWarnings("DataFlowIssue") @SafeVarargs private static Supplier> create( @@ -89,8 +73,7 @@ private static Supplier> create var blocks = Arrays.stream(blockDefs).map(BlockDefinition::block).toArray(AEBaseEntityBlock[]::new); var typeHolder = new AtomicReference>(); - var type = BlockEntityType.Builder.of((pos, state) -> factory.create(typeHolder.get(), pos, state), blocks) - .build(null); + var type = new BlockEntityType((pos, state) -> factory.create(typeHolder.get(), pos, state), blocks); typeHolder.set(type); AEBaseBlockEntity.registerBlockEntityItem(type, blockDefs[0].asItem()); diff --git a/src/main/java/gripe/_90/megacells/definition/MEGABlocks.java b/src/main/java/gripe/_90/megacells/definition/MEGABlocks.java index c9381bb7..df1ac272 100644 --- a/src/main/java/gripe/_90/megacells/definition/MEGABlocks.java +++ b/src/main/java/gripe/_90/megacells/definition/MEGABlocks.java @@ -5,13 +5,9 @@ import java.util.List; import java.util.function.BiFunction; import java.util.function.Function; -import java.util.function.Supplier; -import net.minecraft.network.chat.Component; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; @@ -36,7 +32,6 @@ import gripe._90.megacells.block.MEGAPatternProviderBlockItem; import gripe._90.megacells.integration.Addons; import gripe._90.megacells.integration.DummyIntegrationBlock; -import gripe._90.megacells.integration.appliede.MEGAEMCInterfaceBlock; public final class MEGABlocks { public static final DeferredRegister.Blocks DR = DeferredRegister.createBlocks(MEGACells.MODID); @@ -50,8 +45,7 @@ public static List> getBlocks() { public static final BlockDefinition SKY_STEEL_BLOCK = block( "Sky Steel Block", "sky_steel_block", - () -> new AEDecorativeBlock(BlockBehaviour.Properties.of() - .strength(5.0f, 12.0f) + p -> new AEDecorativeBlock(p.strength(5.0f, 12.0f) .requiresCorrectToolForDrops() .mapColor(MapColor.METAL) .sound(SoundType.METAL)), @@ -59,75 +53,65 @@ public static List> getBlocks() { public static final BlockDefinition SKY_BRONZE_BLOCK = block( "Sky Bronze Block", "sky_bronze_block", - () -> new AEDecorativeBlock(BlockBehaviour.Properties.of() - .strength(3.0f, 12.0f) + p -> new AEDecorativeBlock(p.strength(3.0f, 12.0f) .requiresCorrectToolForDrops() .mapColor(MapColor.METAL) .sound(SoundType.METAL)), (b, p) -> new AEBaseBlockItem(b, p.fireResistant())); - public static final BlockDefinition SKY_OSMIUM_BLOCK = integrationBlock( + public static final BlockDefinition SKY_OSMIUM_BLOCK = block( "Sky Osmium Block", "sky_osmium_block", - () -> AEDecorativeBlock::new, - BlockBehaviour.Properties.of() - .strength(7.5f, 24.0f) + p -> new DummyIntegrationBlock(p.strength(7.5f, 24.0f) .requiresCorrectToolForDrops() .mapColor(MapColor.METAL) - .sound(SoundType.METAL), - (b, p) -> new AEBaseBlockItem(b, p.fireResistant()), - Addons.APPMEK); + .sound(SoundType.METAL)), + (b, p) -> new DummyIntegrationBlock.Item(b, p.fireResistant(), Addons.APPMEK)); public static final BlockDefinition MEGA_ENERGY_CELL = block( "Superdense Energy Cell", "mega_energy_cell", - () -> new EnergyCellBlock(12800000, 3200, 12800), + p -> new EnergyCellBlock(AEBaseBlock.metalProps(p), 12800000, 3200, 12800), EnergyCellBlockItem::new); public static final BlockDefinition MEGA_CRAFTING_UNIT = block( "MEGA Crafting Unit", "mega_crafting_unit", - () -> new CraftingUnitBlock(MEGACraftingUnitType.UNIT), + p -> new CraftingUnitBlock(p, MEGACraftingUnitType.UNIT), AEBaseBlockItem::new); public static final BlockDefinition CRAFTING_ACCELERATOR = block( "MEGA Crafting Co-Processing Unit", "mega_crafting_accelerator", - () -> new CraftingUnitBlock(MEGACraftingUnitType.ACCELERATOR), - (block, props) -> new CraftingBlockItem(block, props) { - @Override - public void addCheckedInformation( - ItemStack stack, TooltipContext context, List lines, TooltipFlag adv) { - lines.add(MEGATranslations.AcceleratorThreads.text()); - } - }); + p -> new CraftingUnitBlock(p, MEGACraftingUnitType.ACCELERATOR), + CraftingBlockItem::new); public static final BlockDefinition CRAFTING_STORAGE_1M = block( "1M MEGA Crafting Storage", "1m_crafting_storage", - () -> new CraftingUnitBlock(MEGACraftingUnitType.STORAGE_1M), + p -> new CraftingUnitBlock(p, MEGACraftingUnitType.STORAGE_1M), CraftingBlockItem::new); public static final BlockDefinition CRAFTING_STORAGE_4M = block( "4M MEGA Crafting Storage", "4m_crafting_storage", - () -> new CraftingUnitBlock(MEGACraftingUnitType.STORAGE_4M), + p -> new CraftingUnitBlock(p, MEGACraftingUnitType.STORAGE_4M), CraftingBlockItem::new); public static final BlockDefinition CRAFTING_STORAGE_16M = block( "16M MEGA Crafting Storage", "16m_crafting_storage", - () -> new CraftingUnitBlock(MEGACraftingUnitType.STORAGE_16M), + p -> new CraftingUnitBlock(p, MEGACraftingUnitType.STORAGE_16M), CraftingBlockItem::new); public static final BlockDefinition CRAFTING_STORAGE_64M = block( "64M MEGA Crafting Storage", "64m_crafting_storage", - () -> new CraftingUnitBlock(MEGACraftingUnitType.STORAGE_64M), + p -> new CraftingUnitBlock(p, MEGACraftingUnitType.STORAGE_64M), CraftingBlockItem::new); public static final BlockDefinition CRAFTING_STORAGE_256M = block( "256M MEGA Crafting Storage", "256m_crafting_storage", - () -> new CraftingUnitBlock(MEGACraftingUnitType.STORAGE_256M), + p -> new CraftingUnitBlock(p, MEGACraftingUnitType.STORAGE_256M), CraftingBlockItem::new); public static final BlockDefinition CRAFTING_MONITOR = block( "MEGA Crafting Monitor", "mega_crafting_monitor", - () -> new CraftingMonitorBlock(MEGACraftingUnitType.MONITOR), + p -> new CraftingMonitorBlock(p, MEGACraftingUnitType.MONITOR), CraftingBlockItem::new); public static final BlockDefinition MEGA_INTERFACE = @@ -138,42 +122,22 @@ public void addCheckedInformation( MEGAPatternProviderBlock::new, MEGAPatternProviderBlockItem::new); - public static final BlockDefinition MEGA_EMC_INTERFACE = integrationBlock( + public static final BlockDefinition MEGA_EMC_INTERFACE = block( "MEGA Transmutation Interface", "mega_emc_interface", - () -> MEGAEMCInterfaceBlock::new, - AEBaseBlock.metalProps(), - AEBaseBlockItem::new, - Addons.APPLIEDE); + p -> new DummyIntegrationBlock(AEBaseBlock.metalProps(p)), + (b, p) -> new DummyIntegrationBlock.Item(b, p, Addons.APPLIEDE)); private static BlockDefinition block( String englishName, String id, - Supplier blockSupplier, + Function blockSupplier, BiFunction itemFactory) { - var block = DR.register(id, blockSupplier); - var item = MEGAItems.DR.register(id, () -> itemFactory.apply(block.get(), new Item.Properties())); + var block = DR.registerBlock(id, blockSupplier); + var item = MEGAItems.DR.registerItem(id, p -> itemFactory.apply(block.get(), p.useBlockDescriptionPrefix())); var definition = new BlockDefinition<>(englishName, block, new ItemDefinition<>(englishName, item)); BLOCKS.add(definition); return definition; } - - private static BlockDefinition integrationBlock( - String englishName, - String id, - Supplier> blockFactory, - BlockBehaviour.Properties blockProps, - BiFunction itemFactory, - Addons addon) { - if (!addon.isLoaded()) { - return block( - englishName, - id, - () -> new DummyIntegrationBlock(blockProps), - (b, p) -> new DummyIntegrationBlock.Item(b, p, addon)); - } - - return block(englishName, id, () -> blockFactory.get().apply(blockProps), itemFactory); - } } diff --git a/src/main/java/gripe/_90/megacells/definition/MEGAItems.java b/src/main/java/gripe/_90/megacells/definition/MEGAItems.java index 2e29ac0d..4ce116f8 100644 --- a/src/main/java/gripe/_90/megacells/definition/MEGAItems.java +++ b/src/main/java/gripe/_90/megacells/definition/MEGAItems.java @@ -6,13 +6,12 @@ import java.util.function.Function; import java.util.function.Supplier; -import net.minecraft.Util; +import net.minecraft.util.Util; import net.minecraft.world.item.Item; import net.neoforged.neoforge.registries.DeferredRegister; import appeng.api.parts.IPart; import appeng.api.parts.IPartItem; -import appeng.api.parts.PartModels; import appeng.api.stacks.AEKeyType; import appeng.core.definitions.ItemDefinition; import appeng.items.materials.EnergyCardItem; @@ -20,7 +19,6 @@ import appeng.items.materials.StorageComponentItem; import appeng.items.materials.UpgradeCardItem; import appeng.items.parts.PartItem; -import appeng.items.parts.PartModelsHelper; import appeng.items.storage.BasicStorageCell; import appeng.items.storage.StorageTier; import appeng.menu.me.common.MEStorageMenu; @@ -28,15 +26,12 @@ import gripe._90.megacells.MEGACells; import gripe._90.megacells.integration.Addons; import gripe._90.megacells.integration.DummyIntegrationItem; -import gripe._90.megacells.integration.appliede.MEGAEMCInterfacePart; -import gripe._90.megacells.integration.appmek.RadioactiveCellItem; import gripe._90.megacells.item.cell.BulkCellItem; import gripe._90.megacells.item.cell.MEGAPortableCell; import gripe._90.megacells.item.cell.PortableCellWorkbenchItem; import gripe._90.megacells.item.part.CellDockPart; import gripe._90.megacells.item.part.DecompressionModulePart; import gripe._90.megacells.item.part.MEGAInterfacePart; -import gripe._90.megacells.item.part.MEGAPatternProviderPart; import gripe._90.megacells.item.part.MEGAPatternProviderPartItem; public final class MEGAItems { @@ -105,16 +100,17 @@ public static List getTieredCells() { public static final ItemDefinition BULK_CELL_COMPONENT = item("MEGA Bulk Storage Component", "bulk_cell_component", MaterialItem::new); public static final ItemDefinition BULK_ITEM_CELL = item("MEGA Bulk Item Storage Cell", "bulk_item_cell", BulkCellItem::new); public static final ItemDefinition COMPRESSION_CARD = item("Compression Card", "compression_card", UpgradeCardItem::new); - public static final ItemDefinition> DECOMPRESSION_MODULE = part("MEGA Decompression Module", "decompression_module", DecompressionModulePart.class, DecompressionModulePart::new); - + public static final ItemDefinition> DECOMPRESSION_MODULE = part( + "MEGA Decompression Module", "decompression_module", DecompressionModulePart.class, DecompressionModulePart::new); public static final ItemDefinition> MEGA_INTERFACE = part("MEGA Interface", "cable_mega_interface", MEGAInterfacePart.class, MEGAInterfacePart::new); public static final ItemDefinition MEGA_PATTERN_PROVIDER = Util.make(() -> { - PartModels.registerModels(PartModelsHelper.createModels(MEGAPatternProviderPart.class)); return item("MEGA Pattern Provider", "cable_mega_pattern_provider", MEGAPatternProviderPartItem::new); }); - public static final ItemDefinition> CELL_DOCK = part("ME Cell Dock", "cell_dock", CellDockPart.class, CellDockPart::new); - public static final ItemDefinition PORTABLE_CELL_WORKBENCH = item("Portable Cell Workbench", "portable_cell_workbench", PortableCellWorkbenchItem::new); + public static final ItemDefinition> CELL_DOCK = + part("ME Cell Dock", "cell_dock", CellDockPart.class, CellDockPart::new); + public static final ItemDefinition PORTABLE_CELL_WORKBENCH = + item("Portable Cell Workbench", "portable_cell_workbench", PortableCellWorkbenchItem::new); public static final ItemDefinition SKY_OSMIUM_INGOT = integrationItem("Sky Osmium Ingot", "sky_osmium_ingot", () -> MaterialItem::new, Item.Properties::fireResistant, Addons.APPMEK); public static final ItemDefinition MEGA_CHEMICAL_CELL_HOUSING = integrationItem("MEGA Chemical Cell Housing", "mega_chemical_cell_housing", () -> MaterialItem::new, Addons.APPMEK); @@ -132,7 +128,7 @@ public static List getTieredCells() { public static final ItemDefinition PORTABLE_CHEMICAL_CELL_256M = integrationPortable(TIER_256M, "Chemical", Addons.APPMEK); public static final ItemDefinition RADIOACTIVE_CELL_COMPONENT = integrationItem("MEGA Radioactive Storage Component", "radioactive_cell_component", () -> MaterialItem::new, Addons.APPMEK); - public static final ItemDefinition RADIOACTIVE_CHEMICAL_CELL = integrationItem("MEGA Radioactive Chemical Storage Cell", "radioactive_chemical_cell", () -> RadioactiveCellItem::new, Addons.APPMEK); + public static final ItemDefinition RADIOACTIVE_CHEMICAL_CELL = integrationItem("MEGA Radioactive Chemical Storage Cell", "radioactive_chemical_cell", () -> MaterialItem::new, Addons.APPMEK); public static final ItemDefinition MEGA_MANA_CELL_HOUSING = integrationItem("MEGA Mana Cell Housing", "mega_mana_cell_housing", () -> MaterialItem::new, Addons.APPBOT); @@ -182,10 +178,8 @@ public static List getTieredCells() { public static final ItemDefinition SOUL_CELL_64M = integrationCell(TIER_64M, "Soul", Addons.APPLIEDSOUL); public static final ItemDefinition SOUL_CELL_256M = integrationCell(TIER_256M, "Soul", Addons.APPLIEDSOUL); public static final ItemDefinition MEGA_SOUL_CELL_HOUSING = integrationItem("MEGA Soul Cell Housing", "mega_soul_cell_housing", () -> MaterialItem::new, Addons.APPLIEDSOUL); - public static final ItemDefinition MEGA_EMC_INTERFACE = integrationItem("MEGA Transmutation Interface", "cable_mega_emc_interface", () -> p -> { - PartModels.registerModels(PartModelsHelper.createModels(MEGAEMCInterfacePart.class)); - return new PartItem<>(p, MEGAEMCInterfacePart.class, MEGAEMCInterfacePart::new); - }, Addons.APPLIEDE); + public static final ItemDefinition MEGA_EMC_INTERFACE = integrationItem( + "MEGA Transmutation Interface", "cable_mega_emc_interface", () -> MaterialItem::new, Addons.APPLIEDE); // spotless:on private static StorageTier tier(int index, ItemDefinition component) { @@ -273,7 +267,6 @@ private static ItemDefinition integrationPortable(StorageTier tier, String ty private static ItemDefinition> part( String englishName, String id, Class partClass, Function, T> factory) { - PartModels.registerModels(PartModelsHelper.createModels(partClass)); return item(englishName, id, p -> new PartItem<>(p, partClass, factory)); } diff --git a/src/main/java/gripe/_90/megacells/definition/MEGAMenus.java b/src/main/java/gripe/_90/megacells/definition/MEGAMenus.java index 8340ed6f..82199bcc 100644 --- a/src/main/java/gripe/_90/megacells/definition/MEGAMenus.java +++ b/src/main/java/gripe/_90/megacells/definition/MEGAMenus.java @@ -14,8 +14,6 @@ import appeng.menu.implementations.PatternProviderMenu; import gripe._90.megacells.MEGACells; -import gripe._90.megacells.integration.Addons; -import gripe._90.megacells.integration.appliede.AppliedEIntegration; import gripe._90.megacells.item.cell.PortableCellWorkbenchMenuHost; import gripe._90.megacells.item.part.CellDockPart; import gripe._90.megacells.menu.CellDockMenu; @@ -28,21 +26,11 @@ public final class MEGAMenus { createTyped("mega_interface", InterfaceMenu::new, InterfaceLogicHost.class); public static final Supplier> MEGA_PATTERN_PROVIDER = createTyped("mega_pattern_provider", PatternProviderMenu::new, PatternProviderLogicHost.class); - public static final Supplier> CELL_DOCK = create("cell_dock", CellDockMenu::new, CellDockPart.class); public static final Supplier> PORTABLE_CELL_WORKBENCH = create("portable_cell_workbench", PortableCellWorkbenchMenu::new, PortableCellWorkbenchMenuHost.class); - static { - if (Addons.APPLIEDE.isLoaded()) { - AppliedEIntegration.MEGA_EMC_INTERFACE_MENU = createTyped( - "mega_emc_interface", - gripe._90.appliede.menu.EMCInterfaceMenu::new, - gripe._90.appliede.me.misc.EMCInterfaceLogicHost.class); - } - } - private static Supplier> create( String id, MenuTypeBuilder.MenuFactory factory, Class host) { return DR.register(id, () -> MenuTypeBuilder.create(factory, host).buildUnregistered(MEGACells.makeId(id))); diff --git a/src/main/java/gripe/_90/megacells/definition/MEGATags.java b/src/main/java/gripe/_90/megacells/definition/MEGATags.java index 7b347589..3ce863aa 100644 --- a/src/main/java/gripe/_90/megacells/definition/MEGATags.java +++ b/src/main/java/gripe/_90/megacells/definition/MEGATags.java @@ -1,6 +1,6 @@ package gripe._90.megacells.definition; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import net.minecraft.tags.BlockTags; import net.minecraft.tags.ItemTags; import net.minecraft.tags.TagKey; @@ -8,16 +8,16 @@ import net.minecraft.world.level.block.Block; public final class MEGATags { - public static final TagKey SKY_STEEL_INGOT = ItemTags.create(ResourceLocation.parse("c:ingots/sky_steel")); - public static final TagKey SKY_BRONZE_INGOT = ItemTags.create(ResourceLocation.parse("c:ingots/sky_bronze")); - public static final TagKey SKY_OSMIUM_INGOT = ItemTags.create(ResourceLocation.parse("c:ingots/sky_osmium")); + public static final TagKey SKY_STEEL_INGOT = ItemTags.create(Identifier.parse("c:ingots/sky_steel")); + public static final TagKey SKY_BRONZE_INGOT = ItemTags.create(Identifier.parse("c:ingots/sky_bronze")); + public static final TagKey SKY_OSMIUM_INGOT = ItemTags.create(Identifier.parse("c:ingots/sky_osmium")); public static final TagKey SKY_STEEL_BLOCK = - BlockTags.create(ResourceLocation.parse("c:storage_blocks/sky_steel")); + BlockTags.create(Identifier.parse("c:storage_blocks/sky_steel")); public static final TagKey SKY_BRONZE_BLOCK = - BlockTags.create(ResourceLocation.parse("c:storage_blocks/sky_bronze")); + BlockTags.create(Identifier.parse("c:storage_blocks/sky_bronze")); public static final TagKey SKY_OSMIUM_BLOCK = - BlockTags.create(ResourceLocation.parse("c:storage_blocks/sky_osmium")); + BlockTags.create(Identifier.parse("c:storage_blocks/sky_osmium")); public static final TagKey MEGA_INTERFACE = ItemTags.create(MEGABlocks.MEGA_INTERFACE.id()); public static final TagKey MEGA_PATTERN_PROVIDER = ItemTags.create(MEGABlocks.MEGA_PATTERN_PROVIDER.id()); diff --git a/src/main/java/gripe/_90/megacells/integration/Addons.java b/src/main/java/gripe/_90/megacells/integration/Addons.java index 8e478128..4859c1b4 100644 --- a/src/main/java/gripe/_90/megacells/integration/Addons.java +++ b/src/main/java/gripe/_90/megacells/integration/Addons.java @@ -5,30 +5,21 @@ import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.neoforged.fml.ModList; -import net.neoforged.fml.loading.LoadingModList; -import net.neoforged.fml.loading.moddiscovery.ModInfo; import net.neoforged.neoforge.common.util.Lazy; import gripe._90.megacells.definition.MEGATranslations; -import gripe._90.megacells.integration.ae2wt.AE2WTIntegration; -import gripe._90.megacells.integration.appbot.AppBotIntegration; -import gripe._90.megacells.integration.appex.AppExIntegration; import gripe._90.megacells.integration.appflux.AppFluxIntegration; -import gripe._90.megacells.integration.appliede.AppliedEIntegration; -import gripe._90.megacells.integration.appmek.AppMekIntegration; -import gripe._90.megacells.integration.appsoul.AppSoulIntegration; -import gripe._90.megacells.integration.arseng.ArsEngIntegration; @SuppressWarnings("Convert2MethodRef") public enum Addons { - AE2WTLIB("AE2WTLib", () -> new AE2WTIntegration()), - APPMEK("Applied Mekanistics", () -> new AppMekIntegration()), - APPBOT("Applied Botanics", () -> new AppBotIntegration()), - ARSENG("Ars Énergistique", () -> new ArsEngIntegration()), - APPEX("Applied Experienced", () -> new AppExIntegration()), - APPFLUX("Applied Flux", () -> new AppFluxIntegration()), - APPLIEDE("AppliedE", () -> new AppliedEIntegration()), - APPLIEDSOUL("Applied Soul", () -> new AppSoulIntegration()), + AE2WTLIB("AE2WTLib"), + APPMEK("Applied Mekanistics"), + APPBOT("Applied Botanics"), + ARSENG("Ars Énergistique"), + APPEX("Applied Experienced"), + APPFLUX("Applied Flux", () -> new AppFluxIntegration(), true), + APPLIEDE("AppliedE"), + APPLIEDSOUL("Applied Soul"), // APPELEM("Applied Elemental"), ; @@ -36,8 +27,8 @@ public enum Addons { private final Supplier helper; private final boolean enabled; // TODO: Needs a more dynamic approach than this... - Addons(String modName, Supplier helper) { - this(modName, helper, true); + Addons(String modName) { + this(modName, () -> new IntegrationHelper() {}, false); } Addons(String modName, Supplier helper, boolean enabled) { @@ -55,12 +46,7 @@ public IntegrationHelper getHelper() { } public boolean isLoaded() { - return enabled - && (ModList.get() != null - ? ModList.get().isLoaded(getModId()) - : LoadingModList.get().getMods().stream() - .map(ModInfo::getModId) - .anyMatch(getModId()::equals)); + return enabled && ModList.get().isLoaded(getModId()); } public Component getUnavailableTooltip() { diff --git a/src/main/java/gripe/_90/megacells/integration/DummyIntegrationBlock.java b/src/main/java/gripe/_90/megacells/integration/DummyIntegrationBlock.java index 360e42e2..9461600e 100644 --- a/src/main/java/gripe/_90/megacells/integration/DummyIntegrationBlock.java +++ b/src/main/java/gripe/_90/megacells/integration/DummyIntegrationBlock.java @@ -1,6 +1,6 @@ package gripe._90.megacells.integration; -import java.util.List; +import java.util.function.Consumer; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; @@ -29,8 +29,8 @@ public Item(Block block, Properties props, Addons addon) { @Override public void addCheckedInformation( - ItemStack itemStack, TooltipContext context, List lines, TooltipFlag flag) { - lines.add(addon.getUnavailableTooltip()); + ItemStack itemStack, TooltipContext context, Consumer lines, TooltipFlag flag) { + lines.accept(addon.getUnavailableTooltip()); } } } diff --git a/src/main/java/gripe/_90/megacells/integration/DummyIntegrationItem.java b/src/main/java/gripe/_90/megacells/integration/DummyIntegrationItem.java index 98419593..23af41e4 100644 --- a/src/main/java/gripe/_90/megacells/integration/DummyIntegrationItem.java +++ b/src/main/java/gripe/_90/megacells/integration/DummyIntegrationItem.java @@ -1,12 +1,13 @@ package gripe._90.megacells.integration; -import java.util.List; +import java.util.function.Consumer; import javax.annotation.ParametersAreNonnullByDefault; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.component.TooltipDisplay; import appeng.items.AEBaseItem; @@ -20,8 +21,13 @@ public DummyIntegrationItem(Properties properties, Addons addon) { @ParametersAreNonnullByDefault @Override - public void appendHoverText(ItemStack stack, TooltipContext context, List lines, TooltipFlag flag) { - lines.add(addon.getUnavailableTooltip()); + public void appendHoverText( + ItemStack stack, + TooltipContext context, + TooltipDisplay display, + Consumer lines, + TooltipFlag flag) { + lines.accept(addon.getUnavailableTooltip()); } @Override diff --git a/src/main/java/gripe/_90/megacells/integration/appflux/AppFluxIntegration.java b/src/main/java/gripe/_90/megacells/integration/appflux/AppFluxIntegration.java index 770215e5..87ae5884 100644 --- a/src/main/java/gripe/_90/megacells/integration/appflux/AppFluxIntegration.java +++ b/src/main/java/gripe/_90/megacells/integration/appflux/AppFluxIntegration.java @@ -1,6 +1,7 @@ package gripe._90.megacells.integration.appflux; -import com.glodblock.github.appflux.common.AFSingletons; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.Identifier; import appeng.api.upgrades.Upgrades; import appeng.core.localization.GuiText; @@ -12,11 +13,13 @@ public class AppFluxIntegration implements IntegrationHelper { @Override public void initUpgrades() { + var inductionCard = + BuiltInRegistries.ITEM.getValue(Identifier.fromNamespaceAndPath("appflux", "induction_card")); // spotless:off - Upgrades.add(AFSingletons.INDUCTION_CARD, MEGABlocks.MEGA_INTERFACE, 1, GuiText.Interface.getTranslationKey()); - Upgrades.add(AFSingletons.INDUCTION_CARD, MEGAItems.MEGA_INTERFACE, 1, GuiText.Interface.getTranslationKey()); - Upgrades.add(AFSingletons.INDUCTION_CARD, MEGABlocks.MEGA_PATTERN_PROVIDER, 1, "group.pattern_provider.name"); - Upgrades.add(AFSingletons.INDUCTION_CARD, MEGAItems.MEGA_PATTERN_PROVIDER, 1, "group.pattern_provider.name"); + Upgrades.add(inductionCard, MEGABlocks.MEGA_INTERFACE, 1, GuiText.Interface.getTranslationKey()); + Upgrades.add(inductionCard, MEGAItems.MEGA_INTERFACE, 1, GuiText.Interface.getTranslationKey()); + Upgrades.add(inductionCard, MEGABlocks.MEGA_PATTERN_PROVIDER, 1, "group.pattern_provider.name"); + Upgrades.add(inductionCard, MEGAItems.MEGA_PATTERN_PROVIDER, 1, "group.pattern_provider.name"); // spotless:on } } diff --git a/src/main/java/gripe/_90/megacells/item/cell/BulkCellItem.java b/src/main/java/gripe/_90/megacells/item/cell/BulkCellItem.java index 66945b97..13c31ef7 100644 --- a/src/main/java/gripe/_90/megacells/item/cell/BulkCellItem.java +++ b/src/main/java/gripe/_90/megacells/item/cell/BulkCellItem.java @@ -1,9 +1,9 @@ package gripe._90.megacells.item.cell; import java.util.ArrayList; -import java.util.List; import java.util.Optional; import java.util.Set; +import java.util.function.Consumer; import javax.annotation.ParametersAreNonnullByDefault; import org.jetbrains.annotations.NotNull; @@ -14,6 +14,7 @@ import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.component.TooltipDisplay; import appeng.api.config.FuzzyMode; import appeng.api.stacks.AEKeyType; @@ -57,7 +58,8 @@ public IUpgradeInventory getUpgrades(ItemStack is) { @ParametersAreNonnullByDefault @Override - public void appendHoverText(ItemStack is, TooltipContext context, List lines, TooltipFlag flag) { + public void appendHoverText( + ItemStack is, TooltipContext context, TooltipDisplay display, Consumer lines, TooltipFlag flag) { var inv = (BulkCellInventory) HANDLER.getCellInventory(is, null); if (inv != null) { @@ -65,32 +67,32 @@ public void appendHoverText(ItemStack is, TooltipContext context, List 0) { - lines.add(Tooltips.of( + lines.accept(Tooltips.of( inv.isCompressionEnabled() ? MEGATranslations.TraceUnits.text( Tooltips.ofNumber(trace), @@ -111,7 +113,7 @@ public void appendHoverText(ItemStack is, TooltipContext context, List getMenuHost(Player player, ItemMenuHostLocator locator, @ @ParametersAreNonnullByDefault @NotNull @Override - public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + public InteractionResult use(Level level, Player player, InteractionHand hand) { if (!level.isClientSide()) { MenuOpener.open(MEGAMenus.PORTABLE_CELL_WORKBENCH.get(), player, MenuLocators.forHand(player, hand)); } - return InteractionResultHolder.sidedSuccess(player.getItemInHand(hand), level.isClientSide()); + return InteractionResult.SUCCESS; } @NotNull diff --git a/src/main/java/gripe/_90/megacells/item/cell/PortableCellWorkbenchMenuHost.java b/src/main/java/gripe/_90/megacells/item/cell/PortableCellWorkbenchMenuHost.java index eada9789..9b54c213 100644 --- a/src/main/java/gripe/_90/megacells/item/cell/PortableCellWorkbenchMenuHost.java +++ b/src/main/java/gripe/_90/megacells/item/cell/PortableCellWorkbenchMenuHost.java @@ -2,7 +2,7 @@ import java.util.function.Supplier; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -62,7 +62,7 @@ public void saveChanges() { } @Override - public InternalInventory getSubInventory(ResourceLocation id) { + public InternalInventory getSubInventory(Identifier id) { return id.equals(ISegmentedInventory.CELLS) ? cellInv.get() : null; } } diff --git a/src/main/java/gripe/_90/megacells/item/part/CellDockPart.java b/src/main/java/gripe/_90/megacells/item/part/CellDockPart.java index 65c6f97c..68b51ac7 100644 --- a/src/main/java/gripe/_90/megacells/item/part/CellDockPart.java +++ b/src/main/java/gripe/_90/megacells/item/part/CellDockPart.java @@ -2,69 +2,47 @@ import java.util.List; -import com.mojang.blaze3d.vertex.PoseStack; - import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; import net.minecraft.core.Direction; -import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.RegistryFriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import net.minecraft.util.Mth; -import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; +import net.minecraft.world.level.storage.ValueInput; +import net.minecraft.world.level.storage.ValueOutput; import net.minecraft.world.phys.Vec3; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.api.distmarker.OnlyIn; -import net.neoforged.neoforge.client.model.data.ModelData; import appeng.api.implementations.blockentities.IChestOrDrive; import appeng.api.inventories.InternalInventory; import appeng.api.networking.GridFlags; import appeng.api.networking.IGridNodeListener; -import appeng.api.orientation.BlockOrientation; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartItem; -import appeng.api.parts.IPartModel; import appeng.api.storage.IStorageMounts; import appeng.api.storage.IStorageProvider; import appeng.api.storage.MEStorage; import appeng.api.storage.StorageCells; import appeng.api.storage.cells.CellState; import appeng.api.storage.cells.StorageCell; -import appeng.block.orientation.SpinMapping; import appeng.blockentity.inventory.AppEngCellInventory; -import appeng.client.render.BakedModelUnwrapper; -import appeng.client.render.model.AEModelData; -import appeng.client.render.model.DriveBakedModel; -import appeng.client.render.tesr.CellLedRenderer; -import appeng.core.definitions.AEBlocks; import appeng.helpers.IPriorityHost; -import appeng.items.parts.PartModels; import appeng.me.storage.DriveWatcher; import appeng.menu.ISubMenu; import appeng.menu.MenuOpener; import appeng.menu.locator.MenuLocators; import appeng.parts.AEBasePart; -import appeng.parts.PartModel; import appeng.util.InteractionUtil; import appeng.util.inv.AppEngInternalInventory; import appeng.util.inv.InternalInventoryHost; import appeng.util.inv.filter.IAEItemFilter; -import gripe._90.megacells.MEGACells; -import gripe._90.megacells.client.render.FaceRotatingModel; import gripe._90.megacells.definition.MEGAItems; import gripe._90.megacells.definition.MEGAMenus; @@ -72,18 +50,13 @@ public class CellDockPart extends AEBasePart implements InternalInventoryHost, IChestOrDrive, IStorageProvider, IPriorityHost { private static final Logger LOGGER = LoggerFactory.getLogger(CellDockPart.class); - @PartModels - private static final IPartModel MODEL = new PartModel(MEGACells.makeId("part/cell_dock")); - private final AppEngCellInventory cellInventory = new AppEngCellInventory(this, 1); private DriveWatcher cellWatcher; private boolean isCached = false; private boolean wasOnline = false; private int priority = 0; - // Client-side cell attributes to display the proper dynamic model without synchronising the entire cell's inventory - // when a dock comes into view - private Item clientCell = Items.AIR; + private Item clientCell; private CellState clientCellState = CellState.ABSENT; private byte spin; @@ -97,30 +70,30 @@ public CellDockPart(IPartItem partItem) { } @Override - public void readFromNBT(CompoundTag data, HolderLookup.Provider registries) { - super.readFromNBT(data, registries); - cellInventory.setItemDirect(0, ItemStack.parseOptional(registries, data.getCompound("cell"))); - priority = data.getInt("priority"); - spin = data.getByte("spin"); + public void readFromNBT(ValueInput input) { + super.readFromNBT(input); + cellInventory.setItemDirect( + 0, input.read("cell", ItemStack.OPTIONAL_CODEC).orElse(ItemStack.EMPTY)); + priority = input.getIntOr("priority", 0); + spin = input.getByteOr("spin", (byte) 0); } @Override - public void writeToNBT(CompoundTag data, HolderLookup.Provider registries) { - super.writeToNBT(data, registries); - data.put("cell", getCell().saveOptional(registries)); - data.putInt("priority", priority); - data.putByte("spin", spin); + public void writeToNBT(ValueOutput output) { + super.writeToNBT(output); + output.store("cell", ItemStack.OPTIONAL_CODEC, getCell()); + output.putInt("priority", priority); + output.putByte("spin", spin); } @Override public boolean readFromStream(RegistryFriendlyByteBuf data) { var changed = super.readFromStream(data); - var oldCell = clientCell; var oldCellState = clientCellState; var oldSpin = spin; - clientCell = BuiltInRegistries.ITEM.get(data.readResourceLocation()); + clientCell = Item.byId(data.readVarInt()); clientCellState = data.readEnum(CellState.class); spin = data.readByte(); @@ -130,48 +103,43 @@ public boolean readFromStream(RegistryFriendlyByteBuf data) { @Override public void writeToStream(RegistryFriendlyByteBuf data) { super.writeToStream(data); - data.writeResourceLocation(BuiltInRegistries.ITEM.getKey(getCell().getItem())); - data.writeEnum(clientCellState = getCellStatus(0)); + data.writeVarInt(Item.getId(getCell().getItem())); + data.writeEnum(getCellStatus(0)); data.writeByte(spin); } @Override - public void readVisualStateFromNBT(CompoundTag data) { - super.readVisualStateFromNBT(data); + public void readVisualStateFromNBT(ValueInput input) { + super.readVisualStateFromNBT(input); try { - clientCell = BuiltInRegistries.ITEM.get(ResourceLocation.parse(data.getString("cellId"))); + clientCell = BuiltInRegistries.ITEM.getValue(Identifier.parse(input.getStringOr("cellId", ""))); } catch (Exception e) { - LOGGER.warn("Couldn't read cell item for {} from {}", this, data); - clientCell = Items.AIR; + LOGGER.warn("Couldn't read cell item for {} from {}", this, input); + clientCell = null; } try { - clientCellState = CellState.valueOf(data.getString("cellStatus")); + clientCellState = CellState.valueOf(input.getStringOr("cellStatus", "")); } catch (Exception e) { - LOGGER.warn("Couldn't read cell status for {} from {}", this, data); + LOGGER.warn("Couldn't read cell status for {} from {}", this, input); clientCellState = CellState.ABSENT; } - spin = data.getByte("spin"); + spin = input.getByteOr("spin", (byte) 0); } @Override - public void writeVisualStateToNBT(CompoundTag data) { - super.writeVisualStateToNBT(data); - data.putString( + public void writeVisualStateToNBT(ValueOutput output) { + super.writeVisualStateToNBT(output); + output.putString( "cellId", BuiltInRegistries.ITEM.getKey(getCell().getItem()).toString()); - data.putString("cellStatus", getCellStatus(0).name()); - data.putByte("spin", spin); + output.putString("cellStatus", getCellStatus(0).name()); + output.putByte("spin", spin); } private void recalculateDisplay() { - var cellState = getCellStatus(0); - - if (clientCellState != cellState) { - getHost().markForUpdate(); - clientCellState = cellState; - } + getHost().markForUpdate(); } @Override @@ -257,7 +225,10 @@ public boolean isCellBlinking(int slot) { @Nullable @Override public Item getCellItem(int slot) { - return slot == 0 ? cellInventory.getStackInSlot(slot).getItem() : null; + if (slot != 0) { + return null; + } + return isClientSide() ? clientCell : cellInventory.getStackInSlot(slot).getItem(); } @Nullable @@ -279,6 +250,10 @@ public CellState getCellStatus(int slot) { : slot == 0 && cellWatcher != null ? cellWatcher.getStatus() : CellState.ABSENT; } + public byte getSpin() { + return spin; + } + @Override public void mountInventories(IStorageMounts storageMounts) { if (getMainNode().isOnline()) { @@ -347,87 +322,12 @@ public void setPriority(int newValue) { IStorageProvider.requestUpdate(getMainNode()); } - @Override - public IPartModel getStaticModels() { - return MODEL; - } - @Override public void getBoxes(IPartCollisionHelper bch) { bch.addBox(3, 3, 12, 13, 13, 16); bch.addBox(5, 5, 11, 11, 11, 12); } - @Override - public boolean requireDynamicRender() { - return true; - } - - @SuppressWarnings("DataFlowIssue") - @OnlyIn(Dist.CLIENT) // FIXME (AE2): should not a permanent solution, @OnlyIn is already heavily-discouraged - @Override - public void renderDynamic( - float partialTicks, - PoseStack poseStack, - MultiBufferSource buffers, - int combinedLightIn, - int combinedOverlayIn) { - if (getLevel() == null || clientCell == Items.AIR) { - return; - } - - var driveModel = BakedModelUnwrapper.unwrap( - Minecraft.getInstance() - .getModelManager() - .getBlockModelShaper() - .getBlockModel(AEBlocks.DRIVE.block().defaultBlockState()), - DriveBakedModel.class); - - if (driveModel == null) { - LOGGER.error("Could not retrieve ME Drive model for associated cell chassis models."); - return; - } - - poseStack.pushPose(); - poseStack.translate(0.5, 0.5, 0.5); - - var front = SpinMapping.getUpFromSpin(getSide(), spin); - var orientation = BlockOrientation.get(front, getSide()); - poseStack.mulPose(orientation.getQuaternion()); - poseStack.translate(-3F / 16, 5F / 16, -4F / 16); - - Minecraft.getInstance() - .getBlockRenderer() - .getModelRenderer() - .tesselateBlock( - getLevel(), - new FaceRotatingModel(driveModel.getCellChassisModel(clientCell), orientation), - getBlockEntity().getBlockState(), - getBlockEntity().getBlockPos(), - poseStack, - buffers.getBuffer(RenderType.cutout()), - false, - RandomSource.create(), - 0L, - combinedOverlayIn, - ModelData.EMPTY, - null); - CellLedRenderer.renderLed(this, 0, buffers.getBuffer(CellLedRenderer.RENDER_LAYER), poseStack, partialTicks); - poseStack.popPose(); - - poseStack.pushPose(); - poseStack.translate(0.5, 0.5, 0.5); - poseStack.mulPose(BlockOrientation.get(getSide(), spin).getQuaternion()); - poseStack.translate(-8F / 16, -3F / 16, -8F / 16); - CellLedRenderer.renderLed(this, 0, buffers.getBuffer(CellLedRenderer.RENDER_LAYER), poseStack, partialTicks); - poseStack.popPose(); - } - - @Override - public ModelData getModelData() { - return ModelData.builder().with(AEModelData.SPIN, spin).build(); - } - private static class Filter implements IAEItemFilter { @Override public boolean allowInsert(InternalInventory inv, int slot, ItemStack stack) { diff --git a/src/main/java/gripe/_90/megacells/item/part/DecompressionModulePart.java b/src/main/java/gripe/_90/megacells/item/part/DecompressionModulePart.java index e3925ca2..a83c4407 100644 --- a/src/main/java/gripe/_90/megacells/item/part/DecompressionModulePart.java +++ b/src/main/java/gripe/_90/megacells/item/part/DecompressionModulePart.java @@ -8,24 +8,17 @@ import appeng.api.networking.GridFlags; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartItem; -import appeng.api.parts.IPartModel; import appeng.helpers.IPriorityHost; -import appeng.items.parts.PartModels; import appeng.menu.ISubMenu; import appeng.menu.MenuOpener; import appeng.menu.implementations.PriorityMenu; import appeng.menu.locator.MenuLocators; import appeng.parts.AEBasePart; -import appeng.parts.PartModel; -import gripe._90.megacells.MEGACells; import gripe._90.megacells.definition.MEGAItems; import gripe._90.megacells.misc.DecompressionService; public class DecompressionModulePart extends AEBasePart implements IPriorityHost { - @PartModels - private static final IPartModel MODEL = new PartModel(MEGACells.makeId("part/decompression_module")); - public DecompressionModulePart(IPartItem partItem) { super(partItem); getMainNode().setFlags(GridFlags.REQUIRE_CHANNEL).setIdlePowerUsage(10.0); @@ -33,7 +26,7 @@ public DecompressionModulePart(IPartItem partItem) { @Override public boolean onUseWithoutItem(Player player, Vec3 pos) { - if (!player.getCommandSenderWorld().isClientSide()) { + if (!player.level().isClientSide()) { MenuOpener.open(PriorityMenu.TYPE, player, MenuLocators.forPart(this)); } @@ -73,9 +66,4 @@ public void getBoxes(IPartCollisionHelper bch) { bch.addBox(3, 3, 12, 13, 13, 16); bch.addBox(5, 5, 11, 11, 11, 12); } - - @Override - public IPartModel getStaticModels() { - return MODEL; - } } diff --git a/src/main/java/gripe/_90/megacells/item/part/MEGAInterfacePart.java b/src/main/java/gripe/_90/megacells/item/part/MEGAInterfacePart.java index a8ec1f01..427a71c2 100644 --- a/src/main/java/gripe/_90/megacells/item/part/MEGAInterfacePart.java +++ b/src/main/java/gripe/_90/megacells/item/part/MEGAInterfacePart.java @@ -1,37 +1,19 @@ package gripe._90.megacells.item.part; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import appeng.api.parts.IPartItem; -import appeng.api.parts.IPartModel; -import appeng.core.AppEng; import appeng.helpers.InterfaceLogic; -import appeng.items.parts.PartModels; import appeng.menu.ISubMenu; import appeng.menu.MenuOpener; import appeng.menu.locator.MenuHostLocator; -import appeng.parts.PartModel; import appeng.parts.misc.InterfacePart; -import gripe._90.megacells.MEGACells; import gripe._90.megacells.definition.MEGAItems; import gripe._90.megacells.definition.MEGAMenus; public class MEGAInterfacePart extends InterfacePart { - private static final ResourceLocation MODEL_BASE = MEGACells.makeId("part/mega_interface"); - - @PartModels - private static final PartModel MODELS_OFF = new PartModel(MODEL_BASE, AppEng.makeId("part/interface_off")); - - @PartModels - private static final PartModel MODELS_ON = new PartModel(MODEL_BASE, AppEng.makeId("part/interface_on")); - - @PartModels - private static final PartModel MODELS_HAS_CHANNEL = - new PartModel(MODEL_BASE, AppEng.makeId("part/interface_has_channel")); - public MEGAInterfacePart(IPartItem partItem) { super(partItem); } @@ -51,11 +33,6 @@ public void returnToMainMenu(Player player, ISubMenu subMenu) { MenuOpener.open(MEGAMenus.MEGA_INTERFACE.get(), player, subMenu.getLocator()); } - @Override - public IPartModel getStaticModels() { - return isPowered() ? isActive() ? MODELS_HAS_CHANNEL : MODELS_ON : MODELS_OFF; - } - @Override public ItemStack getMainMenuIcon() { return MEGAItems.MEGA_INTERFACE.stack(); diff --git a/src/main/java/gripe/_90/megacells/item/part/MEGAPatternProviderPart.java b/src/main/java/gripe/_90/megacells/item/part/MEGAPatternProviderPart.java index 36591e48..e17c9fd8 100644 --- a/src/main/java/gripe/_90/megacells/item/part/MEGAPatternProviderPart.java +++ b/src/main/java/gripe/_90/megacells/item/part/MEGAPatternProviderPart.java @@ -1,38 +1,20 @@ package gripe._90.megacells.item.part; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import appeng.api.parts.IPartItem; -import appeng.api.parts.IPartModel; -import appeng.core.AppEng; import appeng.helpers.patternprovider.PatternProviderLogic; -import appeng.items.parts.PartModels; import appeng.menu.ISubMenu; import appeng.menu.MenuOpener; import appeng.menu.locator.MenuHostLocator; -import appeng.parts.PartModel; import appeng.parts.crafting.PatternProviderPart; -import gripe._90.megacells.MEGACells; import gripe._90.megacells.block.MEGAPatternProviderBlock; import gripe._90.megacells.definition.MEGAItems; import gripe._90.megacells.definition.MEGAMenus; public class MEGAPatternProviderPart extends PatternProviderPart { - private static final ResourceLocation MODEL_BASE = MEGACells.makeId("part/mega_pattern_provider"); - - @PartModels - private static final PartModel MODELS_OFF = new PartModel(MODEL_BASE, AppEng.makeId("part/interface_off")); - - @PartModels - private static final PartModel MODELS_ON = new PartModel(MODEL_BASE, AppEng.makeId("part/interface_on")); - - @PartModels - private static final PartModel MODELS_HAS_CHANNEL = - new PartModel(MODEL_BASE, AppEng.makeId("part/interface_has_channel")); - public MEGAPatternProviderPart(IPartItem partItem) { super(partItem); } @@ -52,11 +34,6 @@ public void returnToMainMenu(Player player, ISubMenu subMenu) { MenuOpener.returnTo(MEGAMenus.MEGA_PATTERN_PROVIDER.get(), player, subMenu.getLocator()); } - @Override - public IPartModel getStaticModels() { - return isPowered() ? isActive() ? MODELS_HAS_CHANNEL : MODELS_ON : MODELS_OFF; - } - @Override public ItemStack getMainMenuIcon() { return MEGAItems.MEGA_PATTERN_PROVIDER.stack(); diff --git a/src/main/java/gripe/_90/megacells/item/part/MEGAPatternProviderPartItem.java b/src/main/java/gripe/_90/megacells/item/part/MEGAPatternProviderPartItem.java index 02766565..c50becf8 100644 --- a/src/main/java/gripe/_90/megacells/item/part/MEGAPatternProviderPartItem.java +++ b/src/main/java/gripe/_90/megacells/item/part/MEGAPatternProviderPartItem.java @@ -1,11 +1,12 @@ package gripe._90.megacells.item.part; -import java.util.List; +import java.util.function.Consumer; import javax.annotation.ParametersAreNonnullByDefault; import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.component.TooltipDisplay; import appeng.items.parts.PartItem; @@ -19,7 +20,12 @@ public MEGAPatternProviderPartItem(Properties properties) { @ParametersAreNonnullByDefault @Override - public void appendHoverText(ItemStack stack, TooltipContext context, List lines, TooltipFlag flag) { - lines.add(MEGATranslations.ProcessingOnly.text().withStyle(MEGAPatternProviderBlockItem.NOTICE)); + public void appendHoverText( + ItemStack stack, + TooltipContext context, + TooltipDisplay display, + Consumer lines, + TooltipFlag flag) { + lines.accept(MEGATranslations.ProcessingOnly.text().withStyle(MEGAPatternProviderBlockItem.NOTICE)); } } diff --git a/src/main/java/gripe/_90/megacells/menu/CompressionCutoffHost.java b/src/main/java/gripe/_90/megacells/menu/CompressionCutoffHost.java index 60b9381f..0e5b35ad 100644 --- a/src/main/java/gripe/_90/megacells/menu/CompressionCutoffHost.java +++ b/src/main/java/gripe/_90/megacells/menu/CompressionCutoffHost.java @@ -1,7 +1,9 @@ package gripe._90.megacells.menu; +import appeng.menu.guisync.ClientActionKey; + public interface CompressionCutoffHost { - String ACTION_SET_COMPRESSION_LIMIT = "openCompressionLimitMenu"; + ClientActionKey ACTION_SET_COMPRESSION_LIMIT = new ClientActionKey<>("openCompressionLimitMenu"); void mega$nextCompressionLimit(boolean backwards); } diff --git a/src/main/java/gripe/_90/megacells/menu/PortableCellWorkbenchMenu.java b/src/main/java/gripe/_90/megacells/menu/PortableCellWorkbenchMenu.java index 6c6dd577..a63ddc63 100644 --- a/src/main/java/gripe/_90/megacells/menu/PortableCellWorkbenchMenu.java +++ b/src/main/java/gripe/_90/megacells/menu/PortableCellWorkbenchMenu.java @@ -7,6 +7,7 @@ import it.unimi.dsi.fastutil.shorts.ShortSet; +import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.item.ItemStack; @@ -19,8 +20,8 @@ import appeng.api.util.IConfigManager; import appeng.helpers.externalstorage.GenericStackInv; import appeng.menu.SlotSemantics; +import appeng.menu.guisync.ClientActionKey; import appeng.menu.guisync.GuiSync; -import appeng.menu.implementations.CellWorkbenchMenu; import appeng.menu.implementations.UpgradeableMenu; import appeng.menu.slot.CellPartitionSlot; import appeng.menu.slot.IPartitionSlotHost; @@ -38,21 +39,26 @@ */ public class PortableCellWorkbenchMenu extends UpgradeableMenu implements IPartitionSlotHost, CompressionCutoffHost { + private static final ClientActionKey ACTION_NEXT_COPYMODE = new ClientActionKey<>("nextCopyMode"); + private static final ClientActionKey ACTION_PARTITION = new ClientActionKey<>("partition"); + private static final ClientActionKey ACTION_CLEAR = new ClientActionKey<>("clear"); + private static final ClientActionKey ACTION_SET_FUZZY_MODE = new ClientActionKey<>("setFuzzyMode"); + @GuiSync(2) public CopyMode copyMode = CopyMode.CLEAR_ON_REMOVE; public PortableCellWorkbenchMenu(int id, Inventory ip, PortableCellWorkbenchMenuHost host) { super(MEGAMenus.PORTABLE_CELL_WORKBENCH.get(), id, ip, host); - registerClientAction(CellWorkbenchMenu.ACTION_NEXT_COPYMODE, this::nextWorkBenchCopyMode); - registerClientAction(CellWorkbenchMenu.ACTION_PARTITION, this::partition); - registerClientAction(CellWorkbenchMenu.ACTION_CLEAR, this::clear); - registerClientAction(CellWorkbenchMenu.ACTION_SET_FUZZY_MODE, FuzzyMode.class, this::setCellFuzzyMode); - registerClientAction(ACTION_SET_COMPRESSION_LIMIT, Boolean.class, this::mega$nextCompressionLimit); + registerClientAction(ACTION_NEXT_COPYMODE, this::nextWorkBenchCopyMode); + registerClientAction(ACTION_PARTITION, this::partition); + registerClientAction(ACTION_CLEAR, this::clear); + registerClientAction(ACTION_SET_FUZZY_MODE, FuzzyMode.STREAM_CODEC, this::setCellFuzzyMode); + registerClientAction(ACTION_SET_COMPRESSION_LIMIT, ByteBufCodecs.BOOL, this::mega$nextCompressionLimit); } public void setCellFuzzyMode(FuzzyMode fuzzyMode) { if (isClientSide()) { - sendClientAction(CellWorkbenchMenu.ACTION_SET_FUZZY_MODE, fuzzyMode); + sendClientAction(ACTION_SET_FUZZY_MODE, fuzzyMode); } else { var cell = getHost().getCell(); @@ -65,7 +71,7 @@ public void setCellFuzzyMode(FuzzyMode fuzzyMode) { public void nextWorkBenchCopyMode() { if (isClientSide()) { - sendClientAction(CellWorkbenchMenu.ACTION_NEXT_COPYMODE); + sendClientAction(ACTION_NEXT_COPYMODE); } else { getHost().getConfigManager().putSetting(Settings.COPY_MODE, EnumCycler.next(getWorkBenchCopyMode())); } @@ -153,7 +159,7 @@ public void onServerDataSync(ShortSet updatedFields) { public void clear() { if (isClientSide()) { - sendClientAction(CellWorkbenchMenu.ACTION_CLEAR); + sendClientAction(ACTION_CLEAR); } else { getConfigInventory().clear(); broadcastChanges(); @@ -162,7 +168,7 @@ public void clear() { public void partition() { if (isClientSide()) { - sendClientAction(CellWorkbenchMenu.ACTION_PARTITION); + sendClientAction(ACTION_PARTITION); } else { var inv = getConfigInventory(); var is = getWorkbenchItem(); diff --git a/src/main/java/gripe/_90/megacells/misc/CompressionOverride.java b/src/main/java/gripe/_90/megacells/misc/CompressionOverride.java index 3412584b..04ac3a59 100644 --- a/src/main/java/gripe/_90/megacells/misc/CompressionOverride.java +++ b/src/main/java/gripe/_90/megacells/misc/CompressionOverride.java @@ -5,32 +5,30 @@ import org.jetbrains.annotations.NotNull; -import net.minecraft.ResourceLocationException; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.Identifier; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; public record CompressionOverride(ItemStack larger, ItemStack smaller) { - // TODO: Extend further with support for specific amounts and components, to allow for e.g. compression variants - // from recipes other than conventional crafting altogether public static final Codec CODEC = Codec.STRING .comapFlatMap( - str -> { - if (str.equals("NONE")) { + value -> { + if (value.equals("NONE")) { return DataResult.success(Items.AIR); - } else { - try { - var id = ResourceLocation.parse(str); - var item = BuiltInRegistries.ITEM.get(id); - return item == Items.AIR && id != BuiltInRegistries.ITEM.getKey(Items.AIR) - ? DataResult.error(() -> "Could not find override variant item: " + str) - : DataResult.success(item); - } catch (ResourceLocationException e) { - return DataResult.error(e::getMessage); - } } + + var id = Identifier.tryParse(value); + if (id == null) { + return DataResult.error(() -> "Invalid override variant item ID: " + value); + } + + return BuiltInRegistries.ITEM + .getOptional(id) + .map(DataResult::success) + .orElseGet( + () -> DataResult.error(() -> "Could not find override variant item: " + value)); }, item -> item == Items.AIR ? "NONE" diff --git a/src/main/java/gripe/_90/megacells/misc/CompressionService.java b/src/main/java/gripe/_90/megacells/misc/CompressionService.java index a5a890e4..a1ed4001 100644 --- a/src/main/java/gripe/_90/megacells/misc/CompressionService.java +++ b/src/main/java/gripe/_90/megacells/misc/CompressionService.java @@ -4,6 +4,7 @@ import java.util.Comparator; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.WeakHashMap; import org.jetbrains.annotations.NotNull; @@ -16,6 +17,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.CraftingRecipe; +import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeManager; import net.minecraft.world.item.crafting.RecipeType; import net.neoforged.neoforge.common.NeoForge; @@ -26,6 +28,7 @@ import appeng.api.networking.GridServices; import appeng.api.stacks.AEItemKey; +import appeng.util.CraftingRecipeUtil; import gripe._90.megacells.definition.MEGADataMaps; @@ -120,7 +123,7 @@ private static void loadRecipes(RecipeManager recipeManager, RegistryAccess acce var decompressed = new ArrayList(); var overrides = new ArrayList(); - for (var recipe : recipeManager.getAllRecipesFor(RecipeType.CRAFTING)) { + for (var recipe : recipeManager.recipeMap().byType(RecipeType.CRAFTING)) { if (isCompressionRecipe(recipe.value(), access)) { compressed.add(recipe.value()); } else if (isDecompressionRecipe(recipe.value())) { @@ -138,13 +141,13 @@ private static void loadRecipes(RecipeManager recipeManager, RegistryAccess acce // have not been unified properly and some (modded) item's subsequent variant is of an identical resource from // a different mod than intended var ingredientSize = Comparator.comparingInt( - r -> r.getIngredients().getFirst().getItems().length); + r -> stacks(ingredients(r).getFirst()).size()); compressed.sort(ingredientSize); decompressed.sort(ingredientSize); while (!compressed.isEmpty()) { - var base = compressed.removeFirst().getResultItem(access).copy(); - decompressed.removeIf(recipe -> ItemStack.isSameItemSameComponents(base, recipe.getResultItem(access))); + var base = result(compressed.removeFirst()).copy(); + decompressed.removeIf(recipe -> ItemStack.isSameItemSameComponents(base, result(recipe))); chains.add(generateChain(base, compressed, decompressed, overrides, access)); } @@ -186,7 +189,7 @@ private static CompressionChain generateChain( } lowerList.add(stack); - compressed.removeIf(recipe -> ItemStack.isSameItemSameComponents(stack, recipe.getResultItem(access))); + compressed.removeIf(recipe -> ItemStack.isSameItemSameComponents(stack, result(recipe))); lower = getNextVariant(stack, decompressed, overrides, false, access); } @@ -211,7 +214,7 @@ private static CompressionChain generateChain( var stack = higher; variantList.add(stack); - decompressed.removeIf(recipe -> ItemStack.isSameItemSameComponents(stack, recipe.getResultItem(access))); + decompressed.removeIf(recipe -> ItemStack.isSameItemSameComponents(stack, result(recipe))); higher = getNextVariant(stack, compressed, overrides, true, access); } @@ -243,14 +246,14 @@ private static ItemStack getNextVariant( } for (var recipe : recipes) { - for (var input : recipe.getIngredients().getFirst().getItems()) { + for (var input : stacks(ingredients(recipe).getFirst())) { if (ItemStack.isSameItemSameComponents(item, input)) { recipes.remove(recipe); - return recipe.getResultItem(access) + return result(recipe) .copyWithCount( compressed - ? recipe.getIngredients().size() - : recipe.getResultItem(access).getCount()); + ? ingredients(recipe).size() + : result(recipe).getCount()); } } } @@ -263,7 +266,7 @@ private static ItemStack getNextVariant( * being split into some quantity of a "smaller" result item. */ private static boolean isDecompressionRecipe(CraftingRecipe recipe) { - return recipe.getIngredients().stream().filter(i -> !i.isEmpty()).count() == 1; + return ingredients(recipe).size() == 1; } /** @@ -273,14 +276,11 @@ private static boolean isDecompressionRecipe(CraftingRecipe recipe) { * crafted. */ private static boolean isCompressionRecipe(CraftingRecipe recipe, RegistryAccess access) { - if (recipe.getResultItem(access).getCount() != 1) { + if (result(recipe).getCount() != 1) { return false; } - var ingredients = recipe.getIngredients().stream() - .filter(i -> !i.isEmpty()) - .distinct() - .toList(); + var ingredients = ingredients(recipe).stream().distinct().toList(); if (ingredients.isEmpty()) { return false; @@ -291,17 +291,17 @@ private static boolean isCompressionRecipe(CraftingRecipe recipe, RegistryAccess } // Check further for any odd cases such as certain mods' metal ingot/block recipes post-unification - var first = ingredients.getFirst().getItems(); + var first = stacks(ingredients.getFirst()); for (var i = 1; i < ingredients.size(); i++) { - var stacks = ingredients.get(i).getItems(); + var stacks = stacks(ingredients.get(i)); - if (stacks.length != first.length) { + if (stacks.size() != first.size()) { return false; } - for (var j = 0; j < stacks.length; j++) { - if (!ItemStack.isSameItemSameComponents(stacks[j], first[j])) { + for (var j = 0; j < stacks.size(); j++) { + if (!ItemStack.isSameItemSameComponents(stacks.get(j), first.get(j))) { return false; } } @@ -326,12 +326,12 @@ private static boolean isIrreversible( return false; } - var testInput = recipe.getIngredients().getFirst().getItems(); - var testOutput = recipe.getResultItem(access).getItem(); + var testInput = stacks(ingredients(recipe).getFirst()); + var testOutput = result(recipe).getItem(); for (var candidate : candidates) { - var input = candidate.getIngredients().getFirst().getItems(); - var output = candidate.getResultItem(access).getItem(); + var input = stacks(ingredients(candidate).getFirst()); + var output = result(candidate).getItem(); var compressible = false; var decompressible = false; @@ -351,8 +351,8 @@ private static boolean isIrreversible( } // spotless:off - var sameQuantity = candidate.getResultItem(access).getCount() == recipe.getIngredients().size() - && recipe.getResultItem(access).getCount() == candidate.getIngredients().size(); + var sameQuantity = result(candidate).getCount() == ingredients(recipe).size() + && result(recipe).getCount() == ingredients(candidate).size(); // spotless:on if (compressible && decompressible && sameQuantity) { @@ -370,24 +370,21 @@ private static boolean isIrreversible( */ private static boolean overrideRecipe( CraftingRecipe recipe, List overrides, RegistryAccess access) { - var output = recipe.getResultItem(access); + var output = result(recipe); if (isBlacklisted(output)) { return false; } - var ingredients = recipe.getIngredients().stream() - .filter(ingredient -> !ingredient.isEmpty()) - .toList(); - - for (var input : ingredients.getFirst().getItems()) { - var inputVariant = input.getItemHolder().getData(MEGADataMaps.COMPRESSION_OVERRIDE); + var ingredients = ingredients(recipe); + if (ingredients.isEmpty()) { + return false; + } - if (inputVariant == null) { - continue; - } + for (var input : stacks(ingredients.getFirst())) { + var inputVariant = input.typeHolder().getData(MEGADataMaps.COMPRESSION_OVERRIDE); - if (inputVariant != output.getItem()) { + if (inputVariant == null || inputVariant != output.getItem()) { continue; } @@ -411,7 +408,24 @@ private static boolean overrideRecipe( * (or equivalently, the "air" item that this value resolves to) specifies that this item should be excluded. */ private static boolean isBlacklisted(ItemStack stack) { - return stack.getItemHolder().getData(MEGADataMaps.COMPRESSION_OVERRIDE) == Items.AIR; + return stack.typeHolder().getData(MEGADataMaps.COMPRESSION_OVERRIDE) == Items.AIR; + } + + private static List ingredients(CraftingRecipe recipe) { + return CraftingRecipeUtil.getIngredients(recipe).stream() + .flatMap(Optional::stream) + .toList(); + } + + private static List stacks(Ingredient ingredient) { + return ingredient + .items() + .map(holder -> holder.value().getDefaultInstance()) + .toList(); + } + + private static ItemStack result(CraftingRecipe recipe) { + return CraftingRecipeUtil.getResult(recipe); } static String variantString(ItemStack stack) { diff --git a/src/main/java/gripe/_90/megacells/misc/DecompressionService.java b/src/main/java/gripe/_90/megacells/misc/DecompressionService.java index 5f0a2eb5..192aa2c5 100644 --- a/src/main/java/gripe/_90/megacells/misc/DecompressionService.java +++ b/src/main/java/gripe/_90/megacells/misc/DecompressionService.java @@ -54,9 +54,12 @@ public void addNode(IGridNode node, @Nullable CompoundTag savedData) { if (node.getOwner() instanceof DecompressionModulePart) { installedModules++; - if (!priorityLocked && savedData != null && savedData.contains(TAG_PATTERN_PRIORITY, CompoundTag.TAG_INT)) { - patternPriority = savedData.getInt(TAG_PATTERN_PRIORITY); - priorityLocked = true; + if (!priorityLocked && savedData != null) { + var savedPriority = savedData.getInt(TAG_PATTERN_PRIORITY); + if (savedPriority.isPresent()) { + patternPriority = savedPriority.get(); + priorityLocked = true; + } } } } diff --git a/src/main/java/gripe/_90/megacells/misc/LavaTransformLogic.java b/src/main/java/gripe/_90/megacells/misc/LavaTransformLogic.java index c99a32d1..03a137c4 100644 --- a/src/main/java/gripe/_90/megacells/misc/LavaTransformLogic.java +++ b/src/main/java/gripe/_90/megacells/misc/LavaTransformLogic.java @@ -3,10 +3,10 @@ import java.util.HashSet; import java.util.Set; +import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.FluidTags; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.Item; -import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.event.OnDatapackSyncEvent; @@ -27,8 +27,8 @@ public final class LavaTransformLogic { } public static boolean canTransformInLava(ItemEntity entity) { - return getLavaTransformableItems(entity.level()) - .contains(entity.getItem().getItem()); + return entity.level() instanceof ServerLevel level + && getLavaTransformableItems(level).contains(entity.getItem().getItem()); } @SuppressWarnings("resource") @@ -36,24 +36,19 @@ public static boolean allIngredientsPresent(ItemEntity entity) { var x = entity.getX(); var y = entity.getY(); var z = entity.getZ(); - var level = entity.level(); + if (!(entity.level() instanceof ServerLevel level)) { + return false; + } var items = level.getEntities(null, new AABB(x - 1, y - 1, z - 1, x + 1, y + 1, z + 1)).stream() .filter(e -> e instanceof ItemEntity && !e.isRemoved()) .map(e -> ((ItemEntity) e).getItem().getItem()) .toList(); - for (var recipe : level.getRecipeManager().getAllRecipesFor(AERecipeTypes.TRANSFORM)) { + for (var recipe : level.recipeAccess().recipeMap().byType(AERecipeTypes.TRANSFORM)) { if (recipe.value().circumstance.isFluidTag(FluidTags.LAVA)) { - return recipe.value().getIngredients().stream().noneMatch(ingredient -> { - for (var stack : ingredient.getItems()) { - if (items.contains(stack.getItem())) { - return false; - } - } - - return true; - }); + return recipe.value().ingredients.stream() + .allMatch(ingredient -> ingredient.items().anyMatch(holder -> items.contains(holder.value()))); } } @@ -61,17 +56,15 @@ public static boolean allIngredientsPresent(ItemEntity entity) { } @SuppressWarnings("SameReturnValue") - private static Set getLavaTransformableItems(Level level) { + private static Set getLavaTransformableItems(ServerLevel level) { if (lavaCache.isEmpty()) { - for (var recipe : level.getRecipeManager().getAllRecipesFor(AERecipeTypes.TRANSFORM)) { + for (var recipe : level.recipeAccess().recipeMap().byType(AERecipeTypes.TRANSFORM)) { if (!recipe.value().circumstance.isFluidTag(FluidTags.LAVA)) { continue; } for (var ingredient : recipe.value().ingredients) { - for (var stack : ingredient.getItems()) { - lavaCache.add(stack.getItem()); - } + ingredient.items().forEach(holder -> lavaCache.add(holder.value())); // Don't break here unlike AE2's TransformLogic, otherwise unprocessed items will burn up } diff --git a/src/main/java/gripe/_90/megacells/mixin/AbstractCraftingUnitBlockMixin.java b/src/main/java/gripe/_90/megacells/mixin/AbstractCraftingUnitBlockMixin.java index 30789113..befc81be 100644 --- a/src/main/java/gripe/_90/megacells/mixin/AbstractCraftingUnitBlockMixin.java +++ b/src/main/java/gripe/_90/megacells/mixin/AbstractCraftingUnitBlockMixin.java @@ -2,24 +2,19 @@ import java.util.Objects; -import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.ModifyReceiver; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; -import com.llamalad7.mixinextras.sugar.Local; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; -import net.minecraft.core.BlockPos; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.world.InteractionResult; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; import appeng.block.AEBaseBlock; import appeng.block.crafting.AbstractCraftingUnitBlock; @@ -28,7 +23,6 @@ import appeng.core.definitions.BlockDefinition; import gripe._90.megacells.MEGACells; -import gripe._90.megacells.block.MEGACraftingUnitType; import gripe._90.megacells.definition.MEGABlocks; /** @@ -47,9 +41,6 @@ protected AbstractCraftingUnitBlockMixin(Properties props) { super(props); } - @Shadow - protected abstract boolean transform(Level level, BlockPos pos, BlockState state); - // spotless:off @ModifyReceiver( method = "useWithoutItem", @@ -63,21 +54,14 @@ private BlockDefinition removeMegaUpgrade(BlockDefinition instance) { : AEBlocks.CRAFTING_UNIT; } - @ModifyExpressionValue( - method = "removeUpgrade", - at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;isClientSide()Z")) - private boolean isMegaUnit(boolean original) { - return original || type == MEGACraftingUnitType.UNIT; - } - // spotless:off @WrapOperation( method = "upgrade", at = @At( value = "INVOKE", - target = "Lappeng/recipes/game/CraftingUnitTransformRecipe;getUpgradedBlock(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/world/level/block/Block;")) + target = "Lappeng/recipes/game/CraftingUnitTransformRecipe;getUpgradedBlock(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/world/level/block/Block;")) // spotless:on - private Block isMegaUpgrade(Level level, ItemStack heldItem, Operation original) { + private Block isMegaUpgrade(ServerLevel level, ItemStack heldItem, Operation original) { var upgraded = original.call(level, heldItem); return Objects.requireNonNull(getRegistryName()) .getNamespace() @@ -86,21 +70,16 @@ private Block isMegaUpgrade(Level level, ItemStack heldItem, Operation or : null; } - // spotless:off - @ModifyExpressionValue( + @ModifyReceiver( method = "upgrade", - at = @At( - value = "INVOKE", - target = "Lappeng/block/crafting/AbstractCraftingUnitBlock;removeUpgrade(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/InteractionResult;")) - // spotless:on - private InteractionResult upgradeMegaUnit( - InteractionResult original, - @Local(argsOnly = true) BlockState state, - @Local(argsOnly = true) Level level, - @Local(argsOnly = true) BlockPos pos, - @Local(ordinal = 1) BlockState newState) { - return state.getBlock() == MEGABlocks.MEGA_CRAFTING_UNIT.block() - ? transform(level, pos, newState) ? InteractionResult.SUCCESS : InteractionResult.FAIL - : original; + at = + @At( + value = "INVOKE", + target = + "Lappeng/core/definitions/BlockDefinition;block()Lnet/minecraft/world/level/block/Block;")) + private BlockDefinition upgradeMegaUnit(BlockDefinition instance) { + return Objects.requireNonNull(getRegistryName()).getNamespace().equals(MEGACells.MODID) + ? MEGABlocks.MEGA_CRAFTING_UNIT + : instance; } } diff --git a/src/main/java/gripe/_90/megacells/mixin/CellWorkbenchMenuMixin.java b/src/main/java/gripe/_90/megacells/mixin/CellWorkbenchMenuMixin.java index 916fe2e8..b4be4064 100644 --- a/src/main/java/gripe/_90/megacells/mixin/CellWorkbenchMenuMixin.java +++ b/src/main/java/gripe/_90/megacells/mixin/CellWorkbenchMenuMixin.java @@ -5,6 +5,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.inventory.MenuType; @@ -26,7 +27,7 @@ public CellWorkbenchMenuMixin(MenuType menuType, int id, Inventory ip, CellWo @Inject(method = "", at = @At("RETURN")) private void registerAction(int id, Inventory ip, CellWorkbenchBlockEntity te, CallbackInfo ci) { - registerClientAction(ACTION_SET_COMPRESSION_LIMIT, Boolean.class, this::mega$nextCompressionLimit); + registerClientAction(ACTION_SET_COMPRESSION_LIMIT, ByteBufCodecs.BOOL, this::mega$nextCompressionLimit); } @Override diff --git a/src/main/java/gripe/_90/megacells/mixin/client/BuiltInModelHooksMixin.java b/src/main/java/gripe/_90/megacells/mixin/client/BuiltInModelHooksMixin.java deleted file mode 100644 index abffd08a..00000000 --- a/src/main/java/gripe/_90/megacells/mixin/client/BuiltInModelHooksMixin.java +++ /dev/null @@ -1,23 +0,0 @@ -package gripe._90.megacells.mixin.client; - -import com.llamalad7.mixinextras.injector.ModifyExpressionValue; -import com.llamalad7.mixinextras.sugar.Local; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; - -import net.minecraft.resources.ResourceLocation; - -import appeng.hooks.BuiltInModelHooks; - -import gripe._90.megacells.MEGACells; - -@Mixin(BuiltInModelHooks.class) -public abstract class BuiltInModelHooksMixin { - @ModifyExpressionValue( - method = "getBuiltInModel", - at = @At(value = "INVOKE", target = "Ljava/lang/String;equals(Ljava/lang/Object;)Z")) - private static boolean isMEGAModel(boolean original, @Local(argsOnly = true) ResourceLocation variantId) { - return original || MEGACells.MODID.equals(variantId.getNamespace()); - } -} diff --git a/src/main/resources/META-INF/neoforge.mods.toml b/src/main/resources/META-INF/neoforge.mods.toml index 3f985525..eb00adc9 100644 --- a/src/main/resources/META-INF/neoforge.mods.toml +++ b/src/main/resources/META-INF/neoforge.mods.toml @@ -21,5 +21,5 @@ config = "megacells.mixins.json" [[dependencies.megacells]] modId = "ae2" -versionRange = "[19.2.15,)" +versionRange = "[26.1.10-beta,)" ordering = "AFTER" diff --git a/src/main/resources/assets/megacells/models/part/cell_dock.json b/src/main/resources/assets/megacells/models/part/cell_dock.json index be0f5dcd..7a678a10 100644 --- a/src/main/resources/assets/megacells/models/part/cell_dock.json +++ b/src/main/resources/assets/megacells/models/part/cell_dock.json @@ -2,7 +2,8 @@ "credit": "Made with Blockbench by Sea_Kerman", "textures": { "front": "megacells:part/cell_dock", - "side": "megacells:part/cell_dock_side" + "side": "megacells:part/cell_dock_side", + "particle": "megacells:part/cell_dock" }, "elements": [ { diff --git a/src/main/resources/assets/megacells/models/part/decompression_module.json b/src/main/resources/assets/megacells/models/part/decompression_module.json index ec8d21d5..d109ff20 100644 --- a/src/main/resources/assets/megacells/models/part/decompression_module.json +++ b/src/main/resources/assets/megacells/models/part/decompression_module.json @@ -2,7 +2,8 @@ "credit": "Made with Blockbench by Sea_Kerman", "textures": { "front": "megacells:part/decompression_module", - "side": "megacells:part/decompression_module_side" + "side": "megacells:part/decompression_module_side", + "particle": "megacells:part/decompression_module" }, "elements": [ { diff --git a/src/main/resources/megacells.mixins.json b/src/main/resources/megacells.mixins.json index b43651db..541a6aff 100644 --- a/src/main/resources/megacells.mixins.json +++ b/src/main/resources/megacells.mixins.json @@ -10,10 +10,7 @@ "ItemEntityMixin", "ItemMenuHostMixin" ], - "client": [ - "client.BuiltInModelHooksMixin", - "client.CellWorkbenchScreenMixin" - ], + "client": ["client.CellWorkbenchScreenMixin"], "injectors": { "defaultRequire": 1 } diff --git a/src/main/resources/optional_cell_colours/pack.mcmeta b/src/main/resources/optional_cell_colours/pack.mcmeta index 04ced28d..4c5df61b 100644 --- a/src/main/resources/optional_cell_colours/pack.mcmeta +++ b/src/main/resources/optional_cell_colours/pack.mcmeta @@ -3,6 +3,7 @@ "description": { "translate": "pack.megacells.ClassicCellColoursDesc" }, - "pack_format": 34 + "min_format": [84, 0], + "max_format": [84, 0] } -} \ No newline at end of file +} diff --git a/src/test/java/gripe/_90/megacells/test/BulkCellInventoryTest.java b/src/test/java/gripe/_90/megacells/test/BulkCellInventoryTest.java index 68108e23..ae457d31 100644 --- a/src/test/java/gripe/_90/megacells/test/BulkCellInventoryTest.java +++ b/src/test/java/gripe/_90/megacells/test/BulkCellInventoryTest.java @@ -19,6 +19,7 @@ import appeng.api.storage.cells.CellState; import gripe._90.megacells.definition.MEGAComponents; +import gripe._90.megacells.definition.MEGADataMaps; import gripe._90.megacells.definition.MEGAItems; import gripe._90.megacells.item.cell.BulkCellInventory; import gripe._90.megacells.misc.CompressionChain; @@ -45,7 +46,7 @@ void testNoOpBeforeFiltering() { } @Test - void testGreaterCapacity() { + void testGreaterCapacity(MinecraftServer ignored) { var item = MEGAItems.BULK_ITEM_CELL.asItem(); var stack = item.getDefaultInstance(); @@ -163,7 +164,15 @@ void testBulkCompression(MinecraftServer ignored) { } @Test - void testFilterMismatchOperations() { + void testCompressionDataMap(MinecraftServer ignored) { + assertThat(Items.AMETHYST_SHARD.builtInRegistryHolder().getData(MEGADataMaps.COMPRESSION_OVERRIDE)) + .isEqualTo(Items.AMETHYST_BLOCK); + assertThat(Items.WHEAT_SEEDS.builtInRegistryHolder().getData(MEGADataMaps.COMPRESSION_OVERRIDE)) + .isEqualTo(Items.AIR); + } + + @Test + void testFilterMismatchOperations(MinecraftServer ignored) { var item = MEGAItems.BULK_ITEM_CELL.asItem(); var stack = item.getDefaultInstance();