diff --git a/build.gradle b/build.gradle index c6ec7723..8669cc7c 100644 --- a/build.gradle +++ b/build.gradle @@ -89,7 +89,6 @@ dependencies { modImplementation "appeng:appliedenergistics2-fabric:${project.ae2_version}" //modImplementation "top.theillusivec4.curios:curios-fabric:${project.curios_version}" modImplementation "me.shedaniel:RoughlyEnoughItems:${project.rei_version}" - modImplementation "de.siphalor:nbtcrafting-1.16:${project.nbt_crafting_version}" modImplementation "curse.maven:minemenufabric-478687:${project.minemenufabric_version}" modImplementation "com.terraformersmc:modmenu:1.16.7"//dependency for minemenu modApi("me.shedaniel.cloth:cloth-config-fabric:4.11.14")//dependency for minemenu diff --git a/src/main/java/de/mari_023/fabric/ae2wtlib/ae2wtlib.java b/src/main/java/de/mari_023/fabric/ae2wtlib/ae2wtlib.java index ff1e1cbe..a7f3f8fe 100644 --- a/src/main/java/de/mari_023/fabric/ae2wtlib/ae2wtlib.java +++ b/src/main/java/de/mari_023/fabric/ae2wtlib/ae2wtlib.java @@ -29,6 +29,8 @@ import de.mari_023.fabric.ae2wtlib.wpt.WPTContainer; import de.mari_023.fabric.ae2wtlib.wut.ItemWUT; import de.mari_023.fabric.ae2wtlib.wut.WUTHandler; +import de.mari_023.fabric.ae2wtlib.wut.recipe.CombineRecipeSerializer; +import de.mari_023.fabric.ae2wtlib.wut.recipe.UpgradeRecipeSerializer; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents; @@ -84,6 +86,9 @@ public void onInitialize() { Api.instance().registries().charger().addChargeRate(INTERFACE_TERMINAL, Config.getChargeRate()); Api.instance().registries().charger().addChargeRate(UNIVERSAL_TERMINAL, Config.getChargeRate() * Config.WUTChargeRateMultiplier()); + Registry.register(Registry.RECIPE_SERIALIZER, CombineRecipeSerializer.ID, CombineRecipeSerializer.INSTANCE); + Registry.register(Registry.RECIPE_SERIALIZER, UpgradeRecipeSerializer.ID, UpgradeRecipeSerializer.INSTANCE); + ServerPlayNetworking.registerGlobalReceiver(new Identifier("ae2wtlib", "general"), (server, player, handler, buf, sender) -> { buf.retain(); server.execute(() -> { diff --git a/src/main/java/de/mari_023/fabric/ae2wtlib/wut/WUTHandler.java b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/WUTHandler.java index 3a3685fb..ed3a4614 100644 --- a/src/main/java/de/mari_023/fabric/ae2wtlib/wut/WUTHandler.java +++ b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/WUTHandler.java @@ -80,7 +80,7 @@ public static void open(final PlayerEntity player, final ContainerLocator locato } private static final HashMap wirelessTerminals = new HashMap<>(); - private static final List terminalNames = new ArrayList<>(); + public static final List terminalNames = new ArrayList<>(); public static void addTerminal(String Name, containerOpener open) { if(terminalNames.contains(Name)) return; diff --git a/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/Combine.java b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/Combine.java new file mode 100644 index 00000000..48e2693e --- /dev/null +++ b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/Combine.java @@ -0,0 +1,89 @@ +package de.mari_023.fabric.ae2wtlib.wut.recipe; + +import de.mari_023.fabric.ae2wtlib.ae2wtlib; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.inventory.CraftingInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.recipe.*; +import net.minecraft.util.Identifier; +import net.minecraft.world.World; + +public class Combine implements CraftingRecipe { + private final Ingredient TerminalA; + private final Ingredient TerminalB; + private final String TerminalAName; + private final String TerminalBName; + private final ItemStack outputStack; + private final Identifier id; + + public Combine(Ingredient TerminalA, Ingredient TerminalB, String TerminalAName, String TerminalBName, Identifier id) { + this.TerminalA = TerminalA; + this.TerminalB = TerminalB; + this.TerminalAName = TerminalAName; + this.TerminalBName = TerminalBName; + this.outputStack = new ItemStack(ae2wtlib.UNIVERSAL_TERMINAL); + if(!outputStack.hasTag()) outputStack.setTag(new CompoundTag()); + outputStack.getTag().putBoolean(TerminalAName, true); + outputStack.getTag().putBoolean(TerminalBName, true); + this.id = id; + } + + public Ingredient getTerminalA() { + return TerminalA; + } + + public Ingredient getTerminalB() { + return TerminalB; + } + + public String getTerminalAName() { + return TerminalAName; + } + + public String getTerminalBName() { + return TerminalBName; + } + + @Override + public boolean matches(CraftingInventory inv, World world) { + return !InputHelper.getInputStack(inv, TerminalA).isEmpty() && !InputHelper.getInputStack(inv, TerminalB).isEmpty() && InputHelper.getInputCount(inv) == 2; + } + + @Override + public ItemStack craft(CraftingInventory inv) { + CompoundTag terminalA = InputHelper.getInputStack(inv, TerminalA).getTag(); + if(terminalA == null) terminalA = new CompoundTag(); + else terminalA = terminalA.copy(); + + CompoundTag terminalB = InputHelper.getInputStack(inv, TerminalB).getTag(); + if(terminalB == null) terminalB = new CompoundTag(); + else terminalB = terminalB.copy(); + + ItemStack wut = outputStack.copy(); + wut.getTag().copyFrom(terminalB).copyFrom(terminalA); + return wut; + } + + @Environment(EnvType.CLIENT) + @Override + public boolean fits(int width, int height) { + return width > 1 || height > 1; + } + + @Override + public ItemStack getOutput() { + return outputStack; + } + + @Override + public Identifier getId() { + return id; + } + + @Override + public RecipeSerializer getSerializer() { + return CombineRecipeSerializer.INSTANCE; + } +} \ No newline at end of file diff --git a/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/CombineJsonFormat.java b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/CombineJsonFormat.java new file mode 100644 index 00000000..bf7a9e59 --- /dev/null +++ b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/CombineJsonFormat.java @@ -0,0 +1,10 @@ +package de.mari_023.fabric.ae2wtlib.wut.recipe; + +import com.google.gson.JsonObject; + +public class CombineJsonFormat { + JsonObject TerminalA; + JsonObject TerminalB; + String TerminalAName; + String TerminalBName; +} \ No newline at end of file diff --git a/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/CombineRecipeSerializer.java b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/CombineRecipeSerializer.java new file mode 100644 index 00000000..7d97b7cd --- /dev/null +++ b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/CombineRecipeSerializer.java @@ -0,0 +1,52 @@ +package de.mari_023.fabric.ae2wtlib.wut.recipe; + +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonSyntaxException; +import de.mari_023.fabric.ae2wtlib.wut.WUTHandler; +import net.minecraft.network.PacketByteBuf; +import net.minecraft.recipe.Ingredient; +import net.minecraft.recipe.RecipeSerializer; +import net.minecraft.util.Identifier; + +public class CombineRecipeSerializer implements RecipeSerializer { + private CombineRecipeSerializer() { } + + public static final CombineRecipeSerializer INSTANCE = new CombineRecipeSerializer(); + + public static final Identifier ID = new Identifier("ae2wtlib", "combine"); + + @Override + public Combine read(Identifier id, JsonObject json) { + CombineJsonFormat recipeJson = new Gson().fromJson(json, CombineJsonFormat.class); + if(recipeJson.TerminalA == null || recipeJson.TerminalB == null || validateOutput(recipeJson.TerminalAName) || validateOutput(recipeJson.TerminalBName)) + throw new JsonSyntaxException("A required attribute is missing or invalid!"); + + Ingredient TerminalA = Ingredient.fromJson(recipeJson.TerminalA); + Ingredient TerminalB = Ingredient.fromJson(recipeJson.TerminalB); + + return new Combine(TerminalA, TerminalB, recipeJson.TerminalAName, recipeJson.TerminalBName, id); + } + + @Override + public void write(PacketByteBuf packetData, Combine recipe) { + recipe.getTerminalA().write(packetData); + recipe.getTerminalB().write(packetData); + packetData.writeString(recipe.getTerminalAName()); + packetData.writeString(recipe.getTerminalBName()); + } + + @Override + public Combine read(Identifier id, PacketByteBuf packetData) { + Ingredient TerminalA = Ingredient.fromPacket(packetData); + Ingredient TerminalB = Ingredient.fromPacket(packetData); + String TerminalAName = packetData.readString(32767); + String TerminalBName = packetData.readString(32767); + return new Combine(TerminalA, TerminalB, TerminalAName, TerminalBName, id); + } + + private boolean validateOutput(String s) { + if(s == null) return true; + return !WUTHandler.terminalNames.contains(s); + } +} \ No newline at end of file diff --git a/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/InputHelper.java b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/InputHelper.java new file mode 100644 index 00000000..cf05350a --- /dev/null +++ b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/InputHelper.java @@ -0,0 +1,20 @@ +package de.mari_023.fabric.ae2wtlib.wut.recipe; + +import net.minecraft.inventory.CraftingInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.recipe.Ingredient; + +public class InputHelper { + + public static ItemStack getInputStack(CraftingInventory inventory, Ingredient ingredient) { + for(int i = 0; i < inventory.size(); i++) + if(ingredient.test(inventory.getStack(i))) return inventory.getStack(i); + return ItemStack.EMPTY; + } + + public static int getInputCount(CraftingInventory inventory) { + int count = 0; + for(int i = 0; i < inventory.size(); i++) if(!inventory.getStack(i).isEmpty()) count++; + return count; + } +} \ No newline at end of file diff --git a/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/Upgrade.java b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/Upgrade.java new file mode 100644 index 00000000..a421f96e --- /dev/null +++ b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/Upgrade.java @@ -0,0 +1,75 @@ +package de.mari_023.fabric.ae2wtlib.wut.recipe; + +import de.mari_023.fabric.ae2wtlib.ae2wtlib; +import de.mari_023.fabric.ae2wtlib.wut.WUTHandler; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.inventory.CraftingInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.recipe.*; +import net.minecraft.util.Identifier; +import net.minecraft.world.World; + +public class Upgrade implements CraftingRecipe { + private final Ingredient Terminal; + private final String TerminalName; + private final ItemStack outputStack; + private final Identifier id; + + public Upgrade(Ingredient Terminal, String TerminalName, Identifier id) { + this.Terminal = Terminal; + this.TerminalName = TerminalName; + this.outputStack = new ItemStack(ae2wtlib.UNIVERSAL_TERMINAL); + if(!outputStack.hasTag()) outputStack.setTag(new CompoundTag()); + outputStack.getTag().putBoolean(TerminalName, true); + this.id = id; + } + + public Ingredient getTerminal() { + return Terminal; + } + + public String getTerminalName() { + return TerminalName; + } + + @Override + public boolean matches(CraftingInventory inv, World world) { + ItemStack wut = InputHelper.getInputStack(inv, Ingredient.ofItems(ae2wtlib.UNIVERSAL_TERMINAL)); + return !InputHelper.getInputStack(inv, Terminal).isEmpty() && !wut.isEmpty() + && InputHelper.getInputCount(inv) == 2 && !WUTHandler.hasTerminal(wut, TerminalName); + } + + @Override + public ItemStack craft(CraftingInventory inv) { + ItemStack wut = InputHelper.getInputStack(inv, Ingredient.ofItems(ae2wtlib.UNIVERSAL_TERMINAL)).copy(); + CompoundTag terminal = InputHelper.getInputStack(inv, Terminal).getTag().copy(); + wut.getTag().putBoolean(TerminalName, true); + terminal.copyFrom(wut.getTag()); + wut.setTag(terminal); + + return wut; + } + + @Environment(EnvType.CLIENT) + @Override + public boolean fits(int width, int height) { + return width > 1 || height > 1; + } + + @Override + public ItemStack getOutput() { + return outputStack; + } + + @Override + public Identifier getId() { + return id; + } + + @Override + public RecipeSerializer getSerializer() { + return UpgradeRecipeSerializer.INSTANCE; + } +} \ No newline at end of file diff --git a/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/UpgradeJsonFormat.java b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/UpgradeJsonFormat.java new file mode 100644 index 00000000..8dc256f0 --- /dev/null +++ b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/UpgradeJsonFormat.java @@ -0,0 +1,8 @@ +package de.mari_023.fabric.ae2wtlib.wut.recipe; + +import com.google.gson.JsonObject; + +public class UpgradeJsonFormat { + JsonObject Terminal; + String TerminalName; +} \ No newline at end of file diff --git a/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/UpgradeRecipeSerializer.java b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/UpgradeRecipeSerializer.java new file mode 100644 index 00000000..9a92e3ce --- /dev/null +++ b/src/main/java/de/mari_023/fabric/ae2wtlib/wut/recipe/UpgradeRecipeSerializer.java @@ -0,0 +1,47 @@ +package de.mari_023.fabric.ae2wtlib.wut.recipe; + +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonSyntaxException; +import de.mari_023.fabric.ae2wtlib.wut.WUTHandler; +import net.minecraft.network.PacketByteBuf; +import net.minecraft.recipe.Ingredient; +import net.minecraft.recipe.RecipeSerializer; +import net.minecraft.util.Identifier; + +public class UpgradeRecipeSerializer implements RecipeSerializer { + private UpgradeRecipeSerializer() { } + + public static final UpgradeRecipeSerializer INSTANCE = new UpgradeRecipeSerializer(); + + public static final Identifier ID = new Identifier("ae2wtlib", "upgrade"); + + @Override + public Upgrade read(Identifier id, JsonObject json) { + UpgradeJsonFormat recipeJson = new Gson().fromJson(json, UpgradeJsonFormat.class); + if(recipeJson.Terminal == null || validateOutput(recipeJson.TerminalName)) + throw new JsonSyntaxException("A required attribute is missing or invalid!"); + + Ingredient Terminal = Ingredient.fromJson(recipeJson.Terminal); + + return new Upgrade(Terminal, recipeJson.TerminalName, id); + } + + @Override + public void write(PacketByteBuf packetData, Upgrade recipe) { + recipe.getTerminal().write(packetData); + packetData.writeString(recipe.getTerminalName()); + } + + @Override + public Upgrade read(Identifier id, PacketByteBuf packetData) { + Ingredient TerminalA = Ingredient.fromPacket(packetData); + String TerminalAName = packetData.readString(32767); + return new Upgrade(TerminalA, TerminalAName, id); + } + + private boolean validateOutput(String s) { + if(s == null) return true; + return !WUTHandler.terminalNames.contains(s); + } +} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_ci.json b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_ci.json index c1c0b0e0..1b36336a 100644 --- a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_ci.json +++ b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_ci.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "ae2wtlib:wireless_universal_terminal_ci" + "ae2wtlib:ci" ] }, "criteria": { @@ -29,7 +29,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "ae2wtlib:wireless_universal_terminal_ci" + "recipe": "ae2wtlib:ci" } } }, diff --git a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_cp.json b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_cp.json index 6c5ac114..9b65b434 100644 --- a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_cp.json +++ b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_cp.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "ae2wtlib:wireless_universal_terminal_cp" + "ae2wtlib:cp" ] }, "criteria": { @@ -29,7 +29,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "ae2wtlib:wireless_universal_terminal_cp" + "recipe": "ae2wtlib:cp" } } }, diff --git a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_ip.json b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_ip.json index d3ab9958..2be7a6bf 100644 --- a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_ip.json +++ b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_ip.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "ae2wtlib:wireless_universal_terminal_ip" + "ae2wtlib:ip" ] }, "criteria": { @@ -29,7 +29,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "ae2wtlib:wireless_universal_terminal_ip" + "recipe": "ae2wtlib:ip" } } }, diff --git a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_crafting.json b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_crafting.json index 6dee406a..88715078 100644 --- a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_crafting.json +++ b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_crafting.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "ae2wtlib:wireless_universal_terminal_upgrade_crafting" + "ae2wtlib:upgrade_crafting" ] }, "criteria": { @@ -19,7 +19,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "ae2wtlib:wireless_universal_terminal_upgrade_crafting" + "recipe": "ae2wtlib:upgrade_crafting" } } }, diff --git a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_interface.json b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_interface.json index 6dbc0123..5ea1d2c5 100644 --- a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_interface.json +++ b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_interface.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "ae2wtlib:wireless_universal_terminal_upgrade_interface" + "ae2wtlib:upgrade_interface" ] }, "criteria": { @@ -19,7 +19,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "ae2wtlib:wireless_universal_terminal_upgrade_interface" + "recipe": "ae2wtlib:upgrade_interface" } } }, diff --git a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_pattern.json b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_pattern.json index 2bf10a4a..e868106a 100644 --- a/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_pattern.json +++ b/src/main/resources/data/ae2wtlib/advancements/recipes/wireless_universal_terminal_upgrade_pattern.json @@ -2,7 +2,7 @@ "parent": "minecraft:recipes/root", "rewards": { "recipes": [ - "ae2wtlib:wireless_universal_terminal_upgrade_pattern" + "ae2wtlib:upgrade_pattern" ] }, "criteria": { @@ -19,7 +19,7 @@ "has_the_recipe": { "trigger": "minecraft:recipe_unlocked", "conditions": { - "recipe": "ae2wtlib:wireless_universal_terminal_upgrade_pattern" + "recipe": "ae2wtlib:upgrade_pattern" } } }, diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/ci.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/ci.json new file mode 100644 index 00000000..716b8662 --- /dev/null +++ b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/ci.json @@ -0,0 +1,11 @@ +{ + "type": "ae2wtlib:combine", + "TerminalA": { + "item": "ae2wtlib:wireless_crafting_terminal" + }, + "TerminalB": { + "item": "ae2wtlib:wireless_interface_terminal" + }, + "TerminalAName": "crafting", + "TerminalBName": "interface" +} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/cp.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/cp.json new file mode 100644 index 00000000..83b49601 --- /dev/null +++ b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/cp.json @@ -0,0 +1,11 @@ +{ + "type": "ae2wtlib:combine", + "TerminalA": { + "item": "ae2wtlib:wireless_crafting_terminal" + }, + "TerminalB": { + "item": "ae2wtlib:wireless_pattern_terminal" + }, + "TerminalAName": "crafting", + "TerminalBName": "pattern" +} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/ip.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/ip.json new file mode 100644 index 00000000..dfa3195a --- /dev/null +++ b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/ip.json @@ -0,0 +1,11 @@ +{ + "type": "ae2wtlib:combine", + "TerminalA": { + "item": "ae2wtlib:wireless_interface_terminal" + }, + "TerminalB": { + "item": "ae2wtlib:wireless_pattern_terminal" + }, + "TerminalAName": "interface", + "TerminalBName": "pattern" +} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/upgrade_crafting.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/upgrade_crafting.json new file mode 100644 index 00000000..d8d94da5 --- /dev/null +++ b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/upgrade_crafting.json @@ -0,0 +1,7 @@ +{ + "type": "ae2wtlib:upgrade", + "Terminal": { + "item": "ae2wtlib:wireless_crafting_terminal" + }, + "TerminalName": "crafting" +} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/upgrade_interface.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/upgrade_interface.json new file mode 100644 index 00000000..da1935b9 --- /dev/null +++ b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/upgrade_interface.json @@ -0,0 +1,7 @@ +{ + "type": "ae2wtlib:upgrade", + "Terminal": { + "item": "ae2wtlib:wireless_interface_terminal" + }, + "TerminalName": "interface" +} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/upgrade_pattern.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/upgrade_pattern.json new file mode 100644 index 00000000..2ea6339f --- /dev/null +++ b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/upgrade_pattern.json @@ -0,0 +1,7 @@ +{ + "type": "ae2wtlib:upgrade", + "Terminal": { + "item": "ae2wtlib:wireless_pattern_terminal" + }, + "TerminalName": "pattern" +} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_ci.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_ci.json deleted file mode 100644 index 33c6afc4..00000000 --- a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_ci.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "ae2wtlib:wireless_crafting_terminal" - }, - { - "item": "ae2wtlib:wireless_interface_terminal" - } - ], - "result": { - "item": "ae2wtlib:wireless_universal_terminal", - "data": { - "$": [ - { - "value": "i0" - }, - { - "value": "i1", - "path": { - "/": "keep" - } - } - ], - "crafting": true, - "interface": true - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_cp.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_cp.json deleted file mode 100644 index 0f15b383..00000000 --- a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_cp.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "ae2wtlib:wireless_crafting_terminal" - }, - { - "item": "ae2wtlib:wireless_pattern_terminal" - } - ], - "result": { - "item": "ae2wtlib:wireless_universal_terminal", - "data": { - "$": [ - { - "value": "i0" - }, - { - "value": "i1", - "path": { - "/": "keep" - } - } - ], - "crafting": true, - "pattern": true - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_ip.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_ip.json deleted file mode 100644 index 610717c9..00000000 --- a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_ip.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "ae2wtlib:wireless_pattern_terminal" - }, - { - "item": "ae2wtlib:wireless_interface_terminal" - } - ], - "result": { - "item": "ae2wtlib:wireless_universal_terminal", - "data": { - "$": [ - { - "value": "i0" - }, - { - "value": "i1", - "path": { - "/": "keep" - } - } - ], - "interface": true, - "pattern": true - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_upgrade_crafting.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_upgrade_crafting.json deleted file mode 100644 index e2daecb0..00000000 --- a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_upgrade_crafting.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "ae2wtlib:wireless_universal_terminal" - }, - { - "item": "ae2wtlib:wireless_crafting_terminal" - } - ], - "result": { - "item": "ae2wtlib:wireless_universal_terminal", - "data": { - "$": [ - { - "value": "i0" - }, - { - "value": "i1", - "path": { - "/": "keep" - } - } - ], - "crafting": true - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_upgrade_interface.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_upgrade_interface.json deleted file mode 100644 index 2d8b6407..00000000 --- a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_upgrade_interface.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "ae2wtlib:wireless_universal_terminal" - }, - { - "item": "ae2wtlib:wireless_interface_terminal" - } - ], - "result": { - "item": "ae2wtlib:wireless_universal_terminal", - "data": { - "$": [ - { - "value": "i0" - }, - { - "value": "i1", - "path": { - "/": "keep" - } - } - ], - "interface": true - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_upgrade_pattern.json b/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_upgrade_pattern.json deleted file mode 100644 index b7d07f07..00000000 --- a/src/main/resources/data/ae2wtlib/recipes/wireless_universal_terminal/wireless_universal_terminal_upgrade_pattern.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "ae2wtlib:wireless_universal_terminal" - }, - { - "item": "ae2wtlib:wireless_pattern_terminal" - } - ], - "result": { - "item": "ae2wtlib:wireless_universal_terminal", - "data": { - "$": [ - { - "value": "i0" - }, - { - "value": "i1", - "path": { - "/": "keep" - } - } - ], - "pattern": true - } - } -} \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 4c6d81ec..5a89d5b3 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -29,8 +29,7 @@ "fabricloader": ">=0.11.3", "fabric": "*", "minecraft": "1.16.5", - "appliedenergistics2": ">=8.3.0-alpha.2", - "nbtcrafting": "*" + "appliedenergistics2": ">=8.3.0-alpha.2" }, "suggests": { "minemenufabric": "*"