From 083a30d6bcd041565bd93c7208a3b938c6a78e16 Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Thu, 27 Jul 2023 19:40:56 +0200 Subject: [PATCH] feat: add recipes --- .../java/net/anvilcraft/pccompat/Utils.java | 19 +++++++++++++++++++ .../mods/AppliedEnergisticsProxy.java | 14 +++----------- .../pccompat/mods/GregTechProxy.java | 18 +++++++++++++++++- .../anvilcraft/pccompat/mods/HBMProxy.java | 14 +++----------- .../pccompat/mods/MagneticraftProxy.java | 16 +++++++++++++++- .../pccompat/mods/ProjectRedProxy.java | 16 +++++++++++++++- .../pccompat/mods/RailcraftProxy.java | 14 +++++++++++++- .../pccompat/mods/RedPowerProxy.java | 17 ++++++++++++++++- .../pccompat/mods/UltraTechProxy.java | 15 ++++++++++++++- .../mods/UniversalElectricityProxy.java | 12 ++---------- 10 files changed, 117 insertions(+), 38 deletions(-) diff --git a/src/main/java/net/anvilcraft/pccompat/Utils.java b/src/main/java/net/anvilcraft/pccompat/Utils.java index 7ba3445..87f2fe6 100644 --- a/src/main/java/net/anvilcraft/pccompat/Utils.java +++ b/src/main/java/net/anvilcraft/pccompat/Utils.java @@ -1,6 +1,10 @@ package net.anvilcraft.pccompat; +import net.anvilcraft.pccompat.recipe.RecipeBuilder; +import net.anvilcraft.pccompat.recipe.ShapelessOreRecipeAdapter; +import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; public class Utils { @@ -15,4 +19,19 @@ public class Utils { = reg.registerIcon("pccompat:" + modPrefix + "_" + type + "_" + state); } } + + public static void registerConversionRecipes(Block block, int metaA, int metaB) { + ItemStack stackA = new ItemStack(block, 1, metaA); + ItemStack stackB = new ItemStack(block, 1, metaB); + + new RecipeBuilder(new ShapelessOreRecipeAdapter()) + .ingredient(stackA) + .output(stackB) + .register(); + + new RecipeBuilder(new ShapelessOreRecipeAdapter()) + .ingredient(stackB) + .output(stackA) + .register(); + } } diff --git a/src/main/java/net/anvilcraft/pccompat/mods/AppliedEnergisticsProxy.java b/src/main/java/net/anvilcraft/pccompat/mods/AppliedEnergisticsProxy.java index daa6da1..58b6cd3 100644 --- a/src/main/java/net/anvilcraft/pccompat/mods/AppliedEnergisticsProxy.java +++ b/src/main/java/net/anvilcraft/pccompat/mods/AppliedEnergisticsProxy.java @@ -7,11 +7,11 @@ import covers1624.powerconverters.api.registry.PowerSystemRegistry; import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; import cpw.mods.fml.common.registry.GameRegistry; import net.anvilcraft.pccompat.IModProxy; +import net.anvilcraft.pccompat.Utils; import net.anvilcraft.pccompat.blocks.BlockPCCConverter; import net.anvilcraft.pccompat.items.ItemBlockPowerConverter; import net.anvilcraft.pccompat.recipe.RecipeBuilder; import net.anvilcraft.pccompat.recipe.ShapedOreRecipeAdapter; -import net.anvilcraft.pccompat.recipe.ShapelessOreRecipeAdapter; import net.anvilcraft.pccompat.tiles.TileEntityAppliedEnergisticsConsumer; import net.anvilcraft.pccompat.tiles.TileEntityAppliedEnergisticsProducer; import net.minecraft.block.Block; @@ -60,19 +60,11 @@ public class AppliedEnergisticsProxy implements IModProxy { .pattern("G G", " S ", "G G") .ingredient('G', "ingotGold") .ingredient('S', stack) - .output(new ItemStack(blockPowerConverter, 1, 0)) + .output(blockPowerConverter) .register(); } - new RecipeBuilder(new ShapelessOreRecipeAdapter()) - .ingredient(new ItemStack(blockPowerConverter, 1, 0)) - .output(new ItemStack(blockPowerConverter, 1, 1)) - .register(); - - new RecipeBuilder(new ShapelessOreRecipeAdapter()) - .ingredient(new ItemStack(blockPowerConverter, 1, 1)) - .output(new ItemStack(blockPowerConverter, 1, 0)) - .register(); + Utils.registerConversionRecipes(blockPowerConverter, 0, 1); } @Override diff --git a/src/main/java/net/anvilcraft/pccompat/mods/GregTechProxy.java b/src/main/java/net/anvilcraft/pccompat/mods/GregTechProxy.java index f00cdb6..1e94984 100644 --- a/src/main/java/net/anvilcraft/pccompat/mods/GregTechProxy.java +++ b/src/main/java/net/anvilcraft/pccompat/mods/GregTechProxy.java @@ -3,12 +3,17 @@ package net.anvilcraft.pccompat.mods; import covers1624.powerconverters.api.registry.PowerSystemRegistry; import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.GregTech_API; import net.anvilcraft.pccompat.IModProxy; +import net.anvilcraft.pccompat.Utils; import net.anvilcraft.pccompat.blocks.BlockPowerConverterGregTech; import net.anvilcraft.pccompat.items.ItemBlockPowerConverter; +import net.anvilcraft.pccompat.recipe.RecipeBuilder; +import net.anvilcraft.pccompat.recipe.ShapedOreRecipeAdapter; import net.anvilcraft.pccompat.tiles.TileEntityGregTechConsumer; import net.anvilcraft.pccompat.tiles.TileEntityGregTechProducer; import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; public class GregTechProxy implements IModProxy { @@ -49,7 +54,18 @@ public class GregTechProxy implements IModProxy { } @Override - public void registerRecipes() {} + public void registerRecipes() { + for (int i = 0; i < 4; i++) { + new RecipeBuilder(new ShapedOreRecipeAdapter()) + .pattern("G G", " T ", "G G") + .ingredient('G', "ingotGold") + .ingredient('T', new ItemStack(GregTech_API.sBlockMachines, 1, 21 + i)) + .output(new ItemStack(blockPowerConverter, 1, i * 2)) + .register(); + + Utils.registerConversionRecipes(blockPowerConverter, i * 2, i * 2 + 1); + } + } @Override public int getMetaCount() { diff --git a/src/main/java/net/anvilcraft/pccompat/mods/HBMProxy.java b/src/main/java/net/anvilcraft/pccompat/mods/HBMProxy.java index a7def43..3f710a8 100644 --- a/src/main/java/net/anvilcraft/pccompat/mods/HBMProxy.java +++ b/src/main/java/net/anvilcraft/pccompat/mods/HBMProxy.java @@ -6,11 +6,11 @@ import covers1624.powerconverters.api.registry.PowerSystemRegistry; import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; import cpw.mods.fml.common.registry.GameRegistry; import net.anvilcraft.pccompat.IModProxy; +import net.anvilcraft.pccompat.Utils; import net.anvilcraft.pccompat.blocks.BlockPowerConverterHBM; import net.anvilcraft.pccompat.items.ItemBlockPowerConverter; import net.anvilcraft.pccompat.recipe.RecipeBuilder; import net.anvilcraft.pccompat.recipe.ShapedOreRecipeAdapter; -import net.anvilcraft.pccompat.recipe.ShapelessOreRecipeAdapter; import net.anvilcraft.pccompat.tiles.TileEntityHBMConsumer; import net.anvilcraft.pccompat.tiles.TileEntityHBMProducer; import net.minecraft.block.Block; @@ -51,18 +51,10 @@ public class HBMProxy implements IModProxy { .pattern("G G", " C ", "G G") .ingredient('G', "ingotGold") .ingredient('C', cable) - .output(new ItemStack(blockPowerConverter, 1, 0)) + .output(blockPowerConverter) .register(); - new RecipeBuilder(new ShapelessOreRecipeAdapter()) - .ingredient(new ItemStack(blockPowerConverter, 1, 0)) - .output(new ItemStack(blockPowerConverter, 1, 1)) - .register(); - - new RecipeBuilder(new ShapelessOreRecipeAdapter()) - .ingredient(new ItemStack(blockPowerConverter, 1, 1)) - .output(new ItemStack(blockPowerConverter, 1, 0)) - .register(); + Utils.registerConversionRecipes(blockPowerConverter, 0, 1); } @Override diff --git a/src/main/java/net/anvilcraft/pccompat/mods/MagneticraftProxy.java b/src/main/java/net/anvilcraft/pccompat/mods/MagneticraftProxy.java index b1a9d5f..6928d52 100644 --- a/src/main/java/net/anvilcraft/pccompat/mods/MagneticraftProxy.java +++ b/src/main/java/net/anvilcraft/pccompat/mods/MagneticraftProxy.java @@ -1,11 +1,16 @@ package net.anvilcraft.pccompat.mods; +import com.cout970.magneticraft.ManagerBlocks; + import covers1624.powerconverters.api.registry.PowerSystemRegistry; import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; import cpw.mods.fml.common.registry.GameRegistry; import net.anvilcraft.pccompat.IModProxy; +import net.anvilcraft.pccompat.Utils; import net.anvilcraft.pccompat.blocks.BlockPCCConverter; import net.anvilcraft.pccompat.items.ItemBlockPowerConverter; +import net.anvilcraft.pccompat.recipe.RecipeBuilder; +import net.anvilcraft.pccompat.recipe.ShapedOreRecipeAdapter; import net.anvilcraft.pccompat.tiles.TileEntityMagneticraftConsumer; import net.anvilcraft.pccompat.tiles.TileEntityMagneticraftProducer; import net.minecraft.block.Block; @@ -42,7 +47,16 @@ public class MagneticraftProxy implements IModProxy { } @Override - public void registerRecipes() {} + public void registerRecipes() { + new RecipeBuilder(new ShapedOreRecipeAdapter()) + .pattern("G G", " B ", "G G") + .ingredient('G', "ingotGold") + .ingredient('B', ManagerBlocks.battery) + .output(blockPowerConverter) + .register(); + + Utils.registerConversionRecipes(blockPowerConverter, 0, 1); + } @Override public String getModPrefix() { diff --git a/src/main/java/net/anvilcraft/pccompat/mods/ProjectRedProxy.java b/src/main/java/net/anvilcraft/pccompat/mods/ProjectRedProxy.java index 224f49b..7c596f2 100644 --- a/src/main/java/net/anvilcraft/pccompat/mods/ProjectRedProxy.java +++ b/src/main/java/net/anvilcraft/pccompat/mods/ProjectRedProxy.java @@ -3,12 +3,17 @@ package net.anvilcraft.pccompat.mods; import covers1624.powerconverters.api.registry.PowerSystemRegistry; import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; import cpw.mods.fml.common.registry.GameRegistry; +import mrtjp.projectred.ProjectRedExpansion; import net.anvilcraft.pccompat.IModProxy; +import net.anvilcraft.pccompat.Utils; import net.anvilcraft.pccompat.blocks.BlockPCCConverter; import net.anvilcraft.pccompat.items.ItemBlockPowerConverter; +import net.anvilcraft.pccompat.recipe.RecipeBuilder; +import net.anvilcraft.pccompat.recipe.ShapedOreRecipeAdapter; import net.anvilcraft.pccompat.tiles.TileEntityProjectRedConsumer; import net.anvilcraft.pccompat.tiles.TileEntityProjectRedProducer; import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; public class ProjectRedProxy implements IModProxy { @@ -42,7 +47,16 @@ public class ProjectRedProxy implements IModProxy { } @Override - public void registerRecipes() {} + public void registerRecipes() { + new RecipeBuilder(new ShapedOreRecipeAdapter()) + .pattern("G G", " B ", "G G") + .ingredient('G', "ingotGold") + .ingredient('B', new ItemStack(ProjectRedExpansion.machine2(), 1, 5)) + .output(blockPowerConverter) + .register(); + + Utils.registerConversionRecipes(blockPowerConverter, 0, 1); + } @Override public String getModPrefix() { diff --git a/src/main/java/net/anvilcraft/pccompat/mods/RailcraftProxy.java b/src/main/java/net/anvilcraft/pccompat/mods/RailcraftProxy.java index 41904e8..7f2537e 100644 --- a/src/main/java/net/anvilcraft/pccompat/mods/RailcraftProxy.java +++ b/src/main/java/net/anvilcraft/pccompat/mods/RailcraftProxy.java @@ -3,9 +3,13 @@ package net.anvilcraft.pccompat.mods; import covers1624.powerconverters.api.registry.PowerSystemRegistry; import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; import cpw.mods.fml.common.registry.GameRegistry; +import mods.railcraft.common.blocks.RailcraftBlocks; import net.anvilcraft.pccompat.IModProxy; +import net.anvilcraft.pccompat.Utils; import net.anvilcraft.pccompat.blocks.BlockPCCConverter; import net.anvilcraft.pccompat.items.ItemBlockPowerConverter; +import net.anvilcraft.pccompat.recipe.RecipeBuilder; +import net.anvilcraft.pccompat.recipe.ShapedOreRecipeAdapter; import net.anvilcraft.pccompat.tiles.TileEntityRailcraftConsumer; import net.anvilcraft.pccompat.tiles.TileEntityRailcraftProducer; import net.minecraft.block.Block; @@ -42,7 +46,15 @@ public class RailcraftProxy implements IModProxy { } @Override - public void registerRecipes() {} + public void registerRecipes() { + new RecipeBuilder(new ShapedOreRecipeAdapter()) + .pattern("G G", " W ", "G G") + .ingredient('G', "ingotGold") + .ingredient('W', RailcraftBlocks.getBlockMachineDelta()) + .output(blockPowerConverter).register(); + + Utils.registerConversionRecipes(blockPowerConverter, 0, 1); + } @Override public String getModPrefix() { diff --git a/src/main/java/net/anvilcraft/pccompat/mods/RedPowerProxy.java b/src/main/java/net/anvilcraft/pccompat/mods/RedPowerProxy.java index 2ff6421..623ab71 100644 --- a/src/main/java/net/anvilcraft/pccompat/mods/RedPowerProxy.java +++ b/src/main/java/net/anvilcraft/pccompat/mods/RedPowerProxy.java @@ -1,14 +1,20 @@ package net.anvilcraft.pccompat.mods; +import com.eloraam.redpower.RedPowerMachine; + import covers1624.powerconverters.api.registry.PowerSystemRegistry; import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; import cpw.mods.fml.common.registry.GameRegistry; import net.anvilcraft.pccompat.IModProxy; +import net.anvilcraft.pccompat.Utils; import net.anvilcraft.pccompat.blocks.BlockPCCConverter; import net.anvilcraft.pccompat.items.ItemBlockPowerConverter; +import net.anvilcraft.pccompat.recipe.RecipeBuilder; +import net.anvilcraft.pccompat.recipe.ShapedOreRecipeAdapter; import net.anvilcraft.pccompat.tiles.TileEntityRedPowerConsumer; import net.anvilcraft.pccompat.tiles.TileEntityRedPowerProducer; import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; public class RedPowerProxy implements IModProxy { @@ -42,7 +48,16 @@ public class RedPowerProxy implements IModProxy { } @Override - public void registerRecipes() {} + public void registerRecipes() { + new RecipeBuilder(new ShapedOreRecipeAdapter()) + .pattern("G G", " B ", "G G") + .ingredient('G', "ingotGold") + .ingredient('B', new ItemStack(RedPowerMachine.blockMachine, 1, 6)) + .output(blockPowerConverter) + .register(); + + Utils.registerConversionRecipes(blockPowerConverter, 0, 1); + } @Override public String getModPrefix() { diff --git a/src/main/java/net/anvilcraft/pccompat/mods/UltraTechProxy.java b/src/main/java/net/anvilcraft/pccompat/mods/UltraTechProxy.java index 75e992a..7bd8f5f 100644 --- a/src/main/java/net/anvilcraft/pccompat/mods/UltraTechProxy.java +++ b/src/main/java/net/anvilcraft/pccompat/mods/UltraTechProxy.java @@ -1,11 +1,15 @@ package net.anvilcraft.pccompat.mods; +import common.cout970.UltraTech.managers.BlockManager; import covers1624.powerconverters.api.registry.PowerSystemRegistry; import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; import cpw.mods.fml.common.registry.GameRegistry; import net.anvilcraft.pccompat.IModProxy; +import net.anvilcraft.pccompat.Utils; import net.anvilcraft.pccompat.blocks.BlockPCCConverter; import net.anvilcraft.pccompat.items.ItemBlockPowerConverter; +import net.anvilcraft.pccompat.recipe.RecipeBuilder; +import net.anvilcraft.pccompat.recipe.ShapedOreRecipeAdapter; import net.anvilcraft.pccompat.tiles.TileEntityUltraTechConsumer; import net.anvilcraft.pccompat.tiles.TileEntityUltraTechProducer; import net.minecraft.block.Block; @@ -42,7 +46,16 @@ public class UltraTechProxy implements IModProxy { } @Override - public void registerRecipes() {} + public void registerRecipes() { + new RecipeBuilder(new ShapedOreRecipeAdapter()) + .pattern("G G", " B ", "G G") + .ingredient('G', "ingotGold") + .ingredient('B', BlockManager.Storage) + .output(blockPowerConverter) + .register(); + + Utils.registerConversionRecipes(blockPowerConverter, 0, 1); + } @Override public String getModPrefix() { diff --git a/src/main/java/net/anvilcraft/pccompat/mods/UniversalElectricityProxy.java b/src/main/java/net/anvilcraft/pccompat/mods/UniversalElectricityProxy.java index 90b8f41..d5bd9c2 100644 --- a/src/main/java/net/anvilcraft/pccompat/mods/UniversalElectricityProxy.java +++ b/src/main/java/net/anvilcraft/pccompat/mods/UniversalElectricityProxy.java @@ -5,11 +5,11 @@ import covers1624.powerconverters.api.registry.PowerSystemRegistry; import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; import cpw.mods.fml.common.registry.GameRegistry; import net.anvilcraft.pccompat.IModProxy; +import net.anvilcraft.pccompat.Utils; import net.anvilcraft.pccompat.blocks.BlockPowerConverterUniversalElectricity; import net.anvilcraft.pccompat.items.ItemBlockPowerConverter; import net.anvilcraft.pccompat.recipe.RecipeBuilder; import net.anvilcraft.pccompat.recipe.ShapedOreRecipeAdapter; -import net.anvilcraft.pccompat.recipe.ShapelessOreRecipeAdapter; import net.anvilcraft.pccompat.tiles.TileEntityUniversalElectricityConsumer; import net.anvilcraft.pccompat.tiles.TileEntityUniversalElectricityProducer; import net.minecraft.block.Block; @@ -86,15 +86,7 @@ public class UniversalElectricityProxy implements IModProxy { .register(); for (int i = 0; i < 8; i += 2) { - new RecipeBuilder(new ShapelessOreRecipeAdapter()) - .ingredient(new ItemStack(blockPowerConverter, 1, i)) - .output(new ItemStack(blockPowerConverter, 1, i + 1)) - .register(); - - new RecipeBuilder(new ShapelessOreRecipeAdapter()) - .ingredient(new ItemStack(blockPowerConverter, 1, i + 1)) - .output(new ItemStack(blockPowerConverter, 1, i)) - .register(); + Utils.registerConversionRecipes(blockPowerConverter, i, i + 1); } }