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)