diff --git a/src/main/java/net/htmlcsjs/htmlTech/common/item/HTMetaItem.java b/src/main/java/net/htmlcsjs/htmlTech/common/item/HTMetaItem.java index d7ef0bb..78ea736 100644 --- a/src/main/java/net/htmlcsjs/htmlTech/common/item/HTMetaItem.java +++ b/src/main/java/net/htmlcsjs/htmlTech/common/item/HTMetaItem.java @@ -23,6 +23,7 @@ import java.util.Arrays; import java.util.List; +import static net.htmlcsjs.htmlTech.common.item.HTMetaItems.EMPTY_LASER; import static net.htmlcsjs.htmlTech.common.item.HTMetaItems.LASER_INSPECTOR; public class HTMetaItem extends StandardMetaItem { @@ -32,6 +33,7 @@ public HTMetaItem(short offset) { @Override public void registerSubItems() { LASER_INSPECTOR = addItem(1, "tool.laser.inspector").addComponents(new LaserInspectorToolBehaviour()).setMaxStackSize(1); + EMPTY_LASER = addItem(2, "empty_laser").setMaxStackSize(1); } @Override diff --git a/src/main/java/net/htmlcsjs/htmlTech/common/item/HTMetaItems.java b/src/main/java/net/htmlcsjs/htmlTech/common/item/HTMetaItems.java index 04e24be..1e693ca 100644 --- a/src/main/java/net/htmlcsjs/htmlTech/common/item/HTMetaItems.java +++ b/src/main/java/net/htmlcsjs/htmlTech/common/item/HTMetaItems.java @@ -4,6 +4,7 @@ public class HTMetaItems { public static MetaItem.MetaValueItem LASER_INSPECTOR; + public static MetaItem.MetaValueItem EMPTY_LASER; public static void init() { HTMetaItem item = new HTMetaItem((short) 0); diff --git a/src/main/java/net/htmlcsjs/htmlTech/loaders/HTRecipeManiger.java b/src/main/java/net/htmlcsjs/htmlTech/loaders/HTRecipeManiger.java index f655fda..dd2752b 100644 --- a/src/main/java/net/htmlcsjs/htmlTech/loaders/HTRecipeManiger.java +++ b/src/main/java/net/htmlcsjs/htmlTech/loaders/HTRecipeManiger.java @@ -2,11 +2,14 @@ import net.htmlcsjs.htmlTech.loaders.recipe.LaserEquipmentLoader; import net.htmlcsjs.htmlTech.loaders.recipe.MaterialLoader; +import net.htmlcsjs.htmlTech.loaders.recipe.handlers.HTRecipeHandlers; public class HTRecipeManiger { public static void init() { LaserEquipmentLoader.init(); MaterialLoader.init(); + + HTRecipeHandlers.register(); } } diff --git a/src/main/java/net/htmlcsjs/htmlTech/loaders/recipe/LaserEquipmentLoader.java b/src/main/java/net/htmlcsjs/htmlTech/loaders/recipe/LaserEquipmentLoader.java index ca80817..ecf94da 100644 --- a/src/main/java/net/htmlcsjs/htmlTech/loaders/recipe/LaserEquipmentLoader.java +++ b/src/main/java/net/htmlcsjs/htmlTech/loaders/recipe/LaserEquipmentLoader.java @@ -20,6 +20,7 @@ import static net.htmlcsjs.htmlTech.api.HTValues.mteLength; import static net.htmlcsjs.htmlTech.common.blocks.HTMetaBlocks.HT_CASING; import static net.htmlcsjs.htmlTech.common.blocks.HTMetaBlocks.LASER_PIPES; +import static net.htmlcsjs.htmlTech.common.item.HTMetaItems.EMPTY_LASER; import static net.htmlcsjs.htmlTech.common.metatileentity.HTMetaTileEntities.*; public class LaserEquipmentLoader { @@ -114,5 +115,15 @@ public static void init() { .duration(800) .buildAndRegister(); + // Empty Laser Recipe + ASSEMBLER_RECIPES.recipeBuilder() + .input(GLASS_TUBE) + .input(lens, Glass) + .fluidInputs(Silver.getFluid(4*L)) + .output(EMPTY_LASER) + .EUt(VA[EV]) + .duration(20) + .buildAndRegister(); + } } diff --git a/src/main/java/net/htmlcsjs/htmlTech/loaders/recipe/handlers/HTRecipeHandlers.java b/src/main/java/net/htmlcsjs/htmlTech/loaders/recipe/handlers/HTRecipeHandlers.java new file mode 100644 index 0000000..0dff18a --- /dev/null +++ b/src/main/java/net/htmlcsjs/htmlTech/loaders/recipe/handlers/HTRecipeHandlers.java @@ -0,0 +1,8 @@ +package net.htmlcsjs.htmlTech.loaders.recipe.handlers; + +public class HTRecipeHandlers { + + public static void register() { + LaserHandler.register(); + } +} diff --git a/src/main/java/net/htmlcsjs/htmlTech/loaders/recipe/handlers/LaserHandler.java b/src/main/java/net/htmlcsjs/htmlTech/loaders/recipe/handlers/LaserHandler.java new file mode 100644 index 0000000..16b8a47 --- /dev/null +++ b/src/main/java/net/htmlcsjs/htmlTech/loaders/recipe/handlers/LaserHandler.java @@ -0,0 +1,29 @@ +package net.htmlcsjs.htmlTech.loaders.recipe.handlers; + +import gregtech.api.unification.material.Material; +import gregtech.api.unification.ore.OrePrefix; +import gregtech.api.util.GTUtility; +import net.htmlcsjs.htmlTech.api.unification.materials.HTMaterials; +import net.htmlcsjs.htmlTech.api.unification.materials.LaserProperties; +import net.htmlcsjs.htmlTech.common.item.HTMetaItems; + +import static gregtech.api.GTValues.VA; +import static gregtech.api.recipes.RecipeMaps.CANNER_RECIPES; +import static net.htmlcsjs.htmlTech.api.unification.materials.HTOrePrefix.laser; + +public class LaserHandler { + + public static void register() { + laser.addProcessingHandler(HTMaterials.LASER, LaserHandler::generateLaserCanningRecipe); + } + + private static void generateLaserCanningRecipe (OrePrefix orePrefix, Material material, LaserProperties properties) { + CANNER_RECIPES.recipeBuilder() + .input(HTMetaItems.EMPTY_LASER) + .fluidInputs(material.getFluid(1000)) + .output(orePrefix, material) + .duration(20000) + .EUt(VA[GTUtility.getTierByVoltage(properties.voltage)]) + .buildAndRegister(); + } +} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/empty_laser.json b/src/main/resources/assets/gregtech/models/item/metaitems/empty_laser.json new file mode 100644 index 0000000..7d9a8b5 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/empty_laser.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gregtech:items/metaitems/empty_laser" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/empty_laser.png b/src/main/resources/assets/gregtech/textures/items/metaitems/empty_laser.png new file mode 100644 index 0000000..59489ab Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/empty_laser.png differ diff --git a/src/main/resources/assets/htmltech/lang/en_us.lang b/src/main/resources/assets/htmltech/lang/en_us.lang index fa21891..a222b9b 100644 --- a/src/main/resources/assets/htmltech/lang/en_us.lang +++ b/src/main/resources/assets/htmltech/lang/en_us.lang @@ -1,6 +1,7 @@ metaitem.tool.laser.inspector.name=Laser Inspector metaitem.tool.laser.inspector.gui.title=§n§lLaser Inspector metaitem.tool.laser.inspector.gui.not_laser=§lThis isnt a laser, please put in a htmlTech Laser +metaitem.empty_laser.name=Empty Laser htmltech.laser.voltage=Max Voltage: §a%,d (§r%s§a)