feat:
1. 添加吞噬核心等相关物品 2. 添加吞噬核心相关物品与appflux/AAE/MegaCell mod的联动配方 3.同步1.20版本吞噬盘物品配方
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"type": "advanced_ae:reaction",
|
||||
"input_energy": 100000,
|
||||
"input_fluid": {
|
||||
"amount": 2000,
|
||||
"ingredient": {
|
||||
"fluid": "advanced_ae:quantum_infusion_source"
|
||||
}
|
||||
},
|
||||
"input_items": [
|
||||
{
|
||||
"amount": 2,
|
||||
"ingredient": {
|
||||
"item": "ae2:singularity"
|
||||
}
|
||||
},
|
||||
{
|
||||
"ingredient": {
|
||||
"item": "minecraft:nether_star"
|
||||
}
|
||||
},
|
||||
{
|
||||
"amount": 4,
|
||||
"ingredient": {
|
||||
"item": "advanced_ae:quantum_alloy_plate"
|
||||
}
|
||||
}
|
||||
],
|
||||
"output": {
|
||||
"#": 1,
|
||||
"#t": "ae2:i",
|
||||
"id": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_nether_star": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": "minecraft:nether_star"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "extendedae_plus:basic_core"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_the_recipe",
|
||||
"has_nether_star"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"extendedae_plus:basic_core"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_oblivion_singularity": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "extendedae_plus:infinity_biginteger_cell"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_the_recipe",
|
||||
"has_oblivion_singularity"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"extendedae_plus:infinity_biginteger_cell"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"A": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"B": {
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
"C": {
|
||||
"item": "ae2:logic_processor"
|
||||
},
|
||||
"D": {
|
||||
"item": "ae2:fluix_pearl"
|
||||
},
|
||||
"E": {
|
||||
"item": "ae2:engineering_processor"
|
||||
},
|
||||
"F": {
|
||||
"item": "ae2:calculation_processor"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"ABA",
|
||||
"CDE",
|
||||
"AFA"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"G": {
|
||||
"item": "ae2:quartz_vibrant_glass"
|
||||
},
|
||||
"I": {
|
||||
"item": "extendedae_plus:infinity_core"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"GOG",
|
||||
"NIN",
|
||||
"BBB"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:infinity_biginteger_cell"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "ae2:transform",
|
||||
"circumstance": {
|
||||
"type": "explosion"
|
||||
},
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "ae2:singularity"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:netherite_block"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,13 @@
|
|||
package com.extendedae_plus.api.ids;
|
||||
|
||||
import com.extendedae_plus.ExtendedAEPlus;
|
||||
import com.extendedae_plus.items.BasicCoreItem;
|
||||
import com.mojang.serialization.Codec;
|
||||
import net.minecraft.core.component.DataComponentType;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.codec.ByteBufCodecs;
|
||||
import net.minecraft.network.codec.StreamCodec;
|
||||
import net.neoforged.neoforge.registries.DeferredHolder;
|
||||
import net.neoforged.neoforge.registries.DeferredRegister;
|
||||
|
||||
|
|
@ -15,8 +18,6 @@ public final class EAPComponents {
|
|||
public static final DeferredRegister<DataComponentType<?>> DR =
|
||||
DeferredRegister.create(Registries.DATA_COMPONENT_TYPE, ExtendedAEPlus.MODID);
|
||||
|
||||
// 2. 你的自定义组件(下面举几个常见例子)
|
||||
|
||||
// 布尔值:高级阻塞模式
|
||||
public static final DeferredHolder<DataComponentType<?>, DataComponentType<Boolean>> ADVANCED_BLOCKING =
|
||||
register("advanced_blocking", builder ->
|
||||
|
|
@ -28,6 +29,21 @@ public final class EAPComponents {
|
|||
builder.persistent(Codec.BOOL) // 存档持久化
|
||||
.networkSynchronized(ByteBufCodecs.BOOL)); // 网络同步(客户端要看到)
|
||||
|
||||
// 核心类型组件(CoreType)
|
||||
public static final DeferredHolder<DataComponentType<?>, DataComponentType<BasicCoreItem.CoreType>> CORE_TYPE =
|
||||
register("core_type", builder ->
|
||||
builder.persistent(Codec.STRING.xmap(BasicCoreItem.CoreType::valueOf, Enum::name))
|
||||
.networkSynchronized(StreamCodec.of(
|
||||
FriendlyByteBuf::writeEnum,
|
||||
buf -> buf.readEnum(BasicCoreItem.CoreType.class)
|
||||
)));
|
||||
|
||||
// 核心阶段组件(Stage)
|
||||
public static final DeferredHolder<DataComponentType<?>, DataComponentType<Integer>> CORE_STAGE =
|
||||
register("core_stage", builder ->
|
||||
builder.persistent(Codec.INT)
|
||||
.networkSynchronized(ByteBufCodecs.INT));
|
||||
|
||||
private static <T> DeferredHolder<DataComponentType<?>, DataComponentType<T>> register(
|
||||
String name,
|
||||
UnaryOperator<DataComponentType.Builder<T>> builderOperator) {
|
||||
|
|
|
|||
|
|
@ -4,11 +4,13 @@ import appeng.client.render.crafting.CraftingCubeModel;
|
|||
import appeng.init.client.InitScreens;
|
||||
import com.extendedae_plus.ExtendedAEPlus;
|
||||
import com.extendedae_plus.ae.screen.EntitySpeedTickerScreen;
|
||||
import com.extendedae_plus.api.ids.EAPComponents;
|
||||
import com.extendedae_plus.client.render.crafting.EPlusCraftingCubeModelProvider;
|
||||
import com.extendedae_plus.content.crafting.EPlusCraftingUnitType;
|
||||
import com.extendedae_plus.hooks.BuiltInModelHooks;
|
||||
import com.extendedae_plus.init.ModItems;
|
||||
import com.extendedae_plus.init.ModMenuTypes;
|
||||
import com.extendedae_plus.items.BasicCoreItem;
|
||||
import com.extendedae_plus.items.materials.EntitySpeedCardItem;
|
||||
import com.extendedae_plus.client.screen.LabeledWirelessTransceiverScreen;
|
||||
import com.extendedae_plus.menu.LabeledWirelessTransceiverMenu;
|
||||
|
|
@ -34,6 +36,13 @@ public final class ClientProxy {
|
|||
ItemProperties.register(ModItems.ENTITY_SPEED_CARD.get(), ExtendedAEPlus.id("mult"),
|
||||
(stack, world, entity, seed) -> (float) EntitySpeedCardItem.readMultiplier(stack));
|
||||
|
||||
// 注册 BasicCore 的 core_type 属性用于模型切换
|
||||
ItemProperties.register(ModItems.BASIC_CORE.get(), ExtendedAEPlus.id("core_type"),
|
||||
(stack, world, entity, seed) -> {
|
||||
BasicCoreItem.CoreType type = stack.get(EAPComponents.CORE_TYPE.get());
|
||||
return type != null ? (float) type.id : 0.0f;
|
||||
});
|
||||
|
||||
// 注册五种形成态模型为内置模型
|
||||
BuiltInModelHooks.addBuiltInModel(
|
||||
ExtendedAEPlus.id("block/crafting/4x_accelerator_formed_v2"),
|
||||
|
|
|
|||
|
|
@ -2,14 +2,21 @@ package com.extendedae_plus.datagen;
|
|||
|
||||
import appeng.core.definitions.AEBlocks;
|
||||
import appeng.core.definitions.AEItems;
|
||||
import appeng.recipes.transform.TransformCircumstance;
|
||||
import appeng.recipes.transform.TransformRecipeBuilder;
|
||||
import com.extendedae_plus.ExtendedAEPlus;
|
||||
import com.extendedae_plus.init.ModItems;
|
||||
import com.glodblock.github.extendedae.common.EAESingletons;
|
||||
import net.minecraft.core.HolderLookup;
|
||||
import net.minecraft.data.PackOutput;
|
||||
import net.minecraft.data.recipes.*;
|
||||
import net.minecraft.data.recipes.RecipeCategory;
|
||||
import net.minecraft.data.recipes.RecipeOutput;
|
||||
import net.minecraft.data.recipes.RecipeProvider;
|
||||
import net.minecraft.data.recipes.ShapedRecipeBuilder;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.pedroksl.advanced_ae.common.definitions.AAEFluids;
|
||||
import net.pedroksl.advanced_ae.common.definitions.AAEItems;
|
||||
import net.pedroksl.advanced_ae.recipes.ReactionChamberRecipeBuilder;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
|
@ -26,7 +33,6 @@ public class CrafterRecipe extends RecipeProvider {
|
|||
|
||||
@Override
|
||||
protected void buildRecipes(@NotNull RecipeOutput output) {
|
||||
|
||||
//超级装配矩阵速度核心
|
||||
ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.ASSEMBLER_MATRIX_SPEED_PLUS.get())
|
||||
.pattern("BRB")
|
||||
|
|
@ -92,5 +98,48 @@ public class CrafterRecipe extends RecipeProvider {
|
|||
.define('C', Items.REDSTONE)
|
||||
.define('D', AEItems.CALCULATION_PROCESSOR)
|
||||
.save(output);
|
||||
|
||||
// 湮灭奇点 - 爆炸转换
|
||||
TransformRecipeBuilder.transform(output,
|
||||
ExtendedAEPlus.id("transform/oblivion_singularity"),
|
||||
ModItems.OBLIVION_SINGULARITY.get(), 1,
|
||||
TransformCircumstance.EXPLOSION,
|
||||
AEItems.SINGULARITY, Items.NETHER_STAR, Items.NETHERITE_BLOCK
|
||||
);
|
||||
|
||||
// 湮灭奇点 - AAE反应仓配方
|
||||
ReactionChamberRecipeBuilder.react(ModItems.OBLIVION_SINGULARITY.get(), 1, 100000)
|
||||
.input(AEItems.SINGULARITY, 2)
|
||||
.input(Items.NETHER_STAR, 1)
|
||||
.input(AAEItems.QUANTUM_ALLOY_PLATE, 4)
|
||||
.fluid(AAEFluids.QUANTUM_INFUSION.source(), 2000)
|
||||
.save(output, "oblivion_singularity");
|
||||
|
||||
// 基础核心配方
|
||||
ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.BASIC_CORE.get())
|
||||
.pattern("ABA")
|
||||
.pattern("CDE")
|
||||
.pattern("AFA")
|
||||
.define('A', Items.NETHERITE_BLOCK)
|
||||
.define('B', Items.NETHER_STAR)
|
||||
.define('C', AEItems.LOGIC_PROCESSOR)
|
||||
.define('D', AEItems.FLUIX_PEARL)
|
||||
.define('E', AEItems.ENGINEERING_PROCESSOR)
|
||||
.define('F', AEItems.CALCULATION_PROCESSOR)
|
||||
.unlockedBy("has_nether_star", has(Items.NETHER_STAR))
|
||||
.save(output);
|
||||
|
||||
// 吞噬盘
|
||||
ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.INFINITY_BIGINTEGER_CELL_ITEM.get())
|
||||
.pattern("GOG")
|
||||
.pattern("NIN")
|
||||
.pattern("BBB")
|
||||
.define('G', AEBlocks.QUARTZ_VIBRANT_GLASS)
|
||||
.define('O', ModItems.OBLIVION_SINGULARITY.get())
|
||||
.define('N', Items.NETHER_STAR)
|
||||
.define('I', ModItems.INFINITY_CORE.get())
|
||||
.define('B', Items.NETHERITE_BLOCK)
|
||||
.unlockedBy("has_oblivion_singularity", has(ModItems.OBLIVION_SINGULARITY.get()))
|
||||
.save(output);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,9 +40,22 @@ public final class ModCreativeTabs {
|
|||
ModItems.FISH_DAN.get().getDefaultInstance(),
|
||||
ModItems._FENG.get().getDefaultInstance(),
|
||||
ModItems.XBAI.get().getDefaultInstance(),
|
||||
ModItems.MIRROR_PATTERN_BINDING_TOOL.get().getDefaultInstance()
|
||||
ModItems.MIRROR_PATTERN_BINDING_TOOL.get().getDefaultInstance(),
|
||||
// 基础核心相关物品
|
||||
ModItems.OBLIVION_SINGULARITY.get().getDefaultInstance(),
|
||||
ModItems.BASIC_CORE.get().getDefaultInstance(),
|
||||
ModItems.STORAGE_CORE.get().getDefaultInstance(),
|
||||
ModItems.SPATIAL_CORE.get().getDefaultInstance(),
|
||||
ModItems.INFINITY_CORE.get().getDefaultInstance()
|
||||
).forEach(output::accept);
|
||||
|
||||
if (ModItems.ENERGY_STORAGE_CORE != null) {
|
||||
output.accept(ModItems.ENERGY_STORAGE_CORE.get());
|
||||
}
|
||||
if (ModItems.QUANTUM_STORAGE_CORE != null) {
|
||||
output.accept(ModItems.QUANTUM_STORAGE_CORE.get());
|
||||
}
|
||||
|
||||
// 放入四个预设的 stacks(x2,x4,x8,x16),使用 ModItems 工厂创建
|
||||
for (byte multiplier : new byte[] {2, 4, 8, 16}) {
|
||||
ItemStack stack = ModItems.createEntitySpeedCardStack(multiplier);
|
||||
|
|
|
|||
|
|
@ -1,15 +1,18 @@
|
|||
package com.extendedae_plus.init;
|
||||
|
||||
import com.extendedae_plus.ExtendedAEPlus;
|
||||
import com.extendedae_plus.items.BasicCoreItem;
|
||||
import com.extendedae_plus.items.EntitySpeedTickerPartItem;
|
||||
import com.extendedae_plus.items.InfinityBigIntegerCellItem;
|
||||
import com.extendedae_plus.items.materials.ChannelCardItem;
|
||||
import com.extendedae_plus.items.materials.EntitySpeedCardItem;
|
||||
import com.extendedae_plus.items.materials.VirtualCraftingCardItem;
|
||||
import com.extendedae_plus.items.tools.MirrorPatternBindingToolItem;
|
||||
import com.extendedae_plus.util.ModCheckUtils;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
import net.neoforged.neoforge.registries.DeferredItem;
|
||||
import net.neoforged.neoforge.registries.DeferredRegister;
|
||||
|
||||
|
|
@ -109,10 +112,60 @@ public final class ModItems {
|
|||
"network_pattern_controller",
|
||||
() -> new BlockItem(ModBlocks.NETWORK_PATTERN_CONTROLLER.get(), new Item.Properties())
|
||||
);
|
||||
static final DeferredItem<Item> INFINITY_BIGINTEGER_CELL_ITEM = ITEMS.register(
|
||||
public static final DeferredItem<Item> INFINITY_BIGINTEGER_CELL_ITEM = ITEMS.register(
|
||||
"infinity_biginteger_cell", InfinityBigIntegerCellItem::new
|
||||
);
|
||||
|
||||
// ==================== 基础核心及相关物品 ====================
|
||||
// 基础核心 - 用于合成各种高级核心,稀有度由DataComponent动态设置
|
||||
public static final DeferredItem<BasicCoreItem> BASIC_CORE = ITEMS.register(
|
||||
"basic_core",
|
||||
() -> new BasicCoreItem(new Item.Properties())
|
||||
);
|
||||
// 存储核心
|
||||
public static final DeferredItem<Item> STORAGE_CORE = ITEMS.register(
|
||||
"storage_core",
|
||||
() -> new Item(new Item.Properties().fireResistant().rarity(Rarity.EPIC))
|
||||
);
|
||||
// 空间核心
|
||||
public static final DeferredItem<Item> SPATIAL_CORE = ITEMS.register(
|
||||
"spatial_core",
|
||||
() -> new Item(new Item.Properties().fireResistant().rarity(Rarity.EPIC))
|
||||
);
|
||||
// 吞噬核心
|
||||
public static final DeferredItem<Item> INFINITY_CORE = ITEMS.register(
|
||||
"infinity_core",
|
||||
() -> new Item(new Item.Properties().fireResistant().rarity(Rarity.EPIC))
|
||||
);
|
||||
// 湮灭奇点
|
||||
public static final DeferredItem<Item> OBLIVION_SINGULARITY = ITEMS.register(
|
||||
"oblivion_singularity",
|
||||
() -> new Item(new Item.Properties().fireResistant().rarity(Rarity.RARE))
|
||||
);
|
||||
public static final DeferredItem<Item> ENERGY_STORAGE_CORE;
|
||||
public static final DeferredItem<Item> QUANTUM_STORAGE_CORE;
|
||||
|
||||
static {
|
||||
// 能源存储核心 - 需要AppFlux模组
|
||||
if (ModCheckUtils.isAppfluxLoading()) {
|
||||
ENERGY_STORAGE_CORE = ITEMS.register(
|
||||
"energy_storage_core",
|
||||
() -> new Item(new Item.Properties().fireResistant().rarity(Rarity.EPIC))
|
||||
);
|
||||
} else {
|
||||
ENERGY_STORAGE_CORE = null;
|
||||
}
|
||||
|
||||
// 量子存储核心 - 需要AdvancedAE模组
|
||||
if (ModCheckUtils.isAAELoading()) {
|
||||
QUANTUM_STORAGE_CORE = ITEMS.register(
|
||||
"quantum_storage_core",
|
||||
() -> new Item(new Item.Properties().fireResistant().rarity(Rarity.EPIC))
|
||||
);
|
||||
} else {
|
||||
QUANTUM_STORAGE_CORE = null;
|
||||
}
|
||||
}
|
||||
|
||||
private ModItems() {}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.extendedae_plus.integration.jei;
|
||||
|
||||
import com.extendedae_plus.ExtendedAEPlus;
|
||||
import com.extendedae_plus.init.ModItems;
|
||||
import com.extendedae_plus.items.BasicCoreItem;
|
||||
import com.extendedae_plus.items.materials.EntitySpeedCardItem;
|
||||
import mezz.jei.api.IModPlugin;
|
||||
import mezz.jei.api.JeiPlugin;
|
||||
|
|
@ -27,27 +29,62 @@ public class ExtendedAEJeiPlugin implements IModPlugin {
|
|||
JeiRuntimeProxy.setRuntime(jeiRuntime);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void registerItemSubtypes(ISubtypeRegistration registration) {
|
||||
// Register NBT-based subtype interpreter so JEI treats different multipliers as distinct items
|
||||
registration.registerSubtypeInterpreter(
|
||||
VanillaTypes.ITEM_STACK,
|
||||
com.extendedae_plus.init.ModItems.ENTITY_SPEED_CARD.get(),
|
||||
new ISubtypeInterpreter<ItemStack>() {
|
||||
ModItems.ENTITY_SPEED_CARD.get(),
|
||||
new ISubtypeInterpreter<>() {
|
||||
@Override
|
||||
public @NotNull Object getSubtypeData(@NotNull ItemStack ingredient, @NotNull UidContext context) {
|
||||
// 返回你想让 JEI 区分子类型的数据,这里用 multiplier
|
||||
return EntitySpeedCardItem.readMultiplier(ingredient);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getLegacyStringSubtypeInfo(@NotNull ItemStack ingredient, @NotNull UidContext context) {
|
||||
public @NotNull String getLegacyStringSubtypeInfo(@NotNull ItemStack ingredient,
|
||||
@NotNull UidContext context) {
|
||||
// 返回同样的值给旧接口兼容
|
||||
return String.valueOf(EntitySpeedCardItem.readMultiplier(ingredient));
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Basic Core - 基础核心的NBT变体支持
|
||||
registration.registerSubtypeInterpreter(
|
||||
VanillaTypes.ITEM_STACK,
|
||||
ModItems.BASIC_CORE.get(),
|
||||
new ISubtypeInterpreter<>() {
|
||||
@Override
|
||||
public @NotNull Object getSubtypeData(@NotNull ItemStack stack, @NotNull UidContext context) {
|
||||
if (!BasicCoreItem.isTyped(stack)) {
|
||||
return "untyped";
|
||||
}
|
||||
|
||||
BasicCoreItem.CoreType type = BasicCoreItem.getType(stack).orElse(null);
|
||||
if (type == null) {
|
||||
return "untyped";
|
||||
}
|
||||
|
||||
int stage = BasicCoreItem.getStage(stack);
|
||||
return type.id + "_" + stage; // 如 "1_1", "2_3"
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getLegacyStringSubtypeInfo(@NotNull ItemStack stack,
|
||||
@NotNull UidContext context) {
|
||||
if (!BasicCoreItem.isTyped(stack)) {
|
||||
return "untyped";
|
||||
}
|
||||
|
||||
BasicCoreItem.CoreType type = BasicCoreItem.getType(stack).orElse(null);
|
||||
if (type == null) {
|
||||
return "untyped";
|
||||
}
|
||||
|
||||
int stage = BasicCoreItem.getStage(stack);
|
||||
return type.id + "_" + stage;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
139
src/main/java/com/extendedae_plus/items/BasicCoreItem.java
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
package com.extendedae_plus.items;
|
||||
|
||||
import com.extendedae_plus.ExtendedAEPlus;
|
||||
import com.extendedae_plus.api.ids.EAPComponents;
|
||||
import com.extendedae_plus.init.ModItems;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.core.component.DataComponents;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.api.distmarker.OnlyIn;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public class BasicCoreItem extends Item {
|
||||
private static final int MAX_STAGE = 3;
|
||||
|
||||
public BasicCoreItem(Properties props) {
|
||||
super(props.stacksTo(1));
|
||||
}
|
||||
|
||||
// ==================== 工厂方法 ====================
|
||||
public static ItemStack of(CoreType type, int stage) {
|
||||
ItemStack stack = new ItemStack(ModItems.BASIC_CORE.get());
|
||||
if (type != null && stage >= 0 && stage <= MAX_STAGE) {
|
||||
stack.set(EAPComponents.CORE_TYPE.get(), type);
|
||||
stack.set(EAPComponents.CORE_STAGE.get(), stage);
|
||||
stack.set(DataComponents.RARITY, type.getRarity(stage));
|
||||
}
|
||||
return stack;
|
||||
}
|
||||
|
||||
public static ItemStack storageStage(int stage) { return of(CoreType.STORAGE, stage); }
|
||||
public static ItemStack spatialStage(int stage) { return of(CoreType.SPATIAL, stage); }
|
||||
public static ItemStack energyStage(int stage) { return of(CoreType.ENERGY, stage); }
|
||||
public static ItemStack quantumStage(int stage) { return of(CoreType.QUANTUM, stage); }
|
||||
|
||||
// ==================== DataComponents 查询 ====================
|
||||
public static Optional<CoreType> getType(ItemStack stack) {
|
||||
return Optional.ofNullable(stack.get(EAPComponents.CORE_TYPE.get()));
|
||||
}
|
||||
|
||||
public static int getStage(ItemStack stack) {
|
||||
Integer stage = stack.get(EAPComponents.CORE_STAGE.get());
|
||||
return stage != null ? Math.min(stage, MAX_STAGE) : 0;
|
||||
}
|
||||
|
||||
public static boolean isTyped(ItemStack stack) { return getType(stack).isPresent(); }
|
||||
|
||||
public static boolean isFinalStage(ItemStack stack) { return getStage(stack) >= MAX_STAGE; }
|
||||
|
||||
// ==================== 耐久条 ====================
|
||||
@Override
|
||||
public boolean isBarVisible(ItemStack stack) {
|
||||
return isTyped(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBarWidth(@NotNull ItemStack stack) {
|
||||
if (!isTyped(stack)) return 0;
|
||||
return Math.round(13.0f * getStage(stack) / MAX_STAGE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBarColor(@NotNull ItemStack stack) {
|
||||
return getType(stack)
|
||||
.map(type -> type.getTextColor().getColor())
|
||||
.orElse(0xFFFFFF);
|
||||
}
|
||||
|
||||
// ==================== Tooltip ====================
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Override
|
||||
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltip, TooltipFlag flag) {
|
||||
if (!isTyped(stack)) {
|
||||
tooltip.add(Component.translatable("tooltip." + ExtendedAEPlus.MODID + ".basic_core.untyped")
|
||||
.withStyle(ChatFormatting.GRAY));
|
||||
return;
|
||||
}
|
||||
|
||||
getType(stack).ifPresent(type -> {
|
||||
String finalKey = "item." + ExtendedAEPlus.MODID + "." + type.key + "_core";
|
||||
tooltip.add(Component.translatable("tooltip." + ExtendedAEPlus.MODID + ".basic_core.evolving_to",
|
||||
Component.translatable(finalKey).withStyle(type.getTextColor()))
|
||||
.withStyle(ChatFormatting.AQUA));
|
||||
tooltip.add(Component.empty());
|
||||
|
||||
tooltip.add(Component.translatable("tooltip." + ExtendedAEPlus.MODID + ".basic_core.progress")
|
||||
.withStyle(ChatFormatting.YELLOW));
|
||||
|
||||
int stage = getStage(stack);
|
||||
for (int i = 1; i <= 3; i++) {
|
||||
String key = "item." + ExtendedAEPlus.MODID + ".basic_core." + type.key + "." + i;
|
||||
ChatFormatting color = i <= stage ? ChatFormatting.GREEN : ChatFormatting.DARK_GRAY;
|
||||
String prefix = i <= stage ? "✔ " : "✘ ";
|
||||
tooltip.add(Component.literal(prefix).withStyle(color).append(Component.translatable(key)));
|
||||
}
|
||||
|
||||
if (stage >= MAX_STAGE) {
|
||||
tooltip.add(Component.empty());
|
||||
tooltip.add(Component.translatable("tooltip." + ExtendedAEPlus.MODID + ".basic_core.ready_to_craft")
|
||||
.withStyle(ChatFormatting.GOLD));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// ==================== 核心类型枚举 ====================
|
||||
public enum CoreType {
|
||||
STORAGE (1, "storage", ChatFormatting.AQUA),
|
||||
SPATIAL (2, "spatial", ChatFormatting.YELLOW),
|
||||
ENERGY (3, "energy_storage", ChatFormatting.RED),
|
||||
QUANTUM (4, "quantum_storage",ChatFormatting.LIGHT_PURPLE);
|
||||
|
||||
public final int id;
|
||||
public final String key;
|
||||
public final ChatFormatting textColor;
|
||||
|
||||
CoreType(int id, String key, ChatFormatting textColor) {
|
||||
this.id = id;
|
||||
this.key = key;
|
||||
this.textColor = textColor;
|
||||
}
|
||||
|
||||
public ChatFormatting getTextColor() { return textColor; }
|
||||
|
||||
public Rarity getRarity(int stage) {
|
||||
return switch (stage) {
|
||||
case 1, 2 -> Rarity.UNCOMMON;
|
||||
case 3 -> Rarity.EPIC;
|
||||
default -> Rarity.COMMON;
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -30,7 +30,8 @@ public class InfinityBigIntegerCellItem extends Item implements ICellWorkbenchIt
|
|||
|
||||
@Override
|
||||
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltip, TooltipFlag tooltipFlag) {
|
||||
tooltip.add(Component.translatable("tooltip.extendedae_plus.infinity_biginteger_cell"));
|
||||
tooltip.add(Component.translatable("tooltip.extendedae_plus.infinity_biginteger_cell.line1"));
|
||||
tooltip.add(Component.translatable("tooltip.extendedae_plus.infinity_biginteger_cell.line2"));
|
||||
|
||||
Preconditions.checkArgument(stack.getItem() == this);
|
||||
// 仅在 ItemStack 自身存在 UUID 时显示 UUID,避免触发持久化或加载逻辑
|
||||
|
|
|
|||
92
src/main/java/com/extendedae_plus/util/ModCheckUtils.java
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
package com.extendedae_plus.util;
|
||||
|
||||
|
||||
import net.neoforged.fml.loading.LoadingModList;
|
||||
import net.neoforged.fml.loading.moddiscovery.ModFileInfo;
|
||||
|
||||
/**
|
||||
* Forge 加载阶段的 Mod 检测工具
|
||||
* 适用于 MixinConfigPlugin 阶段使用
|
||||
* 包含版本比较工具
|
||||
*/
|
||||
public class ModCheckUtils {
|
||||
|
||||
private static final LoadingModList MOD_LIST = LoadingModList.get();
|
||||
|
||||
public static final String
|
||||
MODID_JEI = "jei",
|
||||
MODID_EMI = "emi",
|
||||
MODID_AE = "ae2",
|
||||
MODID_AAE = "advanced_ae",
|
||||
MODID_AE2WTLIB = "ae2wtlib",
|
||||
MODID_FTB_TEAMS = "ftbteams",
|
||||
MODID_APPFLUX = "appflux",
|
||||
MODID_GUIDEME = "guideme",
|
||||
MODID_MAE2 = "mae2",
|
||||
MODID_MEGA = "megacells",
|
||||
MODID_EPA = "expandedae";
|
||||
|
||||
/**
|
||||
* 检查指定模组是否存在
|
||||
*/
|
||||
public static boolean isLoaded(String modid) {
|
||||
return MOD_LIST != null && MOD_LIST.getModFileById(modid) != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取模组版本号(x.x.x),若不存在则返回 "0.0.0"
|
||||
*/
|
||||
public static String getVersion(String modid) {
|
||||
if (MOD_LIST == null) return "0.0.0";
|
||||
ModFileInfo file = MOD_LIST.getModFileById(modid);
|
||||
if (file == null || file.getMods().isEmpty()) return "0.0.0";
|
||||
return file.getMods().get(0).getVersion().toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查模组是否存在且版本低于指定版本
|
||||
*/
|
||||
public static boolean isLoadedAndLowerThan(String modid, String targetVersion) {
|
||||
if (!isLoaded(modid)) return false;
|
||||
return isVersionLower(getVersion(modid), targetVersion);
|
||||
}
|
||||
|
||||
/**
|
||||
* 比较两个版本号
|
||||
*
|
||||
* @param current 当前版本号,格式 x.x.x
|
||||
* @param target 目标版本号,格式 x.x.x
|
||||
* @return true 如果 current < target,否则 false
|
||||
*/
|
||||
public static boolean isVersionLower(String current, String target) {
|
||||
if (current == null || target == null) return false;
|
||||
|
||||
String[] curParts = current.split("\\.");
|
||||
String[] tarParts = target.split("\\.");
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
int curNum = i < curParts.length ? parse(curParts[i]) : 0;
|
||||
int tarNum = i < tarParts.length ? parse(tarParts[i]) : 0;
|
||||
|
||||
if (curNum < tarNum) return true;
|
||||
if (curNum > tarNum) return false;
|
||||
}
|
||||
return false; // 相等则不小于
|
||||
}
|
||||
|
||||
private static int parse(String s) {
|
||||
try {
|
||||
return Integer.parseInt(s.replaceAll("[^0-9]", ""));
|
||||
} catch (Exception e) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isAppfluxLoading() {
|
||||
return ModCheckUtils.isLoaded(ModCheckUtils.MODID_APPFLUX);
|
||||
}
|
||||
|
||||
public static boolean isAAELoading() {
|
||||
return ModCheckUtils.isLoaded(ModCheckUtils.MODID_AAE);
|
||||
}
|
||||
}
|
||||
|
|
@ -48,7 +48,31 @@
|
|||
"item.extendedae_plus.entity_speed_card.x8": "Entity Speed Card (x8)",
|
||||
"item.extendedae_plus.entity_speed_card.x16": "Entity Speed Card (x16)",
|
||||
"item.extendedae_plus.infinity_biginteger_cell": "§4De§cvou§6rer §eof §aCo§bsmic §dSilence",
|
||||
"tooltip.extendedae_plus.infinity_biginteger_cell": "§7—§bThe tangible projection of absolute storage§r, §ewhere '§6The Finite§e' §chas been deemed illegal§r\n§bIts very existence§r §bis the ultimate negation of §dentropy§r",
|
||||
"item.extendedae_plus.basic_core": "Basic Core",
|
||||
"item.extendedae_plus.storage_core": "Storage Core",
|
||||
"item.extendedae_plus.energy_storage_core": "Energy Storage Core",
|
||||
"item.extendedae_plus.quantum_storage_core": "Quantum Storage Core",
|
||||
"item.extendedae_plus.infinity_core": "Devouring Storage Core",
|
||||
"item.extendedae_plus.spatial_core": "Spatial Core",
|
||||
"item.extendedae_plus.oblivion_singularity": "Oblivion Singularity",
|
||||
"item.extendedae_plus.basic_core.storage.1": "Basic Core·Digitized",
|
||||
"item.extendedae_plus.basic_core.storage.2": "Basic Core·Arrayed",
|
||||
"item.extendedae_plus.basic_core.storage.3": "Basic Core·Matricized",
|
||||
"item.extendedae_plus.basic_core.spatial.1": "Basic Core·Coordinated",
|
||||
"item.extendedae_plus.basic_core.spatial.2": "Basic Core·Domainized",
|
||||
"item.extendedae_plus.basic_core.spatial.3": "Basic Core·Dimensionalized",
|
||||
"item.extendedae_plus.basic_core.energy_storage.1": "Basic Core·Quantified",
|
||||
"item.extendedae_plus.basic_core.energy_storage.2": "Basic Core·Fluidized",
|
||||
"item.extendedae_plus.basic_core.energy_storage.3": "Basic Core·Fielded",
|
||||
"item.extendedae_plus.basic_core.quantum_storage.1": "Basic Core·Superposed",
|
||||
"item.extendedae_plus.basic_core.quantum_storage.2": "Basic Core·Entangled",
|
||||
"item.extendedae_plus.basic_core.quantum_storage.3": "Basic Core·Coherent",
|
||||
"tooltip.extendedae_plus.basic_core.untyped": "Core State: Awaiting Initialization",
|
||||
"tooltip.extendedae_plus.basic_core.evolving_to": "Directed Evolution: %s",
|
||||
"tooltip.extendedae_plus.basic_core.progress": "Construction Progress: ",
|
||||
"tooltip.extendedae_plus.basic_core.ready_to_craft": "Core construction complete. Awaiting final synthesis",
|
||||
"tooltip.extendedae_plus.infinity_biginteger_cell.line1": "§7—§bThe tangible projection of absolute storage§r, §ewhere '§6The Finite§e' §chas been deemed illegal§r",
|
||||
"tooltip.extendedae_plus.infinity_biginteger_cell.line2": "§bIts very existence§r §bis the ultimate negation of §dentropy§r",
|
||||
"tooltip.extendedae_plus.entity_speed_card.multiplier": "Multiplier: %s",
|
||||
"tooltip.extendedae_plus.entity_speed_card.max": "Maximum Effect: %s Times",
|
||||
|
||||
|
|
|
|||
|
|
@ -48,10 +48,35 @@
|
|||
"item.extendedae_plus.entity_speed_card.x8": "实体加速卡 (x8)",
|
||||
"item.extendedae_plus.entity_speed_card.x16": "实体加速卡 (x16)",
|
||||
"item.extendedae_plus.infinity_biginteger_cell": "§4吞§c噬§6万§e籁§a的§b寂§d静",
|
||||
"tooltip.extendedae_plus.infinity_biginteger_cell": "§7——§b绝对存储的现实投影,§e\"有限\"§6已被定义为§c非法\n§b其存在本身,即是对§d熵增§b的终极否定",
|
||||
"tooltip.extendedae_plus.infinity_biginteger_cell.line1": "§7——§b绝对存储的现实投影,§e\"有限\"§6已被定义为§c非法",
|
||||
"tooltip.extendedae_plus.infinity_biginteger_cell.line2": "§b其存在本身,即是对§d熵增§b的终极否定",
|
||||
"tooltip.extendedae_plus.entity_speed_card.multiplier": "乘数: %s",
|
||||
"tooltip.extendedae_plus.entity_speed_card.max": "最大生效: %s 倍",
|
||||
|
||||
"item.extendedae_plus.basic_core": "基础核心",
|
||||
"item.extendedae_plus.storage_core": "存储核心",
|
||||
"item.extendedae_plus.energy_storage_core": "能源存储核心",
|
||||
"item.extendedae_plus.quantum_storage_core": "量子核心",
|
||||
"item.extendedae_plus.spatial_core": "空间核心",
|
||||
"item.extendedae_plus.oblivion_singularity": "湮灭奇点",
|
||||
"item.extendedae_plus.infinity_core": "吞噬核心",
|
||||
"item.extendedae_plus.basic_core.storage.1": "基础核心·数据化",
|
||||
"item.extendedae_plus.basic_core.storage.2": "基础核心·阵列化",
|
||||
"item.extendedae_plus.basic_core.storage.3": "基础核心·矩阵化",
|
||||
"item.extendedae_plus.basic_core.spatial.1": "基础核心·坐标化",
|
||||
"item.extendedae_plus.basic_core.spatial.2": "基础核心·领域化",
|
||||
"item.extendedae_plus.basic_core.spatial.3": "基础核心·维度化",
|
||||
"item.extendedae_plus.basic_core.energy_storage.1": "基础核心·通量化",
|
||||
"item.extendedae_plus.basic_core.energy_storage.2": "基础核心·流态化",
|
||||
"item.extendedae_plus.basic_core.energy_storage.3": "基础核心·场域化",
|
||||
"item.extendedae_plus.basic_core.quantum_storage.1": "基础核心·叠加化",
|
||||
"item.extendedae_plus.basic_core.quantum_storage.2": "基础核心·纠缠化",
|
||||
"item.extendedae_plus.basic_core.quantum_storage.3": "基础核心·相干化",
|
||||
"tooltip.extendedae_plus.basic_core.untyped": "核心状态:待初始化",
|
||||
"tooltip.extendedae_plus.basic_core.evolving_to": "定向演化:%s",
|
||||
"tooltip.extendedae_plus.basic_core.progress": "构建进度:",
|
||||
"tooltip.extendedae_plus.basic_core.ready_to_craft": "核心构建完成,等待最终合成",
|
||||
|
||||
"block.extendedae_plus.wireless_transceiver": "无线收发器",
|
||||
"block.extendedae_plus.4x_crafting_accelerator": "4x并行处理单元",
|
||||
"block.extendedae_plus.16x_crafting_accelerator": "16x并行处理单元",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extendedae_plus:item/core/basic_core"
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"predicate": { "extendedae_plus:core_type": 1 },
|
||||
"model": "extendedae_plus:item/core/basic_core_storage"
|
||||
},
|
||||
{
|
||||
"predicate": { "extendedae_plus:core_type": 2 },
|
||||
"model": "extendedae_plus:item/core/basic_core_spatial"
|
||||
},
|
||||
{
|
||||
"predicate": { "extendedae_plus:core_type": 3 },
|
||||
"model": "extendedae_plus:item/core/basic_core_energy"
|
||||
},
|
||||
{
|
||||
"predicate": { "extendedae_plus:core_type": 4 },
|
||||
"model": "extendedae_plus:item/core/basic_core_quantum"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extendedae_plus:item/core/basic_core_energy"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extendedae_plus:item/core/basic_core_quantum"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extendedae_plus:item/core/basic_core_spatial"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extendedae_plus:item/core/basic_core_storage"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extendedae_plus:item/core/energy_storage_core"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extendedae_plus:item/core/infinity_core"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extendedae_plus:item/oblivion_singularity"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extendedae_plus:item/core/quantum_storage_core"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extendedae_plus:item/core/spatial_core"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "extendedae_plus:item/core/storage_core"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frames": [
|
||||
{"index": 0, "time": 30},
|
||||
{"index": 1, "time": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frames": [
|
||||
{"index": 0, "time": 30},
|
||||
{"index": 1, "time": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frames": [
|
||||
{"index": 0, "time": 30},
|
||||
{"index": 1, "time": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": true,
|
||||
"frametime": 2,
|
||||
"frames": [
|
||||
0,
|
||||
{"index": 1, "time": 1},
|
||||
{"index": 2, "time": 1},
|
||||
{"index": 3, "time": 1},
|
||||
{"index": 4, "time": 1},
|
||||
{"index": 1, "time": 1},
|
||||
{"index": 2, "time": 1},
|
||||
{"index": 3, "time": 1},
|
||||
{"index": 4, "time": 1},
|
||||
{"index": 15, "time": 5},
|
||||
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
||||
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
||||
{"index": 15, "time": 5},
|
||||
0,
|
||||
{"index": 4, "time": 1},
|
||||
{"index": 3, "time": 1},
|
||||
{"index": 2, "time": 1},
|
||||
{"index": 1, "time": 1},
|
||||
{"index": 4, "time": 1},
|
||||
{"index": 3, "time": 1},
|
||||
{"index": 2, "time": 1},
|
||||
{"index": 1, "time": 1},
|
||||
{"index": 15, "time": 25}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "appflux"
|
||||
},
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "megacells"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "ENERGY",
|
||||
"extendedae_plus:core_stage": 3
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "appflux:core_256m"
|
||||
},
|
||||
"M": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"NBN",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:energy_storage_core"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "appflux"
|
||||
},
|
||||
{
|
||||
"type": "neoforge:not",
|
||||
"value": {
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "advanced_ae"
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "extendedae_plus:spatial_core"
|
||||
},
|
||||
"E": {
|
||||
"item": "extendedae_plus:energy_storage_core"
|
||||
},
|
||||
"M": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
},
|
||||
"S": {
|
||||
"item": "extendedae_plus:storage_core"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MNM",
|
||||
"SOE",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:infinity_core"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "advanced_ae"
|
||||
},
|
||||
{
|
||||
"type": "neoforge:not",
|
||||
"value": {
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "appflux"
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "extendedae_plus:spatial_core"
|
||||
},
|
||||
"M": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
},
|
||||
"Q": {
|
||||
"item": "extendedae_plus:quantum_storage_core"
|
||||
},
|
||||
"S": {
|
||||
"item": "extendedae_plus:storage_core"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MNM",
|
||||
"SOQ",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:infinity_core"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "advanced_ae"
|
||||
},
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "appflux"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "extendedae_plus:spatial_core"
|
||||
},
|
||||
"E": {
|
||||
"item": "extendedae_plus:energy_storage_core"
|
||||
},
|
||||
"M": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
},
|
||||
"Q": {
|
||||
"item": "extendedae_plus:quantum_storage_core"
|
||||
},
|
||||
"S": {
|
||||
"item": "extendedae_plus:storage_core"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MQM",
|
||||
"SOE",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:infinity_core"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "megacells"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "STORAGE",
|
||||
"extendedae_plus:core_stage": 3
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "megacells:cell_component_256m"
|
||||
},
|
||||
"M": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"NBN",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:storage_core"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "appflux"
|
||||
},
|
||||
{
|
||||
"type": "neoforge:not",
|
||||
"value": {
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "megacells"
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "ENERGY",
|
||||
"extendedae_plus:core_stage": 3
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "appflux:core_256k"
|
||||
},
|
||||
"M": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"NBN",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:energy_storage_core"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "appflux"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"item": "extendedae_plus:basic_core"
|
||||
},
|
||||
"C": {
|
||||
"item": "appflux:core_16k"
|
||||
},
|
||||
"E": {
|
||||
"item": "appflux:energy_processor"
|
||||
},
|
||||
"M": {
|
||||
"item": "appflux:redstone_crystal"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MCM",
|
||||
"EBE",
|
||||
"MEM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "ENERGY",
|
||||
"extendedae_plus:core_stage": 1
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "appflux"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "ENERGY",
|
||||
"extendedae_plus:core_stage": 1
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "appflux:core_64k"
|
||||
},
|
||||
"M": {
|
||||
"item": "appflux:charged_redstone"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"CBC",
|
||||
"MOM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "ENERGY",
|
||||
"extendedae_plus:core_stage": 2,
|
||||
"minecraft:rarity": "uncommon"
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "appflux"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "ENERGY",
|
||||
"extendedae_plus:core_stage": 2
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "appflux:core_256k"
|
||||
},
|
||||
"M": {
|
||||
"item": "appflux:harden_insulating_resin"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"CBC",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "ENERGY",
|
||||
"extendedae_plus:core_stage": 3,
|
||||
"minecraft:rarity": "rare"
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:not",
|
||||
"value": {
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "appflux"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "neoforge:not",
|
||||
"value": {
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "advanced_ae"
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"C": {
|
||||
"item": "extendedae_plus:spatial_core"
|
||||
},
|
||||
"M": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
},
|
||||
"S": {
|
||||
"item": "extendedae_plus:storage_core"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MNM",
|
||||
"SOS",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:infinity_core"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "advanced_ae"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "QUANTUM",
|
||||
"extendedae_plus:core_stage": 3
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "advanced_ae:quantum_storage_256"
|
||||
},
|
||||
"M": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"NBN",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:quantum_storage_core"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "advanced_ae"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"item": "extendedae_plus:basic_core"
|
||||
},
|
||||
"C": {
|
||||
"item": "advanced_ae:quantum_storage_component"
|
||||
},
|
||||
"E": {
|
||||
"item": "advanced_ae:quantum_processor"
|
||||
},
|
||||
"M": {
|
||||
"item": "advanced_ae:quantum_alloy"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MCM",
|
||||
"EBE",
|
||||
"MEM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "QUANTUM",
|
||||
"extendedae_plus:core_stage": 1
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "advanced_ae"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "QUANTUM",
|
||||
"extendedae_plus:core_stage": 1
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "advanced_ae:quantum_storage_component"
|
||||
},
|
||||
"M": {
|
||||
"item": "advanced_ae:quantum_alloy_block"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"CBC",
|
||||
"MOM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "QUANTUM",
|
||||
"extendedae_plus:core_stage": 2,
|
||||
"minecraft:rarity": "uncommon"
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "advanced_ae"
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "QUANTUM",
|
||||
"extendedae_plus:core_stage": 2
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "advanced_ae:quantum_storage_128"
|
||||
},
|
||||
"M": {
|
||||
"item": "advanced_ae:quantum_alloy_plate"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"CBC",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "QUANTUM",
|
||||
"extendedae_plus:core_stage": 3,
|
||||
"minecraft:rarity": "rare"
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "SPATIAL",
|
||||
"extendedae_plus:core_stage": 3
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "ae2:spatial_cell_component_128"
|
||||
},
|
||||
"M": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"NBN",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:spatial_core"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"item": "extendedae_plus:basic_core"
|
||||
},
|
||||
"C": {
|
||||
"item": "ae2:spatial_cell_component_2"
|
||||
},
|
||||
"E": {
|
||||
"item": "ae2:engineering_processor"
|
||||
},
|
||||
"L": {
|
||||
"item": "ae2:logic_processor"
|
||||
},
|
||||
"M": {
|
||||
"tag": "c:dusts/fluix"
|
||||
},
|
||||
"P": {
|
||||
"item": "ae2:calculation_processor"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MCM",
|
||||
"LBP",
|
||||
"MEM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "SPATIAL",
|
||||
"extendedae_plus:core_stage": 1
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "SPATIAL",
|
||||
"extendedae_plus:core_stage": 1
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "ae2:spatial_cell_component_16"
|
||||
},
|
||||
"M": {
|
||||
"tag": "c:gems/fluix"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"CBC",
|
||||
"MOM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "SPATIAL",
|
||||
"extendedae_plus:core_stage": 2,
|
||||
"minecraft:rarity": "uncommon"
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "SPATIAL",
|
||||
"extendedae_plus:core_stage": 2
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "ae2:spatial_cell_component_128"
|
||||
},
|
||||
"M": {
|
||||
"item": "ae2:fluix_block"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"CBC",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "SPATIAL",
|
||||
"extendedae_plus:core_stage": 3,
|
||||
"minecraft:rarity": "rare"
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
{
|
||||
"neoforge:conditions": [
|
||||
{
|
||||
"type": "neoforge:not",
|
||||
"value": {
|
||||
"type": "neoforge:mod_loaded",
|
||||
"modid": "megacells"
|
||||
}
|
||||
}
|
||||
],
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "STORAGE",
|
||||
"extendedae_plus:core_stage": 3
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "ae2:cell_component_256k"
|
||||
},
|
||||
"M": {
|
||||
"item": "minecraft:netherite_block"
|
||||
},
|
||||
"N": {
|
||||
"item": "minecraft:nether_star"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"NBN",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:storage_core"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"item": "extendedae_plus:basic_core"
|
||||
},
|
||||
"C": {
|
||||
"item": "ae2:cell_component_16k"
|
||||
},
|
||||
"E": {
|
||||
"item": "ae2:engineering_processor"
|
||||
},
|
||||
"L": {
|
||||
"item": "ae2:logic_processor"
|
||||
},
|
||||
"M": {
|
||||
"tag": "c:dusts/certus_quartz"
|
||||
},
|
||||
"P": {
|
||||
"item": "ae2:calculation_processor"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MCM",
|
||||
"LBP",
|
||||
"MEM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "STORAGE",
|
||||
"extendedae_plus:core_stage": 1
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "STORAGE",
|
||||
"extendedae_plus:core_stage": 1
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "ae2:cell_component_64k"
|
||||
},
|
||||
"M": {
|
||||
"tag": "c:gems/certus_quartz"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"CBC",
|
||||
"MOM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "STORAGE",
|
||||
"extendedae_plus:core_stage": 2,
|
||||
"minecraft:rarity": "uncommon"
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"B": {
|
||||
"type": "neoforge:components",
|
||||
"items": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "STORAGE",
|
||||
"extendedae_plus:core_stage": 2
|
||||
}
|
||||
},
|
||||
"C": {
|
||||
"item": "ae2:cell_component_256k"
|
||||
},
|
||||
"M": {
|
||||
"item": "ae2:quartz_block"
|
||||
},
|
||||
"O": {
|
||||
"item": "extendedae_plus:oblivion_singularity"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"MOM",
|
||||
"CBC",
|
||||
"MCM"
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "extendedae_plus:basic_core",
|
||||
"components": {
|
||||
"extendedae_plus:core_type": "STORAGE",
|
||||
"extendedae_plus:core_stage": 3,
|
||||
"minecraft:rarity": "rare"
|
||||
}
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shapeless",
|
||||
"ingredients": [
|
||||
{ "item": "minecraft:turtle_helmet" },
|
||||
{ "item": "minecraft:dragon_head" },
|
||||
{ "item": "minecraft:totem_of_undying" },
|
||||
{ "item": "minecraft:echo_shard" },
|
||||
{ "item": "ae2:cell_component_256k" },
|
||||
{ "item": "minecraft:heart_of_the_sea" },
|
||||
{ "item": "minecraft:nether_star" },
|
||||
{ "item": "minecraft:netherite_block" },
|
||||
{ "item": "minecraft:enchanted_golden_apple" }
|
||||
],
|
||||
"result": { "id": "extendedae_plus:infinity_biginteger_cell", "count": 1 }
|
||||
}
|
||||