diff --git a/src/client/java/aztech/modern_industrialization/MIClient.java b/src/client/java/aztech/modern_industrialization/MIClient.java index f58ceec8ec..cf5b88c5b6 100644 --- a/src/client/java/aztech/modern_industrialization/MIClient.java +++ b/src/client/java/aztech/modern_industrialization/MIClient.java @@ -61,6 +61,7 @@ import aztech.modern_industrialization.misc.version.VersionEvents; import aztech.modern_industrialization.pipes.MIPipes; import aztech.modern_industrialization.pipes.MIPipesClient; +import aztech.modern_industrialization.pipes.fe.FEWireScreen; import aztech.modern_industrialization.pipes.fluid.FluidPipeScreen; import aztech.modern_industrialization.pipes.impl.DelegatingUnbakedModel; import aztech.modern_industrialization.pipes.impl.PipeUnbakedModel; @@ -197,6 +198,7 @@ private static void registerMenuScreens(RegisterMenuScreensEvent event) { event.register(MIPipes.SCREEN_HANDLER_TYPE_ITEM_PIPE.get(), ItemPipeScreen::new); event.register(MIPipes.SCREEN_HANDLER_TYPE_FLUID_PIPE.get(), FluidPipeScreen::new); + event.register(MIPipes.SCREEN_HANDLER_TYPE_FE_WIRE.get(), FEWireScreen::new); } @SubscribeEvent diff --git a/src/client/java/aztech/modern_industrialization/compat/jade/client/PipeComponentProvider.java b/src/client/java/aztech/modern_industrialization/compat/jade/client/PipeComponentProvider.java index de88ee7257..35f31ca0f4 100644 --- a/src/client/java/aztech/modern_industrialization/compat/jade/client/PipeComponentProvider.java +++ b/src/client/java/aztech/modern_industrialization/compat/jade/client/PipeComponentProvider.java @@ -207,6 +207,35 @@ public void appendTooltip(ITooltip tooltip, BlockAccessor accessor, IPluginConfi helper.text(Component.literal("" + items).withStyle(MITooltips.NUMBER_TEXT)) .align(IElement.Align.CENTER))); } + + if (tag.contains("energy")) { + long energy = tag.getLong("energy"); + long maxEnergy = tag.getLong("maxEnergy"); + long transfer = tag.getLong("transfer"); + long maxTransfer = tag.getLong("maxTransfer"); + + tooltip.add(helper.progress( + MIJadeClientPlugin.ratio(energy, maxEnergy), + Component.literal("") + .append(Component.literal(IDisplayHelper.get().humanReadableNumber(energy, " EU", false)) + .withStyle(ChatFormatting.WHITE)) + .append(" / ") + .append(Component.literal(IDisplayHelper.get().humanReadableNumber(maxEnergy, " EU", false))) + .withStyle(ChatFormatting.GRAY), + helper.progressStyle().color(-5636096, -10092544).textColor(-1), + BoxStyle.getNestedBox(), + true)); + + tooltip.add(helper.progress( + MIJadeClientPlugin.ratio(transfer, maxTransfer), + MIJadeClientPlugin.textAndRatio( + MIText.NetworkTransfer.text(), + String.valueOf(IDisplayHelper.get().humanReadableNumber(transfer, "", false)), + String.valueOf(IDisplayHelper.get().humanReadableNumber(maxTransfer, " FE/t", false))), + helper.progressStyle().color(-5636096, -10092544).textColor(-1), + BoxStyle.getNestedBox(), + true)); + } } } diff --git a/src/client/java/aztech/modern_industrialization/pipes/MIPipesClient.java b/src/client/java/aztech/modern_industrialization/pipes/MIPipesClient.java index 499c434670..6c08505ff0 100644 --- a/src/client/java/aztech/modern_industrialization/pipes/MIPipesClient.java +++ b/src/client/java/aztech/modern_industrialization/pipes/MIPipesClient.java @@ -119,6 +119,7 @@ public PipeRenderer create(Function textureGetter) private static final PipeRenderer.Factory FLUID_RENDERER = makeRenderer( Arrays.asList("fluid", "fluid_item", "fluid_in", "fluid_in_out", "fluid_out"), true); private static final PipeRenderer.Factory ELECTRICITY_RENDERER = makeRenderer(Arrays.asList("electricity", "electricity_blocks"), false); + private static final PipeRenderer.Factory FE_RENDERER = makeRenderer(Arrays.asList("fe", "fe_item", "fe_in", "fe_in_out", "fe_out"), false); // Use a set to avoid loading the same renderer multiple times public static final Collection RENDERERS = new LinkedHashSet<>(); @@ -131,6 +132,8 @@ private static void registerRenderers() { PipeRenderer.register(type, FLUID_RENDERER); } else if (type.getIdentifier().getPath().endsWith("cable")) { PipeRenderer.register(type, ELECTRICITY_RENDERER); + } else if (type.getIdentifier().getPath().endsWith("fe_wire")) { + PipeRenderer.register(type, FE_RENDERER); } } diff --git a/src/client/java/aztech/modern_industrialization/pipes/fe/FEWireScreen.java b/src/client/java/aztech/modern_industrialization/pipes/fe/FEWireScreen.java new file mode 100644 index 0000000000..93b097b0a8 --- /dev/null +++ b/src/client/java/aztech/modern_industrialization/pipes/fe/FEWireScreen.java @@ -0,0 +1,86 @@ +/* + * MIT License + * + * Copyright (c) 2020 Azercoco & Technici4n + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package aztech.modern_industrialization.pipes.fe; + +import aztech.modern_industrialization.MI; +import aztech.modern_industrialization.MIText; +import aztech.modern_industrialization.MITooltips; +import aztech.modern_industrialization.pipes.gui.PipeScreen; +import aztech.modern_industrialization.util.RenderHelper; +import aztech.modern_industrialization.util.TextHelper; +import java.util.ArrayList; +import java.util.List; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.player.Inventory; + +public class FEWireScreen extends PipeScreen { + private static final ResourceLocation TEXTURE = MI.id("textures/gui/pipe/fe.png"); + + public FEWireScreen(FEWireScreenHandler handler, Inventory inventory, Component title) { + super(handler, inventory, title, FEWireScreenHandler.HEIGHT); + } + + @Override + protected void init() { + super.init(); + + addConnectionTypeButton(148, 22, menu.iface); + + addPriorityWidgets(33, 42, menu.iface, 0, () -> { + List lines = new ArrayList<>(); + + MIText priorityText = MIText.PriorityTransfer; + lines.add(priorityText.text(menu.iface.getPriority(0))); + + MIText priorityTextHelp = MIText.PriorityTransferWireHelp; + lines.add(priorityTextHelp.text().setStyle(TextHelper.GRAY_TEXT)); + + return lines; + }, () -> true); + } + + @Override + protected void renderTooltip(GuiGraphics guiGraphics, int x, int y) { + super.renderTooltip(guiGraphics, x, y); + + if (hoveredSlot != null && hoveredSlot instanceof FEWireScreenHandler.UpgradeSlot && !hoveredSlot.hasItem()) { + List lines = new ArrayList<>(); + lines.add(MIText.PutBatteryToUpgrade.text()); + if (menu.iface.getConnectionType() == 0) { + lines.add(MIText.PriorityNotApplicable.text( + MIText.PipeConnectionTooltipInsertOnly.text().setStyle(MITooltips.HIGHLIGHT_STYLE), + MIText.PipeConnectionIn.text().setStyle(MITooltips.HIGHLIGHT_STYLE)) + .setStyle(TextHelper.GRAY_TEXT)); + } + guiGraphics.renderTooltip(font, RenderHelper.splitTooltip(lines), x, y); + } + } + + @Override + protected ResourceLocation getBackgroundTexture() { + return TEXTURE; + } +} diff --git a/src/generated/resources/assets/modern_industrialization/lang/en_us.json b/src/generated/resources/assets/modern_industrialization/lang/en_us.json index d1dbbffcd1..72c04fde7a 100644 --- a/src/generated/resources/assets/modern_industrialization/lang/en_us.json +++ b/src/generated/resources/assets/modern_industrialization/lang/en_us.json @@ -526,6 +526,7 @@ "item.modern_industrialization.beryllium_plate": "Beryllium Plate", "item.modern_industrialization.beryllium_tiny_dust": "Beryllium Tiny Dust", "item.modern_industrialization.biodiesel_bucket": "Biodiesel Bucket", + "item.modern_industrialization.black_fe_wire": "Black FE Wire", "item.modern_industrialization.black_fluid_pipe": "Black Fluid Pipe", "item.modern_industrialization.black_item_pipe": "Black Item Pipe", "item.modern_industrialization.black_me_wire": "Black ME Wire", @@ -533,6 +534,7 @@ "item.modern_industrialization.blastproof_alloy_ingot": "Blastproof Alloy Ingot", "item.modern_industrialization.blastproof_alloy_large_plate": "Blastproof Alloy Large Plate", "item.modern_industrialization.blastproof_alloy_plate": "Blastproof Alloy Plate", + "item.modern_industrialization.blue_fe_wire": "Blue FE Wire", "item.modern_industrialization.blue_fluid_pipe": "Blue Fluid Pipe", "item.modern_industrialization.blue_item_pipe": "Blue Item Pipe", "item.modern_industrialization.blue_me_wire": "Blue ME Wire", @@ -554,6 +556,7 @@ "item.modern_industrialization.bronze_rod": "Bronze Rod", "item.modern_industrialization.bronze_rotor": "Bronze Rotor", "item.modern_industrialization.bronze_tiny_dust": "Bronze Tiny Dust", + "item.modern_industrialization.brown_fe_wire": "Brown FE Wire", "item.modern_industrialization.brown_fluid_pipe": "Brown Fluid Pipe", "item.modern_industrialization.brown_item_pipe": "Brown Item Pipe", "item.modern_industrialization.brown_me_wire": "Brown ME Wire", @@ -619,6 +622,7 @@ "item.modern_industrialization.cupronickel_tiny_dust": "Cupronickel Tiny Dust", "item.modern_industrialization.cupronickel_wire": "Cupronickel Wire", "item.modern_industrialization.cupronickel_wire_magnetic": "Magnetic Cupronickel Wire", + "item.modern_industrialization.cyan_fe_wire": "Cyan FE Wire", "item.modern_industrialization.cyan_fluid_pipe": "Cyan Fluid Pipe", "item.modern_industrialization.cyan_item_pipe": "Cyan Item Pipe", "item.modern_industrialization.cyan_me_wire": "Cyan ME Wire", @@ -656,6 +660,7 @@ "item.modern_industrialization.ethanol_bucket": "Ethanol Bucket", "item.modern_industrialization.ethylbenzene_bucket": "Ethylbenzene Bucket", "item.modern_industrialization.ethylene_bucket": "Ethylene Bucket", + "item.modern_industrialization.fe_wire": "FE Wire", "item.modern_industrialization.fire_clay_brick": "Fire Clay Brick", "item.modern_industrialization.fire_clay_dust": "Fire Clay Dust", "item.modern_industrialization.fluid_pipe": "Fluid Pipe", @@ -671,9 +676,11 @@ "item.modern_industrialization.gold_rod": "Gold Rod", "item.modern_industrialization.gold_tiny_dust": "Gold Tiny Dust", "item.modern_industrialization.gravichestplate": "Gravichestplate", + "item.modern_industrialization.gray_fe_wire": "Gray FE Wire", "item.modern_industrialization.gray_fluid_pipe": "Gray Fluid Pipe", "item.modern_industrialization.gray_item_pipe": "Gray Item Pipe", "item.modern_industrialization.gray_me_wire": "Gray ME Wire", + "item.modern_industrialization.green_fe_wire": "Green FE Wire", "item.modern_industrialization.green_fluid_pipe": "Green Fluid Pipe", "item.modern_industrialization.green_item_pipe": "Green Item Pipe", "item.modern_industrialization.green_me_wire": "Green ME Wire", @@ -780,10 +787,12 @@ "item.modern_industrialization.lead_nugget": "Lead Nugget", "item.modern_industrialization.lead_plate": "Lead Plate", "item.modern_industrialization.lead_tiny_dust": "Lead Tiny Dust", + "item.modern_industrialization.light_blue_fe_wire": "Light Blue FE Wire", "item.modern_industrialization.light_blue_fluid_pipe": "Light Blue Fluid Pipe", "item.modern_industrialization.light_blue_item_pipe": "Light Blue Item Pipe", "item.modern_industrialization.light_blue_me_wire": "Light Blue ME Wire", "item.modern_industrialization.light_fuel_bucket": "Light Fuel Bucket", + "item.modern_industrialization.light_gray_fe_wire": "Light Gray FE Wire", "item.modern_industrialization.light_gray_fluid_pipe": "Light Gray Fluid Pipe", "item.modern_industrialization.light_gray_item_pipe": "Light Gray Item Pipe", "item.modern_industrialization.light_gray_me_wire": "Light Gray ME Wire", @@ -791,11 +800,13 @@ "item.modern_industrialization.lignite_coal_crushed_dust": "Lignite Coal Crushed Dust", "item.modern_industrialization.lignite_coal_dust": "Lignite Coal Dust", "item.modern_industrialization.lignite_coal_tiny_dust": "Lignite Coal Tiny Dust", + "item.modern_industrialization.lime_fe_wire": "Lime FE Wire", "item.modern_industrialization.lime_fluid_pipe": "Lime Fluid Pipe", "item.modern_industrialization.lime_item_pipe": "Lime Item Pipe", "item.modern_industrialization.lime_me_wire": "Lime ME Wire", "item.modern_industrialization.liquid_air_bucket": "Liquid Air Bucket", "item.modern_industrialization.lubricant_bucket": "Lubricant Bucket", + "item.modern_industrialization.magenta_fe_wire": "Magenta FE Wire", "item.modern_industrialization.magenta_fluid_pipe": "Magenta Fluid Pipe", "item.modern_industrialization.magenta_item_pipe": "Magenta Item Pipe", "item.modern_industrialization.magenta_me_wire": "Magenta ME Wire", @@ -832,6 +843,7 @@ "item.modern_industrialization.nylon_bucket": "Nylon Bucket", "item.modern_industrialization.op_amp": "Op Amp", "item.modern_industrialization.or_gate": "OR Gate", + "item.modern_industrialization.orange_fe_wire": "Orange FE Wire", "item.modern_industrialization.orange_fluid_pipe": "Orange Fluid Pipe", "item.modern_industrialization.orange_item_pipe": "Orange Item Pipe", "item.modern_industrialization.orange_me_wire": "Orange ME Wire", @@ -839,6 +851,7 @@ "item.modern_industrialization.oxygen_bucket": "Oxygen Bucket", "item.modern_industrialization.packer_block_template": "Packer Block Template", "item.modern_industrialization.packer_double_ingot_template": "Packer Double Ingot Template", + "item.modern_industrialization.pink_fe_wire": "Pink FE Wire", "item.modern_industrialization.pink_fluid_pipe": "Pink Fluid Pipe", "item.modern_industrialization.pink_item_pipe": "Pink Item Pipe", "item.modern_industrialization.pink_me_wire": "Pink ME Wire", @@ -868,6 +881,7 @@ "item.modern_industrialization.propene_bucket": "Propene Bucket", "item.modern_industrialization.pump": "Pump", "item.modern_industrialization.purified_platinum_sulfuric_solution_bucket": "Purified Platinum Sulfuric Solution Bucket", + "item.modern_industrialization.purple_fe_wire": "Purple FE Wire", "item.modern_industrialization.purple_fluid_pipe": "Purple Fluid Pipe", "item.modern_industrialization.purple_item_pipe": "Purple Item Pipe", "item.modern_industrialization.purple_me_wire": "Purple ME Wire", @@ -896,6 +910,7 @@ "item.modern_industrialization.raw_titanium": "Raw Titanium", "item.modern_industrialization.raw_tungsten": "Raw Tungsten", "item.modern_industrialization.raw_uranium": "Raw Uranium", + "item.modern_industrialization.red_fe_wire": "Red FE Wire", "item.modern_industrialization.red_fluid_pipe": "Red Fluid Pipe", "item.modern_industrialization.red_item_pipe": "Red Item Pipe", "item.modern_industrialization.red_me_wire": "Red ME Wire", @@ -1068,11 +1083,13 @@ "item.modern_industrialization.uu_matter_bucket": "UU Matter Bucket", "item.modern_industrialization.vinyl_chloride_bucket": "Vinyl Chloride Bucket", "item.modern_industrialization.wax": "Wax", + "item.modern_industrialization.white_fe_wire": "White FE Wire", "item.modern_industrialization.white_fluid_pipe": "White Fluid Pipe", "item.modern_industrialization.white_item_pipe": "White Item Pipe", "item.modern_industrialization.white_me_wire": "White ME Wire", "item.modern_industrialization.wood_pulp": "Wood Pulp", "item.modern_industrialization.wrench": "Wrench", + "item.modern_industrialization.yellow_fe_wire": "Yellow FE Wire", "item.modern_industrialization.yellow_fluid_pipe": "Yellow Fluid Pipe", "item.modern_industrialization.yellow_item_pipe": "Yellow Item Pipe", "item.modern_industrialization.yellow_me_wire": "Yellow ME Wire", @@ -1456,6 +1473,9 @@ "tag.c.tiny_dusts.uranium_238": "Uranium 238 Tiny Dusts", "tag.c.tiny_dusts.yttrium": "Yttrium Tiny Dusts", "tag.modern_industrialization.barrels": "Barrels", + "tag.modern_industrialization.fe_cables": "FE Cables", + "tag.modern_industrialization.fe_cables_part": "FE Cables Part", + "tag.modern_industrialization.fe_wires": "FE Wires", "tag.modern_industrialization.fluid_pipes": "Fluid Pipes", "tag.modern_industrialization.forge_hammer_tools": "Forge Hammer Tools", "tag.modern_industrialization.item_pipes": "Item Pipes", @@ -1463,6 +1483,7 @@ "tag.modern_industrialization.replicator_blacklist": "Replicator Blacklist", "tag.modern_industrialization.tanks": "Tanks", "text.autoconfig.modern_industrialization.option.armorHudYPosition": "Space between the top of the screen and the Jetpack/GraviChestPlate overlay text.", + "text.autoconfig.modern_industrialization.option.baseFEWireTransfer": "Base amount of FE transferred by FE wires every tick.", "text.autoconfig.modern_industrialization.option.baseItemPipeTransfer": "Base amount of items transferred by item pipes every 3 seconds.", "text.autoconfig.modern_industrialization.option.colorWaterLava": "Color Water and Lava (Restart needed)", "text.autoconfig.modern_industrialization.option.compostableToPlantOil": "Generate Plant Oil recipes in the Centrifuge for all compostable items.", @@ -1474,6 +1495,7 @@ "text.autoconfig.modern_industrialization.option.enableBidirectionalEnergyCompat": "Enable bi-directional energy compatibility with Tech Reborn Energy. We recommend leaving this to false unless the other mods have been balanced accordingly. (Restart needed)", "text.autoconfig.modern_industrialization.option.enableDebugCommands": "Enable UNSUPPORTED and DANGEROUS debug commands", "text.autoconfig.modern_industrialization.option.enableDefaultOreGenTooltips": "Enable the default ore generation tooltips. Set this to false if you change the ore features in a datapack.", + "text.autoconfig.modern_industrialization.option.enableFeWires": "Enable the FE wires (Restart needed)", "text.autoconfig.modern_industrialization.option.enableFtbQuestsIntegration": "Enable the FTB Quests integration, if present (Restart needed)", "text.autoconfig.modern_industrialization.option.enableHatchPlacementOverlay": "Show valid positions in multiblocks when holding a hatch", "text.autoconfig.modern_industrialization.option.enableInterMachineConnectedTextures": "Enable inter-machine connected textures. (Requires a suitable resource pack)", @@ -1577,6 +1599,10 @@ "text.modern_industrialization.FastNeutron": "Fast Neutron", "text.modern_industrialization.FastNeutronEnergy": "Fast Neutron Energy", "text.modern_industrialization.FastNeutronFraction": "Fast Scattered Neutron Fraction", + "text.modern_industrialization.FeT": "%s%s FE/t", + "text.modern_industrialization.FeWireHelp1": "Transfers %s. Install batteries in extraction points to increase transfer speed.", + "text.modern_industrialization.FeWireHelp2": "Can be instantly retrieved by pressing %s + %s with any Wrench.", + "text.modern_industrialization.FeWireHelp3": "Use %s + %s to connect directly the wire to the target block.", "text.modern_industrialization.FluidAutoExtractOff": "Fluid auto-eject disabled", "text.modern_industrialization.FluidAutoExtractOn": "Fluid auto-eject enabled", "text.modern_industrialization.FluidAutoInsertOff": "Fluid auto-pull disabled", @@ -1670,7 +1696,9 @@ "text.modern_industrialization.PriorityNotApplicable": "Not applicable in %s mode (%s).", "text.modern_industrialization.PriorityTransfer": "Transfer priority: %d", "text.modern_industrialization.PriorityTransferHelp": "Pipes will interact with higher priorities first.", + "text.modern_industrialization.PriorityTransferWireHelp": "Wires will interact with higher priorities first.", "text.modern_industrialization.Progress": "Progress: %s", + "text.modern_industrialization.PutBatteryToUpgrade": "Put any Battery here to improve energy transfer speed", "text.modern_industrialization.PutMotorToUpgrade": "Put any Motor here to improve Item Pipe Speed", "text.modern_industrialization.RedstoneControlModuleHelp": "Insert in a machine to enable redstone control.", "text.modern_industrialization.RedstoneControlModuleMachineRequires": "Machine requires: %s", @@ -1717,6 +1745,8 @@ "text.modern_industrialization.ToolSwitchedNo3x3": "3x3 Mining disabled!", "text.modern_industrialization.ToolSwitchedNoSilkTouch": "Silk Touch Mode disabled!", "text.modern_industrialization.ToolSwitchedSilkTouch": "Silk Touch Mode enabled!", + "text.modern_industrialization.TooltipFESpeedUpgrade": "FE Wire Speed Upgrade: +%s", + "text.modern_industrialization.TooltipFESpeedUpgradeStack": "Total Stack Upgrade +%s", "text.modern_industrialization.TooltipSpeedUpgrade": "Item Pipe Speed Upgrade: +%d items / 3s.", "text.modern_industrialization.TooltipSpeedUpgradeStack": "Total Stack Upgrade +%d items / 3s.", "text.modern_industrialization.TooltipsShiftRequired": "Press [Shift] for info", diff --git a/src/generated/resources/assets/modern_industrialization/models/item/black_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/black_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/black_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/blue_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/blue_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/blue_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/brown_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/brown_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/brown_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/cyan_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/cyan_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/cyan_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/gray_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/gray_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/gray_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/green_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/green_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/green_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/light_blue_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/light_blue_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/light_blue_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/light_gray_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/light_gray_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/light_gray_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/lime_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/lime_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/lime_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/magenta_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/magenta_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/magenta_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/orange_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/orange_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/orange_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/pink_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/pink_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/pink_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/purple_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/purple_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/purple_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/red_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/red_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/red_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/white_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/white_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/white_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/assets/modern_industrialization/models/item/yellow_fe_wire.json b/src/generated/resources/assets/modern_industrialization/models/item/yellow_fe_wire.json new file mode 100644 index 0000000000..77d9689e5b --- /dev/null +++ b/src/generated/resources/assets/modern_industrialization/models/item/yellow_fe_wire.json @@ -0,0 +1,4 @@ +{ + "delegate": "modern_industrialization:block/pipe", + "loader": "modern_industrialization:delegate" +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/data_maps/item/fe_wire_upgrades.json b/src/generated/resources/data/modern_industrialization/data_maps/item/fe_wire_upgrades.json new file mode 100644 index 0000000000..0f8044e073 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/data_maps/item/fe_wire_upgrades.json @@ -0,0 +1,22 @@ +{ + "values": { + "modern_industrialization:cadmium_battery": { + "energyTransferBoost": 32768 + }, + "modern_industrialization:plutonium_battery": { + "energyTransferBoost": 131072 + }, + "modern_industrialization:quantum_upgrade": { + "energyTransferBoost": 2147483647 + }, + "modern_industrialization:redstone_battery": { + "energyTransferBoost": 128 + }, + "modern_industrialization:silicon_battery": { + "energyTransferBoost": 512 + }, + "modern_industrialization:sodium_battery": { + "energyTransferBoost": 2048 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..cfd22ea2f6 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..75e2e4c874 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/craft/fe_wire_direct.json new file mode 100644 index 0000000000..ae52b3a1c9 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/craft/fe_wire_direct.json @@ -0,0 +1,49 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + } + }, + "pattern": [ + "aRa", + "c c", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..1e84eb74fa --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/black" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:black_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..925597996d --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/black" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:black_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/craft/fe_wire_1.json new file mode 100644 index 0000000000..fe69cbe5b1 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/black" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:black_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/craft/fe_wire_8.json new file mode 100644 index 0000000000..f9ba48dba3 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/black" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:black_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/craft/fe_wire_direct.json new file mode 100644 index 0000000000..8850de7fb5 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/black" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:black_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/mixer/fe_wire_8.json new file mode 100644 index 0000000000..5b223ce9ca --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/black/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/black" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:black_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..2b3533e0ee --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/blue" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:blue_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..fb9a716dff --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/blue" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:blue_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/craft/fe_wire_1.json new file mode 100644 index 0000000000..f9119b7681 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/blue" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:blue_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/craft/fe_wire_8.json new file mode 100644 index 0000000000..da4b51d4cb --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/blue" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:blue_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/craft/fe_wire_direct.json new file mode 100644 index 0000000000..9b58433ba4 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/blue" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:blue_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/mixer/fe_wire_8.json new file mode 100644 index 0000000000..77f3e2b566 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/blue/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/blue" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:blue_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..4019c1a9f5 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/brown" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:brown_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..d646525ced --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/brown" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:brown_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/craft/fe_wire_1.json new file mode 100644 index 0000000000..b6c574f5c2 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/brown" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:brown_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/craft/fe_wire_8.json new file mode 100644 index 0000000000..49085e8387 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/brown" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:brown_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/craft/fe_wire_direct.json new file mode 100644 index 0000000000..2353caf313 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/brown" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:brown_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/mixer/fe_wire_8.json new file mode 100644 index 0000000000..dea9940eac --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/brown/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/brown" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:brown_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..ab91c78ff4 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/cyan" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:cyan_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..49c380f8cb --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/cyan" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:cyan_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/craft/fe_wire_1.json new file mode 100644 index 0000000000..2dfaf22457 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/cyan" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:cyan_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/craft/fe_wire_8.json new file mode 100644 index 0000000000..dd5cb5f7a7 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/cyan" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:cyan_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/craft/fe_wire_direct.json new file mode 100644 index 0000000000..79a16a2b2d --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/cyan" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:cyan_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/mixer/fe_wire_8.json new file mode 100644 index 0000000000..e3f95827e3 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/cyan/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/cyan" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:cyan_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/decolor/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/decolor/craft/fe_wire_1.json new file mode 100644 index 0000000000..ece08330d9 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/decolor/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "b": { + "item": "minecraft:water_bucket" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pb" + ], + "result": { + "count": 1, + "id": "modern_industrialization:fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/decolor/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/decolor/craft/fe_wire_8.json new file mode 100644 index 0000000000..02d1552814 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/decolor/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "b": { + "item": "minecraft:water_bucket" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pbp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/decolor/mixer/fe_wire.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/decolor/mixer/fe_wire.json new file mode 100644 index 0000000000..081097a36b --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/decolor/mixer/fe_wire.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "fluid_inputs": [ + { + "amount": 125, + "fluid": "minecraft:water" + } + ], + "item_inputs": [ + { + "amount": 1, + "tag": "modern_industrialization:fe_wires" + } + ], + "item_outputs": [ + { + "amount": 1, + "item": "modern_industrialization:fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..2668855164 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/gray" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:gray_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..48d3e45874 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/gray" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:gray_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/craft/fe_wire_1.json new file mode 100644 index 0000000000..dc40fa16a0 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/gray" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:gray_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/craft/fe_wire_8.json new file mode 100644 index 0000000000..80dbe7107b --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/gray" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:gray_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/craft/fe_wire_direct.json new file mode 100644 index 0000000000..de30157598 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/gray" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:gray_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/mixer/fe_wire_8.json new file mode 100644 index 0000000000..e6b7aaa780 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/gray/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/gray" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:gray_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..10139af298 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/green" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:green_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..51a7fd62f6 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/green" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:green_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/craft/fe_wire_1.json new file mode 100644 index 0000000000..2e9ec8578c --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/green" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:green_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/craft/fe_wire_8.json new file mode 100644 index 0000000000..de8ad912c0 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/green" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:green_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/craft/fe_wire_direct.json new file mode 100644 index 0000000000..8113744f8f --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/green" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:green_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/mixer/fe_wire_8.json new file mode 100644 index 0000000000..cd7648cbc2 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/green/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/green" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:green_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..4c43e4edaa --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/light_blue" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:light_blue_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..4dcb9eb1e9 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/light_blue" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:light_blue_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/craft/fe_wire_1.json new file mode 100644 index 0000000000..c9331fbf4d --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/light_blue" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:light_blue_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/craft/fe_wire_8.json new file mode 100644 index 0000000000..2ffed379c4 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/light_blue" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:light_blue_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/craft/fe_wire_direct.json new file mode 100644 index 0000000000..571a678d97 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/light_blue" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:light_blue_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/mixer/fe_wire_8.json new file mode 100644 index 0000000000..875a96fade --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_blue/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/light_blue" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:light_blue_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..bbc29716f1 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/light_gray" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:light_gray_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..037b754801 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/light_gray" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:light_gray_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/craft/fe_wire_1.json new file mode 100644 index 0000000000..d45463c85a --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/light_gray" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:light_gray_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/craft/fe_wire_8.json new file mode 100644 index 0000000000..fd9a654189 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/light_gray" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:light_gray_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/craft/fe_wire_direct.json new file mode 100644 index 0000000000..698d71f33c --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/light_gray" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:light_gray_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/mixer/fe_wire_8.json new file mode 100644 index 0000000000..fc1c1e2b6b --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/light_gray/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/light_gray" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:light_gray_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..d162094eaf --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/lime" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:lime_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..5827a17025 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/lime" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:lime_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/craft/fe_wire_1.json new file mode 100644 index 0000000000..a7eda1222e --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/lime" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:lime_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/craft/fe_wire_8.json new file mode 100644 index 0000000000..184feeaef3 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/lime" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:lime_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/craft/fe_wire_direct.json new file mode 100644 index 0000000000..28bad12a68 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/lime" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:lime_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/mixer/fe_wire_8.json new file mode 100644 index 0000000000..b5876b3d37 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/lime/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/lime" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:lime_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..09549b06ec --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/magenta" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:magenta_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..dc501f8b1d --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/magenta" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:magenta_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/craft/fe_wire_1.json new file mode 100644 index 0000000000..421bad5ee3 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/magenta" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:magenta_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/craft/fe_wire_8.json new file mode 100644 index 0000000000..d12c3f2d4f --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/magenta" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:magenta_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/craft/fe_wire_direct.json new file mode 100644 index 0000000000..b4e2277e9a --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/magenta" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:magenta_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/mixer/fe_wire_8.json new file mode 100644 index 0000000000..371656ede3 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/magenta/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/magenta" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:magenta_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..037a631ade --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/orange" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:orange_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..7583b46760 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/orange" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:orange_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/craft/fe_wire_1.json new file mode 100644 index 0000000000..e729a1745f --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/orange" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:orange_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/craft/fe_wire_8.json new file mode 100644 index 0000000000..b4d93b0cee --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/orange" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:orange_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/craft/fe_wire_direct.json new file mode 100644 index 0000000000..410838a0db --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/orange" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:orange_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/mixer/fe_wire_8.json new file mode 100644 index 0000000000..57c1eeae75 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/orange/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/orange" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:orange_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..71679ce8af --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/pink" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:pink_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..ce848ae548 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/pink" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:pink_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/craft/fe_wire_1.json new file mode 100644 index 0000000000..99224e17ea --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/pink" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:pink_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/craft/fe_wire_8.json new file mode 100644 index 0000000000..88a5da16c2 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/pink" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:pink_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/craft/fe_wire_direct.json new file mode 100644 index 0000000000..2e69f3579d --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/pink" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:pink_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/mixer/fe_wire_8.json new file mode 100644 index 0000000000..727312e84c --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/pink/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/pink" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:pink_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..bf664bd182 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/purple" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:purple_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..96fde1e5c5 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/purple" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:purple_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/craft/fe_wire_1.json new file mode 100644 index 0000000000..eb136dee1f --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/purple" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:purple_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/craft/fe_wire_8.json new file mode 100644 index 0000000000..4822243d80 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/purple" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:purple_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/craft/fe_wire_direct.json new file mode 100644 index 0000000000..d1b015afe1 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/purple" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:purple_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/mixer/fe_wire_8.json new file mode 100644 index 0000000000..d0ebc76c43 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/purple/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/purple" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:purple_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..19339a8f34 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/red" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:red_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..67e2c67fb6 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/red" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:red_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/craft/fe_wire_1.json new file mode 100644 index 0000000000..6531d98257 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/red" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:red_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/craft/fe_wire_8.json new file mode 100644 index 0000000000..a9ca4d7da6 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/red" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:red_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/craft/fe_wire_direct.json new file mode 100644 index 0000000000..e0f2eabc42 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/red" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:red_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/mixer/fe_wire_8.json new file mode 100644 index 0000000000..bd79cff195 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/red/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/red" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:red_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..4150b14ef9 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/white" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:white_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..2de902b4d6 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/white" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:white_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/craft/fe_wire_1.json new file mode 100644 index 0000000000..752c3d9ab5 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/white" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:white_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/craft/fe_wire_8.json new file mode 100644 index 0000000000..c57a6d88d8 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/white" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:white_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/craft/fe_wire_direct.json new file mode 100644 index 0000000000..663223427e --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/white" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:white_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/mixer/fe_wire_8.json new file mode 100644 index 0000000000..9ccb26be15 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/white/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/white" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:white_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/assembler/fe_wire_direct_styrene_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/assembler/fe_wire_direct_styrene_rubber.json new file mode 100644 index 0000000000..80370ba796 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/assembler/fe_wire_direct_styrene_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 2, + "fluid": "modern_industrialization:styrene_butadiene_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/yellow" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:yellow_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/assembler/fe_wire_direct_synthetic_rubber.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/assembler/fe_wire_direct_synthetic_rubber.json new file mode 100644 index 0000000000..7fa160a4ca --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/assembler/fe_wire_direct_synthetic_rubber.json @@ -0,0 +1,56 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:assembler", + "duration": 100, + "eu": 8, + "fluid_inputs": [ + { + "amount": 10, + "fluid": "modern_industrialization:synthetic_rubber" + } + ], + "item_inputs": [ + { + "amount": 2, + "tag": "modern_industrialization:fe_cables" + }, + { + "amount": 4, + "tag": "modern_industrialization:fe_cables_part" + }, + { + "amount": 1, + "tag": "c:dyes/yellow" + } + ], + "item_outputs": [ + { + "amount": 16, + "item": "modern_industrialization:yellow_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/craft/fe_wire_1.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/craft/fe_wire_1.json new file mode 100644 index 0000000000..f770156b89 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/craft/fe_wire_1.json @@ -0,0 +1,44 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/yellow" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "pd" + ], + "result": { + "count": 1, + "id": "modern_industrialization:yellow_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/craft/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/craft/fe_wire_8.json new file mode 100644 index 0000000000..32e7f77d5c --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/craft/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "d": { + "tag": "c:dyes/yellow" + }, + "p": { + "tag": "modern_industrialization:fe_wires" + } + }, + "pattern": [ + "ppp", + "pdp", + "ppp" + ], + "result": { + "count": 8, + "id": "modern_industrialization:yellow_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/craft/fe_wire_direct.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/craft/fe_wire_direct.json new file mode 100644 index 0000000000..dd7c221932 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/craft/fe_wire_direct.json @@ -0,0 +1,52 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "R": { + "item": "modern_industrialization:rubber_sheet" + }, + "a": { + "tag": "modern_industrialization:fe_cables_part" + }, + "c": { + "tag": "modern_industrialization:fe_cables" + }, + "d": { + "tag": "c:dyes/yellow" + } + }, + "pattern": [ + "aRa", + "cdc", + "aRa" + ], + "result": { + "count": 16, + "id": "modern_industrialization:yellow_fe_wire" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/mixer/fe_wire_8.json b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/mixer/fe_wire_8.json new file mode 100644 index 0000000000..a6784d4963 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/recipe/compat/fe/dyes/yellow/mixer/fe_wire_8.json @@ -0,0 +1,46 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:and", + "values": [ + { + "type": "neoforge:item_exists", + "item": "modern_industrialization:fe_wire" + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "modern_industrialization:fe_cables_part" + } + } + ] + } + ], + "type": "modern_industrialization:mixer", + "duration": 100, + "eu": 2, + "item_inputs": [ + { + "amount": 8, + "tag": "modern_industrialization:fe_wires" + }, + { + "amount": 1, + "tag": "c:dyes/yellow" + } + ], + "item_outputs": [ + { + "amount": 8, + "item": "modern_industrialization:yellow_fe_wire" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/tags/item/fe_cables.json b/src/generated/resources/data/modern_industrialization/tags/item/fe_cables.json new file mode 100644 index 0000000000..3c71f3d206 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/tags/item/fe_cables.json @@ -0,0 +1,12 @@ +{ + "values": [ + { + "id": "mekanism:basic_universal_cable", + "required": false + }, + { + "id": "powah:energy_cable_basic", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/tags/item/fe_cables_part.json b/src/generated/resources/data/modern_industrialization/tags/item/fe_cables_part.json new file mode 100644 index 0000000000..7654f64e02 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/tags/item/fe_cables_part.json @@ -0,0 +1,12 @@ +{ + "values": [ + { + "id": "mekanism:alloy_infused", + "required": false + }, + { + "id": "powah:capacitor_basic_tiny", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/modern_industrialization/tags/item/fe_wires.json b/src/generated/resources/data/modern_industrialization/tags/item/fe_wires.json new file mode 100644 index 0000000000..2cb15f8b36 --- /dev/null +++ b/src/generated/resources/data/modern_industrialization/tags/item/fe_wires.json @@ -0,0 +1,21 @@ +{ + "values": [ + "modern_industrialization:black_fe_wire", + "modern_industrialization:blue_fe_wire", + "modern_industrialization:brown_fe_wire", + "modern_industrialization:cyan_fe_wire", + "modern_industrialization:fe_wire", + "modern_industrialization:gray_fe_wire", + "modern_industrialization:green_fe_wire", + "modern_industrialization:light_blue_fe_wire", + "modern_industrialization:light_gray_fe_wire", + "modern_industrialization:lime_fe_wire", + "modern_industrialization:magenta_fe_wire", + "modern_industrialization:orange_fe_wire", + "modern_industrialization:pink_fe_wire", + "modern_industrialization:purple_fe_wire", + "modern_industrialization:red_fe_wire", + "modern_industrialization:white_fe_wire", + "modern_industrialization:yellow_fe_wire" + ] +} \ No newline at end of file diff --git a/src/main/java/aztech/modern_industrialization/MI.java b/src/main/java/aztech/modern_industrialization/MI.java index eab1cb9190..2e11ed1b9f 100644 --- a/src/main/java/aztech/modern_industrialization/MI.java +++ b/src/main/java/aztech/modern_industrialization/MI.java @@ -215,6 +215,7 @@ public MI(IEventBus modBus, Dist dist) { event.register(MIDataMaps.FLUID_FUELS); event.register(MIDataMaps.ITEM_PIPE_UPGRADES); event.register(MIDataMaps.MACHINE_UPGRADES); + event.register(MIDataMaps.FE_WIRE_UPGRADES); }); if (MIConfig.loadAe2Compat()) { diff --git a/src/main/java/aztech/modern_industrialization/MIConfig.java b/src/main/java/aztech/modern_industrialization/MIConfig.java index bc1064ef0f..2d9b7033d6 100644 --- a/src/main/java/aztech/modern_industrialization/MIConfig.java +++ b/src/main/java/aztech/modern_industrialization/MIConfig.java @@ -66,6 +66,9 @@ public class MIConfig implements ConfigData { @EnglishTranslation(value = "Enable the AE2 integration, if present (Restart needed)") public boolean enableAe2Integration = true; @ConfigEntry.Gui.RequiresRestart + @EnglishTranslation(value = "Enable the FE wires (Restart needed)") + public boolean enableFeWires = !FMLEnvironment.production; + @ConfigEntry.Gui.RequiresRestart @EnglishTranslation(value = "Enable the FTB Quests integration, if present (Restart needed)") public boolean enableFtbQuestsIntegration = true; @EnglishTranslation(value = "Enable the default ore generation tooltips. Set this to false if you change the ore features in a datapack.") @@ -88,6 +91,8 @@ public class MIConfig implements ConfigData { public int armorHudYPosition = 4; @EnglishTranslation(value = "Base amount of items transferred by item pipes every 3 seconds.") public int baseItemPipeTransfer = 16; + @EnglishTranslation(value = "Base amount of FE transferred by FE wires every tick.") + public int baseFEWireTransfer = 1024; @EnglishTranslation(value = "Generate Cutting Machine recipes for all Stonecutter recipes.") public boolean stonecutterToCuttingMachine = true; @EnglishTranslation(value = "Generate Plant Oil recipes in the Centrifuge for all compostable items.") diff --git a/src/main/java/aztech/modern_industrialization/MITags.java b/src/main/java/aztech/modern_industrialization/MITags.java index 27ae4fb6a8..2649adf30e 100644 --- a/src/main/java/aztech/modern_industrialization/MITags.java +++ b/src/main/java/aztech/modern_industrialization/MITags.java @@ -35,8 +35,13 @@ public class MITags { public static final TagKey TANKS = miItem("tanks"); public static final TagKey FLUID_PIPES = miItem("fluid_pipes"); public static final TagKey ITEM_PIPES = miItem("item_pipes"); + public static final TagKey FE_WIRES = miItem("fe_wires"); public static final TagKey ME_WIRES = miItem("me_wires"); + // Used in fe cable compat recipes + public static final TagKey FE_CABLES = miItem("fe_cables"); + public static final TagKey FE_CABLES_PART = miItem("fe_cables_part"); + public static TagKey item(String path) { return TagKey.create(BuiltInRegistries.ITEM.key(), ResourceLocation.fromNamespaceAndPath("c", path)); } diff --git a/src/main/java/aztech/modern_industrialization/MIText.java b/src/main/java/aztech/modern_industrialization/MIText.java index d55d273dd4..e0ab1fb8ac 100644 --- a/src/main/java/aztech/modern_industrialization/MIText.java +++ b/src/main/java/aztech/modern_industrialization/MIText.java @@ -121,6 +121,10 @@ public enum MIText { FastNeutron("Fast Neutron"), FastNeutronEnergy("Fast Neutron Energy"), FastNeutronFraction("Fast Scattered Neutron Fraction"), + FeT("%s%s FE/t"), + FeWireHelp1("Transfers %s. Install batteries in extraction points to increase transfer speed."), + FeWireHelp2("Can be instantly retrieved by pressing %s + %s with any Wrench."), + FeWireHelp3("Use %s + %s to connect directly the wire to the target block."), FluidAutoExtractOff("Fluid auto-eject disabled"), FluidAutoExtractOn("Fluid auto-eject enabled"), FluidAutoInsertOff("Fluid auto-pull disabled"), @@ -214,7 +218,9 @@ public enum MIText { PriorityNotApplicable("Not applicable in %s mode (%s)."), PriorityTransfer("Transfer priority: %d"), PriorityTransferHelp("Pipes will interact with higher priorities first."), + PriorityTransferWireHelp("Wires will interact with higher priorities first."), Progress("Progress: %s"), + PutBatteryToUpgrade("Put any Battery here to improve energy transfer speed"), PutMotorToUpgrade("Put any Motor here to improve Item Pipe Speed"), RedstoneControlModuleHelp("Insert in a machine to enable redstone control."), RedstoneControlModuleMachineRequires("Machine requires: %s"), @@ -262,6 +268,8 @@ public enum MIText { ToolSwitchedNo3x3("3x3 Mining disabled!"), ToolSwitchedNoSilkTouch("Silk Touch Mode disabled!"), ToolSwitchedSilkTouch("Silk Touch Mode enabled!"), + TooltipFESpeedUpgrade("FE Wire Speed Upgrade: +%s"), + TooltipFESpeedUpgradeStack("Total Stack Upgrade +%s"), TooltipSpeedUpgrade("Item Pipe Speed Upgrade: +%d items / 3s."), TooltipSpeedUpgradeStack("Total Stack Upgrade +%d items / 3s."), TooltipsShiftRequired("Press [Shift] for info"), diff --git a/src/main/java/aztech/modern_industrialization/MITooltips.java b/src/main/java/aztech/modern_industrialization/MITooltips.java index b6d7b12c2e..e605a6aa0d 100644 --- a/src/main/java/aztech/modern_industrialization/MITooltips.java +++ b/src/main/java/aztech/modern_industrialization/MITooltips.java @@ -164,6 +164,14 @@ public Component parse(Number number) { } }; + public static final Parser FE_PER_TICK_PARSER = new Parser<>() { + @Override + public Component parse(Number number) { + TextHelper.Amount amount = TextHelper.getAmountGeneric(number); + return MIText.FeT.text(amount.digit(), amount.unit()).withStyle(NUMBER_TEXT); + } + }; + public record NumberWithMax(Number number, Number max) { } @@ -371,6 +379,25 @@ public Component parse(Double ratio) { } }); + public static final TooltipAttachment FE_WIRE_SPEED_UPGRADES = TooltipAttachment.ofMultilines( + (itemStack, item) -> { + if (!MIConfig.getConfig().enableFeWires) { + return Optional.empty(); + } + var upgrade = itemStack.getItemHolder().getData(MIDataMaps.FE_WIRE_UPGRADES); + if (upgrade != null) { + List lines = new LinkedList<>(); + lines.add(new Line(MIText.TooltipFESpeedUpgrade).arg(upgrade.energyTransferBoost(), FE_PER_TICK_PARSER).build()); + if (itemStack.getCount() > 1) { + lines.add(new Line(MIText.TooltipFESpeedUpgradeStack) + .arg(itemStack.getCount() * upgrade.energyTransferBoost(), FE_PER_TICK_PARSER).build()); + } + return Optional.of(lines); + } else { + return Optional.empty(); + } + }); + public static final TooltipAttachment STEAM_DRILL = TooltipAttachment.ofMultilines(MIItem.STEAM_MINING_DRILL, List.of( line(MIText.ToolConfiguration).build(), @@ -421,6 +448,15 @@ public Component parse(Double ratio) { line(MIText.PipeHelp2).arg("sneak", KEYBIND_PARSER).arg("use", KEYBIND_PARSER).build())) : Optional.empty(); }); + public static final TooltipAttachment FE_WIRE_HELP = TooltipAttachment.ofMultilines( + (itemStack, item) -> { + return (item instanceof PipeItem pipe && pipe.isFEWire()) ? Optional.of(List.of( + line(MIText.FeWireHelp1).arg(MIConfig.getConfig().baseFEWireTransfer, FE_PER_TICK_PARSER).build(), + Component.empty(), + line(MIText.FeWireHelp2).arg("sneak", KEYBIND_PARSER).arg("use", KEYBIND_PARSER).build(), + line(MIText.FeWireHelp3).arg("sneak", KEYBIND_PARSER).arg("use", KEYBIND_PARSER).build())) : Optional.empty(); + }); + // Long Tooltip with only text, no need of MIText public static final Map TOOLTIPS_ENGLISH_TRANSLATION = new HashMap<>(); diff --git a/src/main/java/aztech/modern_industrialization/api/datamaps/FEWireUpgrade.java b/src/main/java/aztech/modern_industrialization/api/datamaps/FEWireUpgrade.java new file mode 100644 index 0000000000..018bd81505 --- /dev/null +++ b/src/main/java/aztech/modern_industrialization/api/datamaps/FEWireUpgrade.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2020 Azercoco & Technici4n + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package aztech.modern_industrialization.api.datamaps; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.util.ExtraCodecs; + +public record FEWireUpgrade(int energyTransferBoost) { + public static final Codec CODEC = RecordCodecBuilder.create( + instance -> instance + .group( + ExtraCodecs.POSITIVE_INT.fieldOf("energyTransferBoost").forGetter(FEWireUpgrade::energyTransferBoost)) + .apply(instance, FEWireUpgrade::new)); +} diff --git a/src/main/java/aztech/modern_industrialization/api/datamaps/MIDataMaps.java b/src/main/java/aztech/modern_industrialization/api/datamaps/MIDataMaps.java index 806776d7bf..21247ae1e9 100644 --- a/src/main/java/aztech/modern_industrialization/api/datamaps/MIDataMaps.java +++ b/src/main/java/aztech/modern_industrialization/api/datamaps/MIDataMaps.java @@ -54,6 +54,15 @@ public final class MIDataMaps { .synced(MachineUpgrade.CODEC, true) .build(); + /** + * Items that can be added to FE wires, to increase the maximum energy transfer rate. + */ + public static final DataMapType FE_WIRE_UPGRADES = DataMapType + .builder( + MI.id("fe_wire_upgrades"), Registries.ITEM, FEWireUpgrade.CODEC) + .synced(FEWireUpgrade.CODEC, true) + .build(); + private MIDataMaps() { } } diff --git a/src/main/java/aztech/modern_industrialization/compat/jade/server/PipeDataProvider.java b/src/main/java/aztech/modern_industrialization/compat/jade/server/PipeDataProvider.java index 42c46b10cb..063efaf36e 100644 --- a/src/main/java/aztech/modern_industrialization/compat/jade/server/PipeDataProvider.java +++ b/src/main/java/aztech/modern_industrialization/compat/jade/server/PipeDataProvider.java @@ -26,6 +26,7 @@ import aztech.modern_industrialization.MI; import aztech.modern_industrialization.pipes.api.PipeNetworkNode; import aztech.modern_industrialization.pipes.electricity.ElectricityNetworkNode; +import aztech.modern_industrialization.pipes.fe.FENetworkNode; import aztech.modern_industrialization.pipes.fluid.FluidNetworkNode; import aztech.modern_industrialization.pipes.impl.PipeBlockEntity; import aztech.modern_industrialization.pipes.item.ItemNetworkNode; @@ -70,6 +71,14 @@ public void appendServerData(CompoundTag data, BlockAccessor accessor) { pipeData.putInt("pulse", info.pulse()); } + if (node instanceof FENetworkNode feNode) { + var info = feNode.collectNetworkInfo(); + pipeData.putLong("energy", info.energy()); + pipeData.putLong("maxEnergy", info.maxEnergy()); + pipeData.putLong("transfer", info.transfer()); + pipeData.putLong("maxTransfer", info.maxTransfer()); + } + data.put(node.getType().getIdentifier().toString(), pipeData); } } diff --git a/src/main/java/aztech/modern_industrialization/datagen/datamap/MIDataMapProvider.java b/src/main/java/aztech/modern_industrialization/datagen/datamap/MIDataMapProvider.java index a24cbe5da3..b92ae7925d 100644 --- a/src/main/java/aztech/modern_industrialization/datagen/datamap/MIDataMapProvider.java +++ b/src/main/java/aztech/modern_industrialization/datagen/datamap/MIDataMapProvider.java @@ -27,10 +27,7 @@ import aztech.modern_industrialization.MIFluids; import aztech.modern_industrialization.MIItem; import aztech.modern_industrialization.MIRegistries; -import aztech.modern_industrialization.api.datamaps.FluidFuel; -import aztech.modern_industrialization.api.datamaps.ItemPipeUpgrade; -import aztech.modern_industrialization.api.datamaps.MIDataMaps; -import aztech.modern_industrialization.api.datamaps.MachineUpgrade; +import aztech.modern_industrialization.api.datamaps.*; import aztech.modern_industrialization.datagen.loot.MILootTables; import aztech.modern_industrialization.definition.FluidDefinition; import aztech.modern_industrialization.definition.ItemDefinition; @@ -56,6 +53,7 @@ protected void gather() { gatherFluidFuels(); gatherItemPipeUpgrades(); gatherMachineUpgrades(); + gatherFEWireUpgrades(); builder(NeoForgeDataMaps.RAID_HERO_GIFTS) .add(MIRegistries.INDUSTRIALIST, new RaidHeroGift(MILootTables.INDUSTRIALIST_GIFT), false); @@ -125,4 +123,19 @@ private void gatherMachineUpgrades() { private void addMachineUpgrade(ItemDefinition itemDefinition, int extraMaxEu) { builder(MIDataMaps.MACHINE_UPGRADES).add(itemDefinition.getId(), new MachineUpgrade(extraMaxEu), false); } + + private void gatherFEWireUpgrades() { + int base = 128; + addFEWireUpgrade("redstone_battery", base); + addFEWireUpgrade("silicon_battery", base * 4); + addFEWireUpgrade("sodium_battery", base * 4 * 4); + addFEWireUpgrade("cadmium_battery", base * 4 * 4 * 16); + addFEWireUpgrade("plutonium_battery", base * 4 * 4 * 16 * 4); + + addFEWireUpgrade("quantum_upgrade", Integer.MAX_VALUE); + } + + private void addFEWireUpgrade(String path, int energyTransferBoost) { + builder(MIDataMaps.FE_WIRE_UPGRADES).add(MI.id(path), new FEWireUpgrade(energyTransferBoost), false); + } } diff --git a/src/main/java/aztech/modern_industrialization/datagen/recipe/CompatRecipesProvider.java b/src/main/java/aztech/modern_industrialization/datagen/recipe/CompatRecipesProvider.java index 5dc79ac7fc..6ea62c1062 100644 --- a/src/main/java/aztech/modern_industrialization/datagen/recipe/CompatRecipesProvider.java +++ b/src/main/java/aztech/modern_industrialization/datagen/recipe/CompatRecipesProvider.java @@ -23,6 +23,7 @@ */ package aztech.modern_industrialization.datagen.recipe; +import aztech.modern_industrialization.MI; import aztech.modern_industrialization.MIFluids; import aztech.modern_industrialization.compat.ae2.AECompatCondition; import aztech.modern_industrialization.machines.init.MIMachineRecipeTypes; @@ -32,13 +33,13 @@ import aztech.modern_industrialization.materials.part.MIParts; import aztech.modern_industrialization.recipe.json.IMIRecipeBuilder; import aztech.modern_industrialization.recipe.json.ShapedRecipeJson; +import java.util.List; import java.util.Map; import net.minecraft.data.PackOutput; import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.world.item.DyeColor; import net.minecraft.world.level.material.Fluids; -import net.neoforged.neoforge.common.conditions.ICondition; -import net.neoforged.neoforge.common.conditions.ModLoadedCondition; +import net.neoforged.neoforge.common.conditions.*; public class CompatRecipesProvider extends MIRecipesProvider { @@ -54,11 +55,14 @@ public CompatRecipesProvider(PackOutput packOutput) { public void buildRecipes(RecipeOutput consumer) { this.consumer = consumer; - startCompat("ae2"); + startModCompat("ae2"); generateAe2Compat(); + + startFECompat(); + generateFeCompat(); } - private void startCompat(String modid) { + private void startModCompat(String modid) { currentCompatModid = modid; conditions = new ICondition[] { new ModLoadedCondition(modid) }; } @@ -150,6 +154,83 @@ private void generateAe2Compat() { addCompatRecipe("assembler/me_wire_direct", meWiresDirect.exportToAssembler()); } + private void startFECompat() { + currentCompatModid = "fe"; + conditions = new ICondition[] { new AndCondition(List.of( + new ItemExistsCondition("modern_industrialization:fe_wire"), + new NotCondition(new TagEmptyCondition(MI.id("fe_cables"))), + new NotCondition(new TagEmptyCondition(MI.id("fe_cables_part"))))) }; + } + + private void generateFeCompat() { + for (DyeColor color : DyeColor.values()) { + // 16 fe wires with dye in the center + addCompatRecipe("dyes/" + color.getName() + "/craft/fe_wire_direct", + new ShapedRecipeJson("modern_industrialization:" + color.getName() + "_fe_wire", 16, "aRa", "cdc", "aRa") + .addInput('R', "modern_industrialization:rubber_sheet") + .addInput('c', "#modern_industrialization:fe_cables") + .addInput('a', "#modern_industrialization:fe_cables_part") + .addInput('d', "#c:dyes/" + color.getName())); + // 16 fe wires in the assembler + // synthetic rubber + addCompatRecipe("dyes/" + color.getName() + "/assembler/fe_wire_direct_synthetic_rubber", + new MachineRecipeBuilder(MIMachineRecipeTypes.ASSEMBLER, 8, 100) + .addFluidInput(MIFluids.SYNTHETIC_RUBBER, 10) + .addItemInput("#modern_industrialization:fe_cables", 2) + .addItemInput("#modern_industrialization:fe_cables_part", 4) + .addItemInput("#c:dyes/" + color.getName(), 1) + .addItemOutput("modern_industrialization:" + color.getName() + "_fe_wire", 16)); + // styrene-butadiene + addCompatRecipe("dyes/" + color.getName() + "/assembler/fe_wire_direct_styrene_rubber", + new MachineRecipeBuilder(MIMachineRecipeTypes.ASSEMBLER, 8, 100) + .addFluidInput(MIFluids.STYRENE_BUTADIENE_RUBBER, 2) + .addItemInput("#modern_industrialization:fe_cables", 2) + .addItemInput("#modern_industrialization:fe_cables_part", 4) + .addItemInput("#c:dyes/" + color.getName(), 1) + .addItemOutput("modern_industrialization:" + color.getName() + "_fe_wire", 16)); + // 8 fe wires + var eightFeWires = new ShapedRecipeJson("modern_industrialization:" + color.getName() + "_fe_wire", 8, "ppp", "pdp", + "ppp").addInput('d', "#c:dyes/" + color.getName()).addInput('p', "#modern_industrialization:fe_wires"); + addCompatRecipe("dyes/" + color.getName() + "/craft/fe_wire_8", eightFeWires); + addCompatRecipe("dyes/" + color.getName() + "/mixer/fe_wire_8", + eightFeWires.exportToMachine(MIMachineRecipeTypes.MIXER, 2, 100, 1)); + // 1 fe wire + addCompatRecipe("dyes/" + color.getName() + "/craft/fe_wire_1", + new ShapedRecipeJson("modern_industrialization:" + color.getName() + "_fe_wire", 1, "pd") + .addInput('d', "#c:dyes/" + color.getName()).addInput('p', "#modern_industrialization:fe_wires")); + } + + // decolor 8 fe wires + addCompatRecipe("dyes/decolor/craft/fe_wire_8", new ShapedRecipeJson("modern_industrialization:fe_wire", 8, "ppp", "pbp", + "ppp").addInput('b', "minecraft:water_bucket").addInput('p', "#modern_industrialization:fe_wires")); + // decolor 1 fe wire + addCompatRecipe("dyes/decolor/craft/fe_wire_1", new ShapedRecipeJson("modern_industrialization:fe_wire", 1, "pb") + .addInput('b', "minecraft:water_bucket").addInput('p', "#modern_industrialization:fe_wires")); + // decolor 1 fe wire with mixer + addCompatRecipe("dyes/decolor/mixer/fe_wire", new MachineRecipeBuilder(MIMachineRecipeTypes.MIXER, 2, 100) + .addItemInput("#modern_industrialization:fe_wires", 1) + .addFluidInput(Fluids.WATER, 125) + .addItemOutput("modern_industrialization:fe_wire", 1)); + // 16 fe wires direct + addCompatRecipe("craft/fe_wire_direct", new ShapedRecipeJson("modern_industrialization:fe_wire", 16, "aRa", "c c", "aRa") + .addInput('R', "modern_industrialization:rubber_sheet") + .addInput('c', "#modern_industrialization:fe_cables") + .addInput('a', "#modern_industrialization:fe_cables_part")); + // 16 fe wires in the assembler + // synthetic rubber + addCompatRecipe("assembler/fe_wire_direct_synthetic_rubber", new MachineRecipeBuilder(MIMachineRecipeTypes.ASSEMBLER, 8, 100) + .addFluidInput(MIFluids.SYNTHETIC_RUBBER, 10) + .addItemInput("#modern_industrialization:fe_cables", 2) + .addItemInput("#modern_industrialization:fe_cables_part", 4) + .addItemOutput("modern_industrialization:fe_wire", 16)); + // styrene-butadiene + addCompatRecipe("assembler/fe_wire_direct_styrene_rubber", new MachineRecipeBuilder(MIMachineRecipeTypes.ASSEMBLER, 8, 100) + .addFluidInput(MIFluids.STYRENE_BUTADIENE_RUBBER, 2) + .addItemInput("#modern_industrialization:fe_cables", 2) + .addItemInput("#modern_industrialization:fe_cables_part", 4) + .addItemOutput("modern_industrialization:fe_wire", 16)); + } + private void addMiRecipe(MachineRecipeType machine, String input, String output, int outputAmount) { addMiRecipe(machine, input, output, outputAmount, 2, 200); } diff --git a/src/main/java/aztech/modern_industrialization/datagen/tag/MIItemTagProvider.java b/src/main/java/aztech/modern_industrialization/datagen/tag/MIItemTagProvider.java index 1f144c6f53..0bcd487b56 100644 --- a/src/main/java/aztech/modern_industrialization/datagen/tag/MIItemTagProvider.java +++ b/src/main/java/aztech/modern_industrialization/datagen/tag/MIItemTagProvider.java @@ -119,6 +119,13 @@ protected void addTags(HolderLookup.Provider provider) { tag(P2PTunnelAttunement.getAttunementTag(MIAEAddon.ENERGY_P2P_TUNNEL)) .add(MIMaterials.SUPERCONDUCTOR.getPart(MIParts.CABLE).asItem()); } + + tag(MITags.FE_CABLES) + .addOptional(ResourceLocation.parse("mekanism:basic_universal_cable")) + .addOptional(ResourceLocation.parse("powah:energy_cable_basic")); + tag(MITags.FE_CABLES_PART) + .addOptional(ResourceLocation.parse("mekanism:alloy_infused")) + .addOptional(ResourceLocation.parse("powah:capacitor_basic_tiny")); } private static TagKey key(ResourceLocation id) { diff --git a/src/main/java/aztech/modern_industrialization/datagen/translation/TranslationProvider.java b/src/main/java/aztech/modern_industrialization/datagen/translation/TranslationProvider.java index 41a095b75c..d997287525 100644 --- a/src/main/java/aztech/modern_industrialization/datagen/translation/TranslationProvider.java +++ b/src/main/java/aztech/modern_industrialization/datagen/translation/TranslationProvider.java @@ -85,6 +85,8 @@ private void addManualEntries() { addTranslation("key.modern_industrialization.toggle_3x3", "Toggle 3x3 Mining"); addTranslation("text.autoconfig.modern_industrialization.title", "Modern Industrialization Menu"); addTranslation("tag.modern_industrialization.replicator_blacklist", "Replicator Blacklist"); + addTranslation("tag.modern_industrialization.fe_cables", "FE Cables"); + addTranslation("tag.modern_industrialization.fe_cables_part", "FE Cables Part"); addTranslation("config.jade.plugin_modern_industrialization.overclock", "Machine Overclock"); addTranslation("config.jade.plugin_modern_industrialization.pipe", "Pipe Information"); diff --git a/src/main/java/aztech/modern_industrialization/items/SortOrder.java b/src/main/java/aztech/modern_industrialization/items/SortOrder.java index fe49573654..f7d4cb9222 100644 --- a/src/main/java/aztech/modern_industrialization/items/SortOrder.java +++ b/src/main/java/aztech/modern_industrialization/items/SortOrder.java @@ -32,6 +32,7 @@ public final class SortOrder implements Comparable { public static final SortOrder STEAM_TIER = new SortOrder(); public static final SortOrder ITEMS_OTHER = new SortOrder(); public static final SortOrder CABLES = new SortOrder(); + public static final SortOrder FE_WIRES = new SortOrder(); public static final SortOrder PIPES = new SortOrder(); public static final SortOrder TANKS = new SortOrder(); public static final SortOrder BARRELS = new SortOrder(); diff --git a/src/main/java/aztech/modern_industrialization/pipes/MIPipes.java b/src/main/java/aztech/modern_industrialization/pipes/MIPipes.java index 4b8d6481c4..b8be3b8926 100644 --- a/src/main/java/aztech/modern_industrialization/pipes/MIPipes.java +++ b/src/main/java/aztech/modern_industrialization/pipes/MIPipes.java @@ -37,6 +37,10 @@ import aztech.modern_industrialization.pipes.electricity.ElectricityNetwork; import aztech.modern_industrialization.pipes.electricity.ElectricityNetworkData; import aztech.modern_industrialization.pipes.electricity.ElectricityNetworkNode; +import aztech.modern_industrialization.pipes.fe.FENetwork; +import aztech.modern_industrialization.pipes.fe.FENetworkData; +import aztech.modern_industrialization.pipes.fe.FENetworkNode; +import aztech.modern_industrialization.pipes.fe.FEWireScreenHandler; import aztech.modern_industrialization.pipes.fluid.FluidNetwork; import aztech.modern_industrialization.pipes.fluid.FluidNetworkData; import aztech.modern_industrialization.pipes.fluid.FluidNetworkNode; @@ -77,6 +81,9 @@ public class MIPipes { public static final Supplier> SCREEN_HANDLER_TYPE_FLUID_PIPE = MIRegistries.MENUS.register( "fluid_pipe", () -> IMenuTypeExtension.create(FluidPipeScreenHandler::new)); + public static final Supplier> SCREEN_HANDLER_TYPE_FE_WIRE = MIRegistries.MENUS.register( + "fe_wire", + () -> IMenuTypeExtension.create(FEWireScreenHandler::new)); public void setup() { BLOCK_ENTITY_TYPE_PIPE = MIRegistries.BLOCK_ENTITIES.register("pipe", @@ -88,6 +95,11 @@ public void setup() { for (PipeColor color : PipeColor.values()) { registerItemPipeType(color); } + if (MIConfig.getConfig().enableFeWires) { + for (PipeColor color : PipeColor.values()) { + registerFEWireType(color); + } + } if (MIConfig.loadAe2Compat()) { try { @@ -149,6 +161,19 @@ public void registerCableType(String englishName, String name, int color, CableT ELECTRICITY_PIPE_TIER.put(type, tier); } + public void registerFEWireType(PipeColor color) { + String wireId = color.prefix + "fe_wire"; + PipeNetworkType type = PipeNetworkType.register(MI.id(wireId), FENetwork::new, FENetworkNode::new, color.color, true); + var itemDef = MIItem.item( + color.englishNamePrefix + "FE Wire", + wireId, + prop -> new PipeItem(prop, type, new FENetworkData()), + ITEM_MODEL_GENERATOR, + SortOrder.FE_WIRES); + register(type, itemDef::asItem); + TagsToGenerate.generateTag(MITags.FE_WIRES, itemDef, "FE Wires"); + } + public void register(PipeNetworkType type, Supplier item) { if (pipeItems.containsKey(type)) { throw new IllegalStateException("Type " + type + " already registered"); diff --git a/src/main/java/aztech/modern_industrialization/pipes/fe/FENetwork.java b/src/main/java/aztech/modern_industrialization/pipes/fe/FENetwork.java new file mode 100644 index 0000000000..5ac07375dd --- /dev/null +++ b/src/main/java/aztech/modern_industrialization/pipes/fe/FENetwork.java @@ -0,0 +1,119 @@ +/* + * MIT License + * + * Copyright (c) 2020 Azercoco & Technici4n + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package aztech.modern_industrialization.pipes.fe; + +import aztech.modern_industrialization.pipes.PipeStatsCollector; +import aztech.modern_industrialization.pipes.api.PipeNetwork; +import aztech.modern_industrialization.pipes.api.PipeNetworkData; +import com.google.common.primitives.Ints; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import net.minecraft.server.level.ServerLevel; +import net.neoforged.neoforge.energy.IEnergyStorage; + +public class FENetwork extends PipeNetwork { + final PipeStatsCollector stats = new PipeStatsCollector(); + final PipeStatsCollector capacityStats = new PipeStatsCollector(); + + public FENetwork(int id, PipeNetworkData data) { + super(id, data == null ? new FENetworkData() : data); + } + + @Override + public void tick(ServerLevel world) { + // Gather targets + List targets = new ArrayList<>(); + long networkAmount = 0; + long networkCapacity = 0; + int loadedNodeCount = 0; + for (var entry : iterateTickingNodes()) { + FENetworkNode node = (FENetworkNode) entry.getNode(); + long nodeCapacity = node.gatherTargets(world, entry.getPos(), targets); + networkAmount += node.energy; + networkCapacity += nodeCapacity; + loadedNodeCount++; + } + + // Sort by descending priority + targets.sort(Comparator.comparingInt(target -> -target.priority)); + // Extract from targets into the network + int extracted = transferByPriority(IEnergyStorage::extractEnergy, targets, Ints.saturatedCast(networkCapacity - networkAmount)); + networkAmount += extracted; + // Insert into the targets from the network + int inserted = transferByPriority(IEnergyStorage::receiveEnergy, targets, Ints.saturatedCast(networkAmount)); + networkAmount -= inserted; + + for (var entry : iterateTickingNodes()) { + FENetworkNode node = (FENetworkNode) entry.getNode(); + node.energy = networkAmount / loadedNodeCount; + networkAmount -= node.energy; + loadedNodeCount--; + } + + stats.addValue(Math.max(extracted, inserted)); + capacityStats.addValue(networkCapacity); + } + + private static int transferByPriority(TransferOperation operation, List targets, int maxAmount) { + // Transfer for each section + int transferredAmount = 0; + int sectionStart = 0; + for (int i = 0; i < targets.size(); i++) { + if (i == targets.size() - 1 || targets.get(sectionStart).priority != targets.get(i + 1).priority) { + transferredAmount += transferForSection(operation, targets.subList(sectionStart, i + 1), maxAmount - transferredAmount); + sectionStart = i + 1; + } + } + return transferredAmount; + } + + private static int transferForSection(TransferOperation operation, List targets, int maxAmount) { + // Shuffle the targets for better average transfer when simulation returns the + // same result every time + Collections.shuffle(targets); + // Simulate the transfer for every target + for (FETarget target : targets) { + target.simulationResult = operation.transfer(target.storage, maxAmount, true); + } + // Sort from low result to high result + targets.sort(Comparator.comparingLong(target -> target.simulationResult)); + // Perform the transfer + int transferredAmount = 0; + for (int i = 0; i < targets.size(); i++) { + var target = targets.get(i); + int remainingTargts = targets.size() - i; + int remainingAmount = maxAmount - transferredAmount; + int targetMaxAmount = remainingAmount / remainingTargts; + transferredAmount += operation.transfer(target.storage, targetMaxAmount, false); + } + return transferredAmount; + } + + @FunctionalInterface + private interface TransferOperation { + int transfer(IEnergyStorage handler, int maxAmount, boolean simulate); + } +} diff --git a/src/main/java/aztech/modern_industrialization/pipes/fe/FENetworkData.java b/src/main/java/aztech/modern_industrialization/pipes/fe/FENetworkData.java new file mode 100644 index 0000000000..60cd62f800 --- /dev/null +++ b/src/main/java/aztech/modern_industrialization/pipes/fe/FENetworkData.java @@ -0,0 +1,49 @@ +/* + * MIT License + * + * Copyright (c) 2020 Azercoco & Technici4n + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package aztech.modern_industrialization.pipes.fe; + +import aztech.modern_industrialization.pipes.api.PipeNetworkData; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; + +public class FENetworkData extends PipeNetworkData { + @Override + public PipeNetworkData clone() { + return new FENetworkData(); + } + + @Override + public void fromTag(CompoundTag tag, HolderLookup.Provider registries) { + } + + @Override + public CompoundTag toTag(CompoundTag tag, HolderLookup.Provider registries) { + return tag; + } + + @Override + public boolean equals(Object o) { + return o instanceof FENetworkData; + } +} diff --git a/src/main/java/aztech/modern_industrialization/pipes/fe/FENetworkNode.java b/src/main/java/aztech/modern_industrialization/pipes/fe/FENetworkNode.java new file mode 100644 index 0000000000..c325a31d73 --- /dev/null +++ b/src/main/java/aztech/modern_industrialization/pipes/fe/FENetworkNode.java @@ -0,0 +1,335 @@ +/* + * MIT License + * + * Copyright (c) 2020 Azercoco & Technici4n + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package aztech.modern_industrialization.pipes.fe; + +import static aztech.modern_industrialization.pipes.api.PipeEndpointType.*; + +import aztech.modern_industrialization.MIConfig; +import aztech.modern_industrialization.api.datamaps.MIDataMaps; +import aztech.modern_industrialization.pipes.api.*; +import aztech.modern_industrialization.pipes.gui.IPipeScreenHandlerHelper; +import aztech.modern_industrialization.pipes.impl.PipeBlockEntity; +import aztech.modern_industrialization.pipes.impl.PipeNetworks; +import aztech.modern_industrialization.util.IOEnergyStorage; +import com.google.common.collect.Lists; +import com.google.common.primitives.Ints; +import java.util.List; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.entity.item.ItemEntity; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.AbstractContainerMenu; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import net.neoforged.neoforge.capabilities.BlockCapabilityCache; +import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.energy.IEnergyStorage; +import org.jetbrains.annotations.Nullable; + +public class FENetworkNode extends PipeNetworkNode { + private List connections = Lists.newArrayList(); + + long energy; + + private boolean canConnect(Level world, BlockPos pos, Direction direction) { + var storage = world.getCapability(Capabilities.EnergyStorage.BLOCK, pos.relative(direction), direction.getOpposite()); + return storage != null && (storage.canReceive() || storage.canExtract()); + } + + long gatherTargets(ServerLevel world, BlockPos pos, List targets) { + long capacity = 0; + for (FEConnection connection : connections) { + var storage = world.getCapability(Capabilities.EnergyStorage.BLOCK, pos.relative(connection.direction), + connection.direction.getOpposite()); + if (storage != null) { + int extractRate = connection.getExtractRate(); + targets.add(new FETarget(connection.priority, new IOEnergyStorage(storage, connection.canInsert(), connection.canExtract()), + extractRate)); + capacity += extractRate; + } + } + return capacity; + } + + private long getCapacity() { + long capacity = 0; + for (FEConnection connection : connections) { + capacity += connection.getExtractRate(); + } + return capacity; + } + + @Override + public PipeEndpointType[] getConnections(BlockPos pos) { + PipeEndpointType[] connections = new PipeEndpointType[6]; + for (Direction direction : network.manager.getNodeLinks(pos)) { + connections[direction.get3DDataValue()] = PIPE; + } + for (FEConnection connection : this.connections) { + connections[connection.direction.get3DDataValue()] = connection.type; + } + return connections; + } + + @Override + public void buildInitialConnections(Level world, BlockPos pos) { + for (var direction : Direction.values()) { + if (this.canConnect(world, pos, direction)) { + connections.add(new FEConnection(direction, BLOCK_IN, 0)); + } + } + } + + @Override + public void updateConnections(Level world, BlockPos pos) { + // Remove the connection to the outside world if a connection to another pipe is made. + var levelNetworks = PipeNetworks.get((ServerLevel) world); + connections.removeIf(connection -> { + for (var type : PipeNetworkType.getTypes().values()) { + var manager = levelNetworks.getOptionalManager(type); + if (manager != null && manager.hasLink(pos, connection.direction)) { + connection.dropUpgrades(world, pos); + return true; + } + } + return false; + }); + } + + @Override + public void removeConnection(Level world, BlockPos pos, Direction direction) { + // Cycle if it exists + for (int i = 0; i < connections.size(); i++) { + FEConnection conn = connections.get(i); + if (conn.direction == direction) { + if (conn.type == BLOCK_IN) + conn.type = BLOCK_IN_OUT; + else if (conn.type == BLOCK_IN_OUT) + conn.type = BLOCK_OUT; + else { + conn.dropUpgrades(world, pos); + connections.remove(i); + } + return; + } + } + } + + @Override + public void addConnection(PipeBlockEntity pipe, Player player, Level world, BlockPos pos, Direction direction) { + // Refuse if it already exists + for (FEConnection connection : connections) { + if (connection.direction == direction) { + return; + } + } + // Otherwise try to connect + if (canConnect(world, pos, direction)) { + connections.add(new FEConnection(direction, BLOCK_IN, 0)); + } + } + + @Override + public CompoundTag toTag(CompoundTag tag, HolderLookup.Provider registries) { + tag.putLong("energy", energy); + for (FEConnection connection : connections) { + CompoundTag connectionTag = new CompoundTag(); + connectionTag.putByte("connections", (byte) encodeConnectionType(connection.type)); + connectionTag.putInt("priority", connection.priority); + tag.put(connection.direction.toString(), connectionTag); + } + return tag; + } + + @Override + public void fromTag(CompoundTag tag, HolderLookup.Provider registries) { + energy = tag.getLong("energy"); + for (Direction direction : Direction.values()) { + if (tag.contains(direction.toString())) { + CompoundTag connectionTag = tag.getCompound(direction.toString()); + connections.add(new FEConnection(direction, decodeConnectionType(connectionTag.getByte("connections")), + connectionTag.getInt("priority"))); + } + } + } + + private PipeEndpointType decodeConnectionType(int i) { + return i == 0 ? BLOCK_IN : i == 1 ? BLOCK_IN_OUT : BLOCK_OUT; + } + + private int encodeConnectionType(PipeEndpointType connection) { + return connection == BLOCK_IN ? 0 : connection == BLOCK_IN_OUT ? 1 : 2; + } + + @Override + public IPipeMenuProvider getConnectionGui(Direction guiDirection, IPipeScreenHandlerHelper helper) { + for (FEConnection connection : connections) { + if (connection.direction == guiDirection) { + return connection.new ScreenHandlerFactory(helper, getType().getIdentifier()); + } + } + return null; + } + + @Override + public void appendDroppedStacks(List droppedStacks) { + for (FEConnection conn : connections) { + if (!conn.upgradeStack.isEmpty()) { + droppedStacks.add(conn.upgradeStack); + conn.upgradeStack = ItemStack.EMPTY; + } + } + } + + class FEConnection { + final Direction direction; + private PipeEndpointType type; + int priority; + private ItemStack upgradeStack = ItemStack.EMPTY; + BlockCapabilityCache cache = null; + + private FEConnection(Direction direction, PipeEndpointType type, int priority) { + this.direction = direction; + this.type = type; + this.priority = priority; + } + + boolean canInsert() { + return type == BLOCK_IN || type == BLOCK_IN_OUT; + } + + boolean canExtract() { + return type == BLOCK_OUT || type == BLOCK_IN_OUT; + } + + int getExtractRate() { + if (!canExtract()) { + return 0; + } + var upgradeData = upgradeStack.getItemHolder().getData(MIDataMaps.FE_WIRE_UPGRADES); + long extraTransferRate = upgradeData == null ? 0 : upgradeData.energyTransferBoost(); + return Ints.saturatedCast(((long) MIConfig.getConfig().baseFEWireTransfer) + (extraTransferRate * upgradeStack.getCount())); + } + + private void dropUpgrades(Level world, BlockPos pos) { + if (!upgradeStack.isEmpty()) { + world.addFreshEntity(new ItemEntity(world, pos.getX(), pos.getY(), pos.getZ(), upgradeStack)); + upgradeStack = ItemStack.EMPTY; + } + } + + private class ScreenHandlerFactory implements IPipeMenuProvider { + private final FEWireInterface iface; + private final ResourceLocation pipeType; + + private ScreenHandlerFactory(IPipeScreenHandlerHelper helper, ResourceLocation pipeType) { + this.iface = new FEWireInterface() { + @Override + public ItemStack getUpgradeStack() { + return upgradeStack; + } + + @Override + public void setUpgradeStack(ItemStack stack) { + upgradeStack = stack; + helper.callMarkDirty(); + } + + @Override + public int getConnectionType() { + return encodeConnectionType(type); + } + + @Override + public void setConnectionType(int type) { + if (0 <= type && type < 3) { + FEConnection.this.type = decodeConnectionType(type); + helper.callMarkDirty(); + helper.callSync(); + } + } + + @Override + public int getPriority(int channel) { + return priority; + } + + @Override + public void setPriority(int channel, int priority) { + FEConnection.this.priority = priority; + helper.callMarkDirty(); + } + + @Override + public boolean canUse(Player player) { + // Check that the BE is within distance + if (!helper.isWithinUseDistance(player)) { + return false; + } + // Check that this connection still exists + return helper.doesNodeStillExist(FENetworkNode.this) && connections.contains(FEConnection.this); + } + }; + this.pipeType = pipeType; + } + + @Override + public Component getDisplayName() { + return Component.translatable("item." + pipeType.getNamespace() + "." + pipeType.getPath()); + } + + @Override + public @Nullable AbstractContainerMenu createMenu(int syncId, Inventory inv, Player player) { + return new FEWireScreenHandler(syncId, inv, iface); + } + + @Override + public void writeAdditionalData(RegistryFriendlyByteBuf buf) { + iface.toBuf(buf); + } + } + } + + // Used in the Waila plugin + public InGameInfo collectNetworkInfo() { + long energy = 0, maxEnergy = 0; + var feNetwork = (FENetwork) network; + for (var entry : network.iterateTickingNodes()) { + var node = (FENetworkNode) entry.getNode(); + energy += node.energy; + maxEnergy += node.getCapacity(); + } + return new InGameInfo(energy, maxEnergy, feNetwork.stats.getValue(), feNetwork.capacityStats.getValue()); + } + + public record InGameInfo(long energy, long maxEnergy, long transfer, long maxTransfer) { + } +} diff --git a/src/main/java/aztech/modern_industrialization/pipes/fe/FETarget.java b/src/main/java/aztech/modern_industrialization/pipes/fe/FETarget.java new file mode 100644 index 0000000000..3703514801 --- /dev/null +++ b/src/main/java/aztech/modern_industrialization/pipes/fe/FETarget.java @@ -0,0 +1,41 @@ +/* + * MIT License + * + * Copyright (c) 2020 Azercoco & Technici4n + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package aztech.modern_industrialization.pipes.fe; + +import net.neoforged.neoforge.energy.IEnergyStorage; + +class FETarget { + final int priority; + final IEnergyStorage storage; + final int maxExtract; + + // A temporary value used to sort energy targets + int simulationResult; + + public FETarget(int priority, IEnergyStorage storage, int maxExtract) { + this.priority = priority; + this.storage = storage; + this.maxExtract = maxExtract; + } +} diff --git a/src/main/java/aztech/modern_industrialization/pipes/fe/FEWireInterface.java b/src/main/java/aztech/modern_industrialization/pipes/fe/FEWireInterface.java new file mode 100644 index 0000000000..eeaa92bf46 --- /dev/null +++ b/src/main/java/aztech/modern_industrialization/pipes/fe/FEWireInterface.java @@ -0,0 +1,87 @@ +/* + * MIT License + * + * Copyright (c) 2020 Azercoco & Technici4n + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package aztech.modern_industrialization.pipes.fe; + +import aztech.modern_industrialization.pipes.gui.iface.ConnectionTypeInterface; +import aztech.modern_industrialization.pipes.gui.iface.PriorityInterface; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; + +public interface FEWireInterface extends ConnectionTypeInterface, PriorityInterface { + ItemStack getUpgradeStack(); + + void setUpgradeStack(ItemStack stack); + + boolean canUse(Player player); + + static FEWireInterface ofBuf(RegistryFriendlyByteBuf buf) { + int[] type = new int[] { buf.readInt() }; + int[] priority = new int[] { buf.readInt() }; + ItemStack[] upgradeStack = new ItemStack[] { ItemStack.OPTIONAL_STREAM_CODEC.decode(buf) }; + + return new FEWireInterface() { + @Override + public ItemStack getUpgradeStack() { + return upgradeStack[0]; + } + + @Override + public void setUpgradeStack(ItemStack stack) { + upgradeStack[0] = stack; + } + + @Override + public int getConnectionType() { + return type[0]; + } + + @Override + public void setConnectionType(int type_) { + type[0] = type_; + } + + @Override + public int getPriority(int channel) { + return priority[channel]; + } + + @Override + public void setPriority(int channel, int priority_) { + priority[channel] = priority_; + } + + @Override + public boolean canUse(Player player) { + return true; + } + }; + } + + default void toBuf(RegistryFriendlyByteBuf buf) { + buf.writeInt(getConnectionType()); + buf.writeInt(getPriority(0)); + ItemStack.OPTIONAL_STREAM_CODEC.encode(buf, getUpgradeStack()); + } +} diff --git a/src/main/java/aztech/modern_industrialization/pipes/fe/FEWireScreenHandler.java b/src/main/java/aztech/modern_industrialization/pipes/fe/FEWireScreenHandler.java new file mode 100644 index 0000000000..bd702390f3 --- /dev/null +++ b/src/main/java/aztech/modern_industrialization/pipes/fe/FEWireScreenHandler.java @@ -0,0 +1,153 @@ +/* + * MIT License + * + * Copyright (c) 2020 Azercoco & Technici4n + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package aztech.modern_industrialization.pipes.fe; + +import aztech.modern_industrialization.api.datamaps.MIDataMaps; +import aztech.modern_industrialization.network.pipes.SetConnectionTypePacket; +import aztech.modern_industrialization.network.pipes.SetPriorityPacket; +import aztech.modern_industrialization.pipes.MIPipes; +import aztech.modern_industrialization.pipes.gui.PipeScreenHandler; +import aztech.modern_industrialization.util.UnsupportedOperationInventory; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.inventory.Slot; +import net.minecraft.world.item.ItemStack; + +public class FEWireScreenHandler extends PipeScreenHandler { + public static final int HEIGHT = 153; + + private final Inventory playerInventory; + public final FEWireInterface iface; + private int trackedPriority0; + private int trackedType; + + public static final int UPGRADE_SLOT_X = 72, UPGRADE_SLOT_Y = 20; + + public FEWireScreenHandler(int syncId, Inventory playerInventory, RegistryFriendlyByteBuf buf) { + this(syncId, playerInventory, FEWireInterface.ofBuf(buf)); + } + + public FEWireScreenHandler(int syncId, Inventory playerInventory, FEWireInterface iface) { + super(MIPipes.SCREEN_HANDLER_TYPE_FE_WIRE.get(), syncId); + this.playerInventory = playerInventory; + this.iface = iface; + this.trackedPriority0 = iface.getPriority(0); + this.trackedType = iface.getConnectionType(); + + addPlayerInventorySlots(playerInventory, HEIGHT); + + addSlot(new UpgradeSlot(UPGRADE_SLOT_X, UPGRADE_SLOT_Y)); + } + + @Override + protected Object getInterface() { + return iface; + } + + @Override + public ItemStack quickMoveStack(Player player, int index) { + Slot slot = slots.get(index); + if (slot != null && slot.hasItem()) { + if (index < 36) { + // Try to insert into the upgrade slot. + if (moveItemStackTo(slot.getItem(), 36, 37, false)) { + return ItemStack.EMPTY; + } + } else if (index == 36) { // upgrade slot + if (!moveItemStackTo(slot.getItem(), 0, 36, false)) { + return ItemStack.EMPTY; + } + } else { + throw new RuntimeException("Can't transfer slot from that index."); + } + } + return ItemStack.EMPTY; + } + + @Override + public boolean stillValid(Player player) { + return iface.canUse(player); + } + + @Override + public void broadcastChanges() { + super.broadcastChanges(); + if (playerInventory.player instanceof ServerPlayer player) { + if (trackedType != iface.getConnectionType()) { + trackedType = iface.getConnectionType(); + new SetConnectionTypePacket(containerId, trackedType).sendToClient(player); + } + if (trackedPriority0 != iface.getPriority(0)) { + trackedPriority0 = iface.getPriority(0); + new SetPriorityPacket(containerId, 0, trackedPriority0).sendToClient(player); + } + } + } + + public class UpgradeSlot extends Slot { + public UpgradeSlot(int x, int y) { + super(new UnsupportedOperationInventory(), -1, x, y); + } + + @Override + public boolean mayPlace(ItemStack stack) { + if (iface.getConnectionType() == 0) { + // Prevent placing motors in `IN` pipes. + return false; + } + return stack.getItemHolder().getData(MIDataMaps.FE_WIRE_UPGRADES) != null; + } + + @Override + public boolean isHighlightable() { + return iface.getConnectionType() != 0; + } + + @Override + public ItemStack getItem() { + return iface.getUpgradeStack(); + } + + @Override + public void set(ItemStack stack) { + iface.setUpgradeStack(stack); + } + + @Override + public void setChanged() { + } + + @Override + public int getMaxStackSize() { + return 64; + } + + @Override + public ItemStack remove(int amount) { + return iface.getUpgradeStack().split(amount); + } + } +} diff --git a/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java b/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java index e6417e6a2a..5b794f6471 100644 --- a/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java +++ b/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java @@ -27,6 +27,7 @@ import aztech.modern_industrialization.pipes.api.PipeNetworkData; import aztech.modern_industrialization.pipes.api.PipeNetworkType; import aztech.modern_industrialization.pipes.electricity.ElectricityNetworkData; +import aztech.modern_industrialization.pipes.fe.FENetworkData; import aztech.modern_industrialization.pipes.fluid.FluidNetworkData; import aztech.modern_industrialization.pipes.item.ItemNetworkData; import net.minecraft.core.BlockPos; @@ -168,4 +169,8 @@ public boolean isFluidPipe() { public boolean isCable() { return this.defaultData instanceof ElectricityNetworkData; } + + public boolean isFEWire() { + return this.defaultData instanceof FENetworkData; + } } diff --git a/src/main/java/aztech/modern_industrialization/util/IOEnergyStorage.java b/src/main/java/aztech/modern_industrialization/util/IOEnergyStorage.java new file mode 100644 index 0000000000..f105aceb5f --- /dev/null +++ b/src/main/java/aztech/modern_industrialization/util/IOEnergyStorage.java @@ -0,0 +1,67 @@ +/* + * MIT License + * + * Copyright (c) 2020 Azercoco & Technici4n + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package aztech.modern_industrialization.util; + +import net.neoforged.neoforge.energy.IEnergyStorage; + +public class IOEnergyStorage implements IEnergyStorage { + private final IEnergyStorage storage; + private final boolean allowInsert, allowExtract; + + public IOEnergyStorage(IEnergyStorage storage, boolean allowInsert, boolean allowExtract) { + this.storage = storage; + this.allowInsert = allowInsert; + this.allowExtract = allowExtract; + } + + @Override + public int receiveEnergy(int amount, boolean simulate) { + return allowInsert ? storage.receiveEnergy(amount, simulate) : 0; + } + + @Override + public int extractEnergy(int amount, boolean simulate) { + return allowExtract ? storage.extractEnergy(amount, simulate) : 0; + } + + @Override + public int getEnergyStored() { + return storage.getEnergyStored(); + } + + @Override + public int getMaxEnergyStored() { + return storage.getMaxEnergyStored(); + } + + @Override + public boolean canExtract() { + return allowExtract; + } + + @Override + public boolean canReceive() { + return allowInsert; + } +} diff --git a/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe.png b/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe.png new file mode 100644 index 0000000000..eaa0b69f60 Binary files /dev/null and b/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe.png differ diff --git a/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_in.png b/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_in.png new file mode 100644 index 0000000000..b5605dd05d Binary files /dev/null and b/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_in.png differ diff --git a/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_in_out.png b/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_in_out.png new file mode 100644 index 0000000000..7cfc192522 Binary files /dev/null and b/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_in_out.png differ diff --git a/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_item.png b/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_item.png new file mode 100644 index 0000000000..1bf4004d71 Binary files /dev/null and b/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_item.png differ diff --git a/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_out.png b/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_out.png new file mode 100644 index 0000000000..325766e2e2 Binary files /dev/null and b/src/main/resources/assets/modern_industrialization/textures/block/pipes/fe_out.png differ diff --git a/src/main/resources/assets/modern_industrialization/textures/gui/pipe/fe.png b/src/main/resources/assets/modern_industrialization/textures/gui/pipe/fe.png new file mode 100644 index 0000000000..8e47a5ef0f Binary files /dev/null and b/src/main/resources/assets/modern_industrialization/textures/gui/pipe/fe.png differ