diff --git a/src/generated/resources/assets/bigger_ae2/blockstates/1024_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/blockstates/1024_core_crafting_accelerator.json new file mode 100644 index 0000000..d7b6e2a --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/blockstates/1024_core_crafting_accelerator.json @@ -0,0 +1,10 @@ +{ + "variants": { + "formed=false": { + "model": "bigger_ae2:block/crafting/1024_core_crafting_accelerator" + }, + "formed=true": { + "model": "bigger_ae2:block/crafting/1024_core_crafting_accelerator_formed" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/blockstates/16_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/blockstates/16_core_crafting_accelerator.json new file mode 100644 index 0000000..1f91c60 --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/blockstates/16_core_crafting_accelerator.json @@ -0,0 +1,10 @@ +{ + "variants": { + "formed=false": { + "model": "bigger_ae2:block/crafting/16_core_crafting_accelerator" + }, + "formed=true": { + "model": "bigger_ae2:block/crafting/16_core_crafting_accelerator_formed" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/blockstates/256_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/blockstates/256_core_crafting_accelerator.json new file mode 100644 index 0000000..f2824f7 --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/blockstates/256_core_crafting_accelerator.json @@ -0,0 +1,10 @@ +{ + "variants": { + "formed=false": { + "model": "bigger_ae2:block/crafting/256_core_crafting_accelerator" + }, + "formed=true": { + "model": "bigger_ae2:block/crafting/256_core_crafting_accelerator_formed" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/blockstates/4_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/blockstates/4_core_crafting_accelerator.json new file mode 100644 index 0000000..df7b0c8 --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/blockstates/4_core_crafting_accelerator.json @@ -0,0 +1,10 @@ +{ + "variants": { + "formed=false": { + "model": "bigger_ae2:block/crafting/4_core_crafting_accelerator" + }, + "formed=true": { + "model": "bigger_ae2:block/crafting/4_core_crafting_accelerator_formed" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/blockstates/64_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/blockstates/64_core_crafting_accelerator.json new file mode 100644 index 0000000..3f166ac --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/blockstates/64_core_crafting_accelerator.json @@ -0,0 +1,10 @@ +{ + "variants": { + "formed=false": { + "model": "bigger_ae2:block/crafting/64_core_crafting_accelerator" + }, + "formed=true": { + "model": "bigger_ae2:block/crafting/64_core_crafting_accelerator_formed" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/lang/en_ud.json b/src/generated/resources/assets/bigger_ae2/lang/en_ud.json index 732e279..e729943 100644 --- a/src/generated/resources/assets/bigger_ae2/lang/en_ud.json +++ b/src/generated/resources/assets/bigger_ae2/lang/en_ud.json @@ -1,4 +1,9 @@ { + "block.bigger_ae2.1024_core_crafting_accelerator": "ɹoʇɐɹǝןǝɔɔⱯ buıʇɟɐɹƆ ǝɹoƆ ㄣᄅ0Ɩ", + "block.bigger_ae2.16_core_crafting_accelerator": "ɹoʇɐɹǝןǝɔɔⱯ buıʇɟɐɹƆ ǝɹoƆ 9Ɩ", + "block.bigger_ae2.256_core_crafting_accelerator": "ɹoʇɐɹǝןǝɔɔⱯ buıʇɟɐɹƆ ǝɹoƆ 9ϛᄅ", + "block.bigger_ae2.4_core_crafting_accelerator": "ɹoʇɐɹǝןǝɔɔⱯ buıʇɟɐɹƆ ǝɹoƆ ㄣ", + "block.bigger_ae2.64_core_crafting_accelerator": "ɹoʇɐɹǝןǝɔɔⱯ buıʇɟɐɹƆ ǝɹoƆ ㄣ9", "item.bigger_ae2.advanced_fluid_cell_housing": "buısnoH ןןǝƆ pınןℲ pǝɔuɐʌpⱯ", "item.bigger_ae2.advanced_item_cell_housing": "buısnoH ןןǝƆ ɯǝʇI pǝɔuɐʌpⱯ", "item.bigger_ae2.digital_singularity_cell_component": "ʇuǝuodɯoƆ ןןǝƆ ʎʇıɹɐןnbuıS ןɐʇıbıᗡ", diff --git a/src/generated/resources/assets/bigger_ae2/lang/en_us.json b/src/generated/resources/assets/bigger_ae2/lang/en_us.json index 5538a0a..20cf5ed 100644 --- a/src/generated/resources/assets/bigger_ae2/lang/en_us.json +++ b/src/generated/resources/assets/bigger_ae2/lang/en_us.json @@ -1,4 +1,9 @@ { + "block.bigger_ae2.1024_core_crafting_accelerator": "1024 Core Crafting Accelerator", + "block.bigger_ae2.16_core_crafting_accelerator": "16 Core Crafting Accelerator", + "block.bigger_ae2.256_core_crafting_accelerator": "256 Core Crafting Accelerator", + "block.bigger_ae2.4_core_crafting_accelerator": "4 Core Crafting Accelerator", + "block.bigger_ae2.64_core_crafting_accelerator": "64 Core Crafting Accelerator", "item.bigger_ae2.advanced_fluid_cell_housing": "Advanced Fluid Cell Housing", "item.bigger_ae2.advanced_item_cell_housing": "Advanced Item Cell Housing", "item.bigger_ae2.digital_singularity_cell_component": "Digital Singularity Cell Component", diff --git a/src/generated/resources/assets/bigger_ae2/models/block/crafting/1024_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/models/block/crafting/1024_core_crafting_accelerator.json new file mode 100644 index 0000000..edb68dd --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/block/crafting/1024_core_crafting_accelerator.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "bigger_ae2:block/crafting/1024_core_crafting_accelerator" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/block/crafting/1024_core_crafting_accelerator_formed.json b/src/generated/resources/assets/bigger_ae2/models/block/crafting/1024_core_crafting_accelerator_formed.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/block/crafting/1024_core_crafting_accelerator_formed.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/block/crafting/16_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/models/block/crafting/16_core_crafting_accelerator.json new file mode 100644 index 0000000..9abc7be --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/block/crafting/16_core_crafting_accelerator.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "bigger_ae2:block/crafting/16_core_crafting_accelerator" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/block/crafting/16_core_crafting_accelerator_formed.json b/src/generated/resources/assets/bigger_ae2/models/block/crafting/16_core_crafting_accelerator_formed.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/block/crafting/16_core_crafting_accelerator_formed.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/block/crafting/256_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/models/block/crafting/256_core_crafting_accelerator.json new file mode 100644 index 0000000..700eb02 --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/block/crafting/256_core_crafting_accelerator.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "bigger_ae2:block/crafting/256_core_crafting_accelerator" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/block/crafting/256_core_crafting_accelerator_formed.json b/src/generated/resources/assets/bigger_ae2/models/block/crafting/256_core_crafting_accelerator_formed.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/block/crafting/256_core_crafting_accelerator_formed.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/block/crafting/4_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/models/block/crafting/4_core_crafting_accelerator.json new file mode 100644 index 0000000..55f428a --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/block/crafting/4_core_crafting_accelerator.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "bigger_ae2:block/crafting/4_core_crafting_accelerator" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/block/crafting/4_core_crafting_accelerator_formed.json b/src/generated/resources/assets/bigger_ae2/models/block/crafting/4_core_crafting_accelerator_formed.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/block/crafting/4_core_crafting_accelerator_formed.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/block/crafting/64_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/models/block/crafting/64_core_crafting_accelerator.json new file mode 100644 index 0000000..e0c4238 --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/block/crafting/64_core_crafting_accelerator.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "bigger_ae2:block/crafting/64_core_crafting_accelerator" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/block/crafting/64_core_crafting_accelerator_formed.json b/src/generated/resources/assets/bigger_ae2/models/block/crafting/64_core_crafting_accelerator_formed.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/block/crafting/64_core_crafting_accelerator_formed.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/item/1024_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/models/item/1024_core_crafting_accelerator.json new file mode 100644 index 0000000..6f59577 --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/item/1024_core_crafting_accelerator.json @@ -0,0 +1,3 @@ +{ + "parent": "bigger_ae2:block/crafting/1024_core_crafting_accelerator" +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/item/16_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/models/item/16_core_crafting_accelerator.json new file mode 100644 index 0000000..09e2b4a --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/item/16_core_crafting_accelerator.json @@ -0,0 +1,3 @@ +{ + "parent": "bigger_ae2:block/crafting/16_core_crafting_accelerator" +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/item/256_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/models/item/256_core_crafting_accelerator.json new file mode 100644 index 0000000..32feeab --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/item/256_core_crafting_accelerator.json @@ -0,0 +1,3 @@ +{ + "parent": "bigger_ae2:block/crafting/256_core_crafting_accelerator" +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/item/4_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/models/item/4_core_crafting_accelerator.json new file mode 100644 index 0000000..9cc0177 --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/item/4_core_crafting_accelerator.json @@ -0,0 +1,3 @@ +{ + "parent": "bigger_ae2:block/crafting/4_core_crafting_accelerator" +} \ No newline at end of file diff --git a/src/generated/resources/assets/bigger_ae2/models/item/64_core_crafting_accelerator.json b/src/generated/resources/assets/bigger_ae2/models/item/64_core_crafting_accelerator.json new file mode 100644 index 0000000..893c9cf --- /dev/null +++ b/src/generated/resources/assets/bigger_ae2/models/item/64_core_crafting_accelerator.json @@ -0,0 +1,3 @@ +{ + "parent": "bigger_ae2:block/crafting/64_core_crafting_accelerator" +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/1024_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/1024_core_crafting_accelerator.json new file mode 100644 index 0000000..a26d4f6 --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/1024_core_crafting_accelerator.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "bigger_ae2:256_core_crafting_accelerator" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "bigger_ae2:1024_core_crafting_accelerator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "bigger_ae2:1024_core_crafting_accelerator" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/16_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/16_core_crafting_accelerator.json new file mode 100644 index 0000000..72127f2 --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/16_core_crafting_accelerator.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "bigger_ae2:4_core_crafting_accelerator" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "bigger_ae2:16_core_crafting_accelerator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "bigger_ae2:16_core_crafting_accelerator" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/256_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/256_core_crafting_accelerator.json new file mode 100644 index 0000000..2306740 --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/256_core_crafting_accelerator.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "bigger_ae2:64_core_crafting_accelerator" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "bigger_ae2:256_core_crafting_accelerator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "bigger_ae2:256_core_crafting_accelerator" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/4_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/4_core_crafting_accelerator.json new file mode 100644 index 0000000..198f26c --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/4_core_crafting_accelerator.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "ae2:crafting_accelerator" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "bigger_ae2:4_core_crafting_accelerator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "bigger_ae2:4_core_crafting_accelerator" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/64_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/64_core_crafting_accelerator.json new file mode 100644 index 0000000..c7c7eaf --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/advancements/recipes/misc/64_core_crafting_accelerator.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "bigger_ae2:16_core_crafting_accelerator" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "bigger_ae2:64_core_crafting_accelerator" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "bigger_ae2:64_core_crafting_accelerator" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/loot_tables/blocks/1024_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/loot_tables/blocks/1024_core_crafting_accelerator.json new file mode 100644 index 0000000..fceb25c --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/loot_tables/blocks/1024_core_crafting_accelerator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "bigger_ae2:1024_core_crafting_accelerator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "bigger_ae2:blocks/1024_core_crafting_accelerator" +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/loot_tables/blocks/16_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/loot_tables/blocks/16_core_crafting_accelerator.json new file mode 100644 index 0000000..3361d8e --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/loot_tables/blocks/16_core_crafting_accelerator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "bigger_ae2:16_core_crafting_accelerator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "bigger_ae2:blocks/16_core_crafting_accelerator" +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/loot_tables/blocks/256_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/loot_tables/blocks/256_core_crafting_accelerator.json new file mode 100644 index 0000000..492b42c --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/loot_tables/blocks/256_core_crafting_accelerator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "bigger_ae2:256_core_crafting_accelerator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "bigger_ae2:blocks/256_core_crafting_accelerator" +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/loot_tables/blocks/4_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/loot_tables/blocks/4_core_crafting_accelerator.json new file mode 100644 index 0000000..57680fb --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/loot_tables/blocks/4_core_crafting_accelerator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "bigger_ae2:4_core_crafting_accelerator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "bigger_ae2:blocks/4_core_crafting_accelerator" +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/loot_tables/blocks/64_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/loot_tables/blocks/64_core_crafting_accelerator.json new file mode 100644 index 0000000..472f0d4 --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/loot_tables/blocks/64_core_crafting_accelerator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "bigger_ae2:64_core_crafting_accelerator" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "bigger_ae2:blocks/64_core_crafting_accelerator" +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/recipes/1024_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/recipes/1024_core_crafting_accelerator.json new file mode 100644 index 0000000..7f56ffb --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/recipes/1024_core_crafting_accelerator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "bigger_ae2:256_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:256_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:256_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:256_core_crafting_accelerator" + } + ], + "result": { + "item": "bigger_ae2:1024_core_crafting_accelerator" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/recipes/16_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/recipes/16_core_crafting_accelerator.json new file mode 100644 index 0000000..3580d63 --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/recipes/16_core_crafting_accelerator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "bigger_ae2:4_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:4_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:4_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:4_core_crafting_accelerator" + } + ], + "result": { + "item": "bigger_ae2:16_core_crafting_accelerator" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/recipes/256_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/recipes/256_core_crafting_accelerator.json new file mode 100644 index 0000000..4065e2d --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/recipes/256_core_crafting_accelerator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "bigger_ae2:64_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:64_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:64_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:64_core_crafting_accelerator" + } + ], + "result": { + "item": "bigger_ae2:256_core_crafting_accelerator" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/recipes/4_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/recipes/4_core_crafting_accelerator.json new file mode 100644 index 0000000..3e4f8c9 --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/recipes/4_core_crafting_accelerator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "ae2:crafting_accelerator" + }, + { + "item": "ae2:crafting_accelerator" + }, + { + "item": "ae2:crafting_accelerator" + }, + { + "item": "ae2:crafting_accelerator" + } + ], + "result": { + "item": "bigger_ae2:4_core_crafting_accelerator" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/bigger_ae2/recipes/64_core_crafting_accelerator.json b/src/generated/resources/data/bigger_ae2/recipes/64_core_crafting_accelerator.json new file mode 100644 index 0000000..96d8724 --- /dev/null +++ b/src/generated/resources/data/bigger_ae2/recipes/64_core_crafting_accelerator.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "bigger_ae2:16_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:16_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:16_core_crafting_accelerator" + }, + { + "item": "bigger_ae2:16_core_crafting_accelerator" + } + ], + "result": { + "item": "bigger_ae2:64_core_crafting_accelerator" + } +} \ No newline at end of file diff --git a/src/main/java/cn/dancingsnow/bigger_ae2/BiggerAE2Mod.java b/src/main/java/cn/dancingsnow/bigger_ae2/BiggerAE2Mod.java index 6b3b0ce..1d0c74e 100644 --- a/src/main/java/cn/dancingsnow/bigger_ae2/BiggerAE2Mod.java +++ b/src/main/java/cn/dancingsnow/bigger_ae2/BiggerAE2Mod.java @@ -3,18 +3,27 @@ import appeng.api.storage.StorageCells; import appeng.api.upgrades.Upgrades; +import appeng.client.render.crafting.CraftingCubeModel; import appeng.core.definitions.AEItems; import appeng.core.localization.GuiText; +import appeng.hooks.BuiltInModelHooks; +import cn.dancingsnow.bigger_ae2.block.ModCraftingUnitType; +import cn.dancingsnow.bigger_ae2.client.ModCraftingUnitModelProvider; import cn.dancingsnow.bigger_ae2.data.generator.BiggerAE2Datagen; +import cn.dancingsnow.bigger_ae2.init.ModBlockEntities; +import cn.dancingsnow.bigger_ae2.init.ModBlocks; import cn.dancingsnow.bigger_ae2.init.ModCreativeTab; import cn.dancingsnow.bigger_ae2.init.ModItems; import cn.dancingsnow.bigger_ae2.item.cell.DigitalSingularityCellItem; import com.mojang.logging.LogUtils; import com.tterrag.registrate.Registrate; +import net.minecraft.client.renderer.ItemBlockRenderTypes; +import net.minecraft.client.renderer.RenderType; import net.minecraft.resources.ResourceLocation; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.slf4j.Logger; @@ -29,12 +38,15 @@ public class BiggerAE2Mod { public BiggerAE2Mod() { - ModItems.register(); ModCreativeTab.register(); + ModItems.register(); + ModBlocks.register(); + ModBlockEntities.register(); IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); modEventBus.addListener(BiggerAE2Mod::initUpgrades); modEventBus.addListener(BiggerAE2Mod::initStorageCells); + modEventBus.addListener(BiggerAE2Mod::initCraftingUnitModels); BiggerAE2Datagen.init(); } @@ -55,4 +67,17 @@ private static void initUpgrades(FMLCommonSetupEvent event) { private static void initStorageCells(FMLCommonSetupEvent event) { StorageCells.addCellHandler(DigitalSingularityCellItem.HANDLER); } + + private static void initCraftingUnitModels(FMLClientSetupEvent event) { + event.enqueueWork(() -> { + for (ModCraftingUnitType type : ModCraftingUnitType.values()) { + BuiltInModelHooks.addBuiltInModel( + BiggerAE2Mod.of("block/crafting/" + type.getAffix() + "_formed"), + new CraftingCubeModel(new ModCraftingUnitModelProvider(type)) + ); + + ItemBlockRenderTypes.setRenderLayer(type.getBlockFromType(), RenderType.cutout()); + } + }); + } } diff --git a/src/main/java/cn/dancingsnow/bigger_ae2/block/ModCraftingUnitType.java b/src/main/java/cn/dancingsnow/bigger_ae2/block/ModCraftingUnitType.java new file mode 100644 index 0000000..3cfcb27 --- /dev/null +++ b/src/main/java/cn/dancingsnow/bigger_ae2/block/ModCraftingUnitType.java @@ -0,0 +1,55 @@ +package cn.dancingsnow.bigger_ae2.block; + +import appeng.block.crafting.CraftingUnitBlock; +import appeng.block.crafting.ICraftingUnitType; +import cn.dancingsnow.bigger_ae2.init.ModBlocks; +import lombok.Getter; +import net.minecraft.world.item.Item; + +public enum ModCraftingUnitType implements ICraftingUnitType { + ACCELERATOR_4(4, "4_core_crafting_accelerator"), + ACCELERATOR_16(16, "16_core_crafting_accelerator"), + ACCELERATOR_64(64, "64_core_crafting_accelerator"), + ACCELERATOR_256(256, "256_core_crafting_accelerator"), + ACCELERATOR_1024(1024, "1024_core_crafting_accelerator"); + + private final int accelerator; + @Getter + private final String affix; + + ModCraftingUnitType(int accelerator, String affix) { + this.accelerator = accelerator; + this.affix = affix; + } + + @Override + public long getStorageBytes() { + return 0; + } + + @Override + public int getAcceleratorThreads() { + return accelerator; + } + + @Override + public Item getItemFromType() { + return switch (this) { + case ACCELERATOR_4 -> ModBlocks.ACCELERATOR_4.asItem(); + case ACCELERATOR_16 -> ModBlocks.ACCELERATOR_16.asItem(); + case ACCELERATOR_64 -> ModBlocks.ACCELERATOR_64.asItem(); + case ACCELERATOR_256 -> ModBlocks.ACCELERATOR_256.asItem(); + case ACCELERATOR_1024 -> ModBlocks.ACCELERATOR_1024.asItem(); + }; + } + + public CraftingUnitBlock getBlockFromType() { + return switch (this) { + case ACCELERATOR_4 -> ModBlocks.ACCELERATOR_4.get(); + case ACCELERATOR_16 -> ModBlocks.ACCELERATOR_16.get(); + case ACCELERATOR_64 -> ModBlocks.ACCELERATOR_64.get(); + case ACCELERATOR_256 -> ModBlocks.ACCELERATOR_256.get(); + case ACCELERATOR_1024 -> ModBlocks.ACCELERATOR_1024.get(); + }; + } +} diff --git a/src/main/java/cn/dancingsnow/bigger_ae2/client/ModCraftingUnitModelProvider.java b/src/main/java/cn/dancingsnow/bigger_ae2/client/ModCraftingUnitModelProvider.java new file mode 100644 index 0000000..91d1f57 --- /dev/null +++ b/src/main/java/cn/dancingsnow/bigger_ae2/client/ModCraftingUnitModelProvider.java @@ -0,0 +1,78 @@ +package cn.dancingsnow.bigger_ae2.client; + +import appeng.client.render.crafting.AbstractCraftingUnitModelProvider; +import appeng.client.render.crafting.LightBakedModel; +import appeng.core.AppEng; +import cn.dancingsnow.bigger_ae2.BiggerAE2Mod; +import cn.dancingsnow.bigger_ae2.block.ModCraftingUnitType; +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 java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.function.Function; + +public class ModCraftingUnitModelProvider extends AbstractCraftingUnitModelProvider { + + private static final List MATERIALS = new ArrayList<>(); + + private static final Material RING_CORNER = aeTexture("ring_corner"); + private static final Material RING_SIDE_HOR = aeTexture("ring_side_hor"); + private static final Material RING_SIDE_VER = aeTexture("ring_side_ver"); + private static final Material LIGHT_BASE = aeTexture("light_base"); + private static final Material ACCELERATOR_4_LIGHT = texture("4_core_crafting_accelerator_light"); + private static final Material ACCELERATOR_16_LIGHT = texture("16_core_crafting_accelerator_light"); + private static final Material ACCELERATOR_64_LIGHT = texture("64_core_crafting_accelerator_light"); + private static final Material ACCELERATOR_256_LIGHT = texture("256_core_crafting_accelerator_light"); + private static final Material ACCELERATOR_1024_LIGHT = texture("1024_core_crafting_accelerator_light"); + + + public ModCraftingUnitModelProvider(ModCraftingUnitType type) { + super(type); + } + + public TextureAtlasSprite getLightMaterial(Function textureGetter) { + return switch (this.type) { + case ACCELERATOR_4 -> textureGetter.apply(ACCELERATOR_4_LIGHT); + case ACCELERATOR_16 -> textureGetter.apply(ACCELERATOR_16_LIGHT); + case ACCELERATOR_64 -> textureGetter.apply(ACCELERATOR_64_LIGHT); + case ACCELERATOR_256 -> textureGetter.apply(ACCELERATOR_256_LIGHT); + case ACCELERATOR_1024 -> textureGetter.apply(ACCELERATOR_1024_LIGHT); + }; + } + + @Override + public List getMaterials() { + return Collections.unmodifiableList(MATERIALS); + } + + @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); + TextureAtlasSprite lightBase = spriteGetter.apply(LIGHT_BASE); + return new LightBakedModel( + ringCorner, + ringSideHor, + ringSideVer, + lightBase, + getLightMaterial(spriteGetter) + ); + } + + private static Material texture(String name) { + var material = new Material(InventoryMenu.BLOCK_ATLAS, BiggerAE2Mod.of("block/crafting/" + name)); + MATERIALS.add(material); + return material; + } + + private static Material aeTexture(String name) { + var material = new Material(InventoryMenu.BLOCK_ATLAS, AppEng.makeId("block/crafting/" + name)); + MATERIALS.add(material); + return material; + } +} diff --git a/src/main/java/cn/dancingsnow/bigger_ae2/init/ModBlockEntities.java b/src/main/java/cn/dancingsnow/bigger_ae2/init/ModBlockEntities.java new file mode 100644 index 0000000..275ac35 --- /dev/null +++ b/src/main/java/cn/dancingsnow/bigger_ae2/init/ModBlockEntities.java @@ -0,0 +1,31 @@ +package cn.dancingsnow.bigger_ae2.init; + +import appeng.blockentity.AEBaseBlockEntity; +import appeng.blockentity.crafting.CraftingBlockEntity; +import cn.dancingsnow.bigger_ae2.block.ModCraftingUnitType; +import com.tterrag.registrate.util.entry.BlockEntityEntry; + +import static cn.dancingsnow.bigger_ae2.BiggerAE2Mod.REGISTRATE; + +public class ModBlockEntities { + public static BlockEntityEntry CRAFTING_ACCELERATOR = REGISTRATE + .blockEntity("crafting_accelerator", CraftingBlockEntity::new) + .validBlocks( + ModBlocks.ACCELERATOR_4, + ModBlocks.ACCELERATOR_16, + ModBlocks.ACCELERATOR_64, + ModBlocks.ACCELERATOR_256, + ModBlocks.ACCELERATOR_1024 + ) + .onRegister(type -> { + for (ModCraftingUnitType craftingUnitType : ModCraftingUnitType.values()) { + AEBaseBlockEntity.registerBlockEntityItem(type, craftingUnitType.getItemFromType()); + craftingUnitType.getBlockFromType().setBlockEntity(CraftingBlockEntity.class, type, null, null); + } + }) + .register(); + + public static void register() { + + } +} diff --git a/src/main/java/cn/dancingsnow/bigger_ae2/init/ModBlocks.java b/src/main/java/cn/dancingsnow/bigger_ae2/init/ModBlocks.java new file mode 100644 index 0000000..651e61b --- /dev/null +++ b/src/main/java/cn/dancingsnow/bigger_ae2/init/ModBlocks.java @@ -0,0 +1,162 @@ +package cn.dancingsnow.bigger_ae2.init; + +import appeng.block.crafting.AbstractCraftingUnitBlock; +import appeng.block.crafting.CraftingUnitBlock; +import appeng.core.definitions.AEBlocks; +import cn.dancingsnow.bigger_ae2.block.ModCraftingUnitType; +import com.tterrag.registrate.providers.RegistrateRecipeProvider; +import com.tterrag.registrate.util.entry.BlockEntry; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.data.recipes.ShapelessRecipeBuilder; +import net.minecraft.world.item.BlockItem; +import net.minecraftforge.client.model.generators.ConfiguredModel; + +import static cn.dancingsnow.bigger_ae2.BiggerAE2Mod.REGISTRATE; + +public class ModBlocks { + + public static final BlockEntry ACCELERATOR_4 = REGISTRATE + .block("4_core_crafting_accelerator", p -> new CraftingUnitBlock(ModCraftingUnitType.ACCELERATOR_4)) + .blockstate((ctx, provider) -> { + String formed = "block/crafting/" + ctx.getName() + "_formed"; + String unformed = "block/crafting/" + ctx.getName(); + provider.models().cubeAll(unformed, provider.modLoc("block/crafting/" + ctx.getName())); + provider.models().getBuilder(formed); + provider.getVariantBuilder(ctx.get()) + .forAllStatesExcept(state -> { + boolean b = state.getValue(AbstractCraftingUnitBlock.FORMED); + return ConfiguredModel.builder() + .modelFile(provider.models().getExistingFile(provider.modLoc(b ? formed : unformed))) + .build(); + }, AbstractCraftingUnitBlock.POWERED); + }) + .recipe((ctx, provider) -> ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get()) + .requires(AEBlocks.CRAFTING_ACCELERATOR) + .requires(AEBlocks.CRAFTING_ACCELERATOR) + .requires(AEBlocks.CRAFTING_ACCELERATOR) + .requires(AEBlocks.CRAFTING_ACCELERATOR) + .unlockedBy("has_item", RegistrateRecipeProvider.has(AEBlocks.CRAFTING_ACCELERATOR)) + .save(provider)) + .defaultLoot() + .item(BlockItem::new) + .model((ctx, provider) -> provider.withExistingParent(ctx.getName(), provider.modLoc("block/crafting/" + ctx.getName()))) + .build() + .register(); + + public static final BlockEntry ACCELERATOR_16 = REGISTRATE + .block("16_core_crafting_accelerator", p -> new CraftingUnitBlock(ModCraftingUnitType.ACCELERATOR_16)) + .blockstate((ctx, provider) -> { + String formed = "block/crafting/" + ctx.getName() + "_formed"; + String unformed = "block/crafting/" + ctx.getName(); + provider.models().cubeAll(unformed, provider.modLoc("block/crafting/" + ctx.getName())); + provider.models().getBuilder(formed); + provider.getVariantBuilder(ctx.get()) + .forAllStatesExcept(state -> { + boolean b = state.getValue(AbstractCraftingUnitBlock.FORMED); + return ConfiguredModel.builder() + .modelFile(provider.models().getExistingFile(provider.modLoc(b ? formed : unformed))) + .build(); + }, AbstractCraftingUnitBlock.POWERED); + }) + .recipe((ctx, provider) -> ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get()) + .requires(ACCELERATOR_4) + .requires(ACCELERATOR_4) + .requires(ACCELERATOR_4) + .requires(ACCELERATOR_4) + .unlockedBy("has_item", RegistrateRecipeProvider.has(ACCELERATOR_4)) + .save(provider)) + .defaultLoot() + .item(BlockItem::new) + .model((ctx, provider) -> provider.withExistingParent(ctx.getName(), provider.modLoc("block/crafting/" + ctx.getName()))) + .build() + .register(); + + public static final BlockEntry ACCELERATOR_64 = REGISTRATE + .block("64_core_crafting_accelerator", p -> new CraftingUnitBlock(ModCraftingUnitType.ACCELERATOR_64)) + .blockstate((ctx, provider) -> { + String formed = "block/crafting/" + ctx.getName() + "_formed"; + String unformed = "block/crafting/" + ctx.getName(); + provider.models().cubeAll(unformed, provider.modLoc("block/crafting/" + ctx.getName())); + provider.models().getBuilder(formed); + provider.getVariantBuilder(ctx.get()) + .forAllStatesExcept(state -> { + boolean b = state.getValue(AbstractCraftingUnitBlock.FORMED); + return ConfiguredModel.builder() + .modelFile(provider.models().getExistingFile(provider.modLoc(b ? formed : unformed))) + .build(); + }, AbstractCraftingUnitBlock.POWERED); + }) + .recipe((ctx, provider) -> ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get()) + .requires(ACCELERATOR_16) + .requires(ACCELERATOR_16) + .requires(ACCELERATOR_16) + .requires(ACCELERATOR_16) + .unlockedBy("has_item", RegistrateRecipeProvider.has(ACCELERATOR_16)) + .save(provider)) + .defaultLoot() + .item(BlockItem::new) + .model((ctx, provider) -> provider.withExistingParent(ctx.getName(), provider.modLoc("block/crafting/" + ctx.getName()))) + .build() + .register(); + + public static final BlockEntry ACCELERATOR_256 = REGISTRATE + .block("256_core_crafting_accelerator", p -> new CraftingUnitBlock(ModCraftingUnitType.ACCELERATOR_256)) + .blockstate((ctx, provider) -> { + String formed = "block/crafting/" + ctx.getName() + "_formed"; + String unformed = "block/crafting/" + ctx.getName(); + provider.models().cubeAll(unformed, provider.modLoc("block/crafting/" + ctx.getName())); + provider.models().getBuilder(formed); + provider.getVariantBuilder(ctx.get()) + .forAllStatesExcept(state -> { + boolean b = state.getValue(AbstractCraftingUnitBlock.FORMED); + return ConfiguredModel.builder() + .modelFile(provider.models().getExistingFile(provider.modLoc(b ? formed : unformed))) + .build(); + }, AbstractCraftingUnitBlock.POWERED); + }) + .recipe((ctx, provider) -> ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get()) + .requires(ACCELERATOR_64) + .requires(ACCELERATOR_64) + .requires(ACCELERATOR_64) + .requires(ACCELERATOR_64) + .unlockedBy("has_item", RegistrateRecipeProvider.has(ACCELERATOR_64)) + .save(provider)) + .defaultLoot() + .item(BlockItem::new) + .model((ctx, provider) -> provider.withExistingParent(ctx.getName(), provider.modLoc("block/crafting/" + ctx.getName()))) + .build() + .register(); + + public static final BlockEntry ACCELERATOR_1024 = REGISTRATE + .block("1024_core_crafting_accelerator", p -> new CraftingUnitBlock(ModCraftingUnitType.ACCELERATOR_1024)) + .blockstate((ctx, provider) -> { + String formed = "block/crafting/" + ctx.getName() + "_formed"; + String unformed = "block/crafting/" + ctx.getName(); + provider.models().cubeAll(unformed, provider.modLoc("block/crafting/" + ctx.getName())); + provider.models().getBuilder(formed); + provider.getVariantBuilder(ctx.get()) + .forAllStatesExcept(state -> { + boolean b = state.getValue(AbstractCraftingUnitBlock.FORMED); + return ConfiguredModel.builder() + .modelFile(provider.models().getExistingFile(provider.modLoc(b ? formed : unformed))) + .build(); + }, AbstractCraftingUnitBlock.POWERED); + }) + .recipe((ctx, provider) -> ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ctx.get()) + .requires(ACCELERATOR_256) + .requires(ACCELERATOR_256) + .requires(ACCELERATOR_256) + .requires(ACCELERATOR_256) + .unlockedBy("has_item", RegistrateRecipeProvider.has(ACCELERATOR_256)) + .save(provider)) + .defaultLoot() + .item(BlockItem::new) + .model((ctx, provider) -> provider.withExistingParent(ctx.getName(), provider.modLoc("block/crafting/" + ctx.getName()))) + .build() + .register(); + + public static void register() { + + } + +} diff --git a/src/main/java/cn/dancingsnow/bigger_ae2/init/ModCreativeTab.java b/src/main/java/cn/dancingsnow/bigger_ae2/init/ModCreativeTab.java index a0a0748..7cc1ca2 100644 --- a/src/main/java/cn/dancingsnow/bigger_ae2/init/ModCreativeTab.java +++ b/src/main/java/cn/dancingsnow/bigger_ae2/init/ModCreativeTab.java @@ -21,6 +21,10 @@ public class ModCreativeTab { output.accept(ModItems.SINGULARITY_CELL_COMPONENT); output.accept(ModItems.SINGULARITY_ITEM_CELL); output.accept(ModItems.SINGULARITY_FLUID_CELL); + output.accept(ModBlocks.ACCELERATOR_4); + output.accept(ModBlocks.ACCELERATOR_16); + output.accept(ModBlocks.ACCELERATOR_64); + output.accept(ModBlocks.ACCELERATOR_256); }) .build() ) diff --git a/src/main/java/cn/dancingsnow/bigger_ae2/mixins/CraftingCPUClusterMixin.java b/src/main/java/cn/dancingsnow/bigger_ae2/mixins/CraftingCPUClusterMixin.java new file mode 100644 index 0000000..69991c3 --- /dev/null +++ b/src/main/java/cn/dancingsnow/bigger_ae2/mixins/CraftingCPUClusterMixin.java @@ -0,0 +1,19 @@ +package cn.dancingsnow.bigger_ae2.mixins; + +import appeng.me.cluster.implementations.CraftingCPUCluster; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +@Mixin(CraftingCPUCluster.class) +public class CraftingCPUClusterMixin { + + @ModifyConstant( + method = "addBlockEntity", + remap = false, + constant = @Constant(intValue = 16) + ) + private int modifyLimit(int constant) { + return 1024; + } +} diff --git a/src/main/java/cn/dancingsnow/bigger_ae2/mixins/client/BuiltInModelHooksAccessor.java b/src/main/java/cn/dancingsnow/bigger_ae2/mixins/client/BuiltInModelHooksAccessor.java new file mode 100644 index 0000000..78945d7 --- /dev/null +++ b/src/main/java/cn/dancingsnow/bigger_ae2/mixins/client/BuiltInModelHooksAccessor.java @@ -0,0 +1,17 @@ +package cn.dancingsnow.bigger_ae2.mixins.client; + +import appeng.hooks.BuiltInModelHooks; +import net.minecraft.client.resources.model.UnbakedModel; +import net.minecraft.resources.ResourceLocation; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +import java.util.Map; + +@Mixin(BuiltInModelHooks.class) +public interface BuiltInModelHooksAccessor { + @Accessor(value = "builtInModels", remap = false) + static Map getBuiltInModels() { + throw new AssertionError(); + } +} diff --git a/src/main/java/cn/dancingsnow/bigger_ae2/mixins/client/ModelBakeryMixin.java b/src/main/java/cn/dancingsnow/bigger_ae2/mixins/client/ModelBakeryMixin.java new file mode 100644 index 0000000..12384e5 --- /dev/null +++ b/src/main/java/cn/dancingsnow/bigger_ae2/mixins/client/ModelBakeryMixin.java @@ -0,0 +1,43 @@ +package cn.dancingsnow.bigger_ae2.mixins.client; + +import cn.dancingsnow.bigger_ae2.BiggerAE2Mod; +import net.minecraft.client.resources.model.ModelBakery; +import net.minecraft.client.resources.model.ModelResourceLocation; +import net.minecraft.client.resources.model.UnbakedModel; +import net.minecraft.resources.ResourceLocation; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(ModelBakery.class) +public abstract class ModelBakeryMixin { + @Shadow protected abstract void cacheAndQueueDependencies(ResourceLocation location, UnbakedModel model); + + @Inject(method = "loadModel", at = @At("HEAD"), cancellable = true) + private void loadModelHook(ResourceLocation id, CallbackInfo ci) { + UnbakedModel model = bigger_ae2$getUnbakedModel(id); + if (model != null) { + cacheAndQueueDependencies(id, model); + ci.cancel(); + } + } + + @Unique + private UnbakedModel bigger_ae2$getUnbakedModel(ResourceLocation variantId) { + if (!variantId.getNamespace().equals(BiggerAE2Mod.MOD_ID)) { + return null; + } + if (variantId instanceof ModelResourceLocation modelId) { + if (modelId.getVariant().equals("inventory")) { + ResourceLocation itemModelId = new ResourceLocation(modelId.getNamespace(), "item/" + modelId.getPath()); + return BuiltInModelHooksAccessor.getBuiltInModels().get(itemModelId); + } + return null; + } else { + return BuiltInModelHooksAccessor.getBuiltInModels().get(variantId); + } + } +} diff --git a/src/main/resources/assets/bigger_ae2/lang/zh_cn.json b/src/main/resources/assets/bigger_ae2/lang/zh_cn.json index 2c5d9e1..f1e7391 100644 --- a/src/main/resources/assets/bigger_ae2/lang/zh_cn.json +++ b/src/main/resources/assets/bigger_ae2/lang/zh_cn.json @@ -1,4 +1,9 @@ { + "block.bigger_ae2.1024_core_crafting_accelerator": "1024核并行处理单元", + "block.bigger_ae2.16_core_crafting_accelerator": "16核并行处理单元", + "block.bigger_ae2.256_core_crafting_accelerator": "256核并行处理单元", + "block.bigger_ae2.4_core_crafting_accelerator": "4核并行处理单元", + "block.bigger_ae2.64_core_crafting_accelerator": "64核并行处理单元", "item.bigger_ae2.advanced_fluid_cell_housing": "进阶物品元件外壳", "item.bigger_ae2.advanced_item_cell_housing": "进阶流体元件外壳", "item.bigger_ae2.digital_singularity_cell_component": "数字奇点存储组件", diff --git a/src/main/resources/assets/bigger_ae2/textures/block/crafting/1024_core_crafting_accelerator.png b/src/main/resources/assets/bigger_ae2/textures/block/crafting/1024_core_crafting_accelerator.png new file mode 100644 index 0000000..b5bd1bd Binary files /dev/null and b/src/main/resources/assets/bigger_ae2/textures/block/crafting/1024_core_crafting_accelerator.png differ diff --git a/src/main/resources/assets/bigger_ae2/textures/block/crafting/1024_core_crafting_accelerator_light.png b/src/main/resources/assets/bigger_ae2/textures/block/crafting/1024_core_crafting_accelerator_light.png new file mode 100644 index 0000000..1163669 Binary files /dev/null and b/src/main/resources/assets/bigger_ae2/textures/block/crafting/1024_core_crafting_accelerator_light.png differ diff --git a/src/main/resources/assets/bigger_ae2/textures/block/crafting/16_core_crafting_accelerator.png b/src/main/resources/assets/bigger_ae2/textures/block/crafting/16_core_crafting_accelerator.png new file mode 100644 index 0000000..eb88e04 Binary files /dev/null and b/src/main/resources/assets/bigger_ae2/textures/block/crafting/16_core_crafting_accelerator.png differ diff --git a/src/main/resources/assets/bigger_ae2/textures/block/crafting/16_core_crafting_accelerator_light.png b/src/main/resources/assets/bigger_ae2/textures/block/crafting/16_core_crafting_accelerator_light.png new file mode 100644 index 0000000..469ee6d Binary files /dev/null and b/src/main/resources/assets/bigger_ae2/textures/block/crafting/16_core_crafting_accelerator_light.png differ diff --git a/src/main/resources/assets/bigger_ae2/textures/block/crafting/256_core_crafting_accelerator.png b/src/main/resources/assets/bigger_ae2/textures/block/crafting/256_core_crafting_accelerator.png new file mode 100644 index 0000000..2dd0157 Binary files /dev/null and b/src/main/resources/assets/bigger_ae2/textures/block/crafting/256_core_crafting_accelerator.png differ diff --git a/src/main/resources/assets/bigger_ae2/textures/block/crafting/256_core_crafting_accelerator_light.png b/src/main/resources/assets/bigger_ae2/textures/block/crafting/256_core_crafting_accelerator_light.png new file mode 100644 index 0000000..cce013c Binary files /dev/null and b/src/main/resources/assets/bigger_ae2/textures/block/crafting/256_core_crafting_accelerator_light.png differ diff --git a/src/main/resources/assets/bigger_ae2/textures/block/crafting/4_core_crafting_accelerator.png b/src/main/resources/assets/bigger_ae2/textures/block/crafting/4_core_crafting_accelerator.png new file mode 100644 index 0000000..8705dac Binary files /dev/null and b/src/main/resources/assets/bigger_ae2/textures/block/crafting/4_core_crafting_accelerator.png differ diff --git a/src/main/resources/assets/bigger_ae2/textures/block/crafting/4_core_crafting_accelerator_light.png b/src/main/resources/assets/bigger_ae2/textures/block/crafting/4_core_crafting_accelerator_light.png new file mode 100644 index 0000000..172ebdf Binary files /dev/null and b/src/main/resources/assets/bigger_ae2/textures/block/crafting/4_core_crafting_accelerator_light.png differ diff --git a/src/main/resources/assets/bigger_ae2/textures/block/crafting/64_core_crafting_accelerator.png b/src/main/resources/assets/bigger_ae2/textures/block/crafting/64_core_crafting_accelerator.png new file mode 100644 index 0000000..4b6c1fd Binary files /dev/null and b/src/main/resources/assets/bigger_ae2/textures/block/crafting/64_core_crafting_accelerator.png differ diff --git a/src/main/resources/assets/bigger_ae2/textures/block/crafting/64_core_crafting_accelerator_light.png b/src/main/resources/assets/bigger_ae2/textures/block/crafting/64_core_crafting_accelerator_light.png new file mode 100644 index 0000000..8b37ed9 Binary files /dev/null and b/src/main/resources/assets/bigger_ae2/textures/block/crafting/64_core_crafting_accelerator_light.png differ diff --git a/src/main/resources/bigger_ae2.mixins.json b/src/main/resources/bigger_ae2.mixins.json index 66cc222..0a0864a 100644 --- a/src/main/resources/bigger_ae2.mixins.json +++ b/src/main/resources/bigger_ae2.mixins.json @@ -1,10 +1,15 @@ { "required": true, - "package": "com.example.examplemod.mixins", + "package": "cn.dancingsnow.bigger_ae2.mixins", "compatibilityLevel": "JAVA_17", "minVersion": "0.8", - "client": [], - "mixins": [], + "client": [ + "client.BuiltInModelHooksAccessor", + "client.ModelBakeryMixin" + ], + "mixins": [ + "CraftingCPUClusterMixin" + ], "injectors": { "defaultRequire": 1 }