aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/preload
diff options
context:
space:
mode:
authorMary <33456283+FourIsTheNumber@users.noreply.github.com>2024-07-31 13:13:20 -0400
committerGitHub <noreply@github.com>2024-08-01 00:13:20 +0700
commit99b0281dcf4ba451a363f811fdc6b671a239dc71 (patch)
tree7391763433587d53031b3e86dba37aa473eb332c /src/main/java/gregtech/loaders/preload
parentb4ee66356b06d0fcc75654506ed67aa57755393b (diff)
downloadGT5-Unofficial-99b0281dcf4ba451a363f811fdc6b671a239dc71.tar.gz
GT5-Unofficial-99b0281dcf4ba451a363f811fdc6b671a239dc71.tar.bz2
GT5-Unofficial-99b0281dcf4ba451a363f811fdc6b671a239dc71.zip
Laser Engraver Multi (#2771)
* Laser engraver boilerplate and structure * Made a rough, untextured laser renderer * Laser renderer is kind of functional * Laser renderer follows curve * Laser turns on/off when recipe is running * Sampsa laser * Color changing boilerplate * Registered all gt lenses * Fixed default renderer to white * NBT reading functional * Stole SE code to try and get TE working. It does not * Laser renderer finally functioning with more than 1 laser! * Moved tick count to TileLaser so lasers don't tick each other * Implemented laser source hatch * Structure update + spotless * Switched to the GT_Values tier list * Update tooltip and message player about rendering toggle * Allow fluid input/output * Attempting to give proper name to laser plate * Fixed laser plate name * New laser plate texture * New casing just dropped * Allow UMV glass to use any laser source * Switched laser to a simple line renderer instead of a model * Fixed hatch texture I missed earlier * Spotless * Controller textures * render: New laser renderer - Use GL quad rendering instead of line rendering to fix scaling - Set lightmap coords (Emit bloom glow with shaders) - Set opacity to 1.0 - Slight cleanup * Got rid of the old laser model * Tweaked some numbers on the renderer * Spotless * cleanup * I give up on rotation, I've spent too much time trying to get this to work * Got block item working I think * Fixed tooltip for laser and multicanner * Support bartworks lenses * Finishing touches * Removed unneeded assignment * Allow UXV lasers to do all recipes * Forgot to call super for nbt data... * Replace magic numbers * oops, spotless * Another magic voltage number * Rotations and mirror flips Now with spotless * fixed west/east * ok but actually fixed now, mixed up west/east with north/south * Updated laser source snapping to account for rotation being allowed * Cleanup rotation axis and remove unecessary nbt * Re-added nbt but actually load it properly now * Fix NEI displaying lots of hatches --------- Co-authored-by: LekKit <50500857+LekKit@users.noreply.github.com> Co-authored-by: BucketBrigade <apple12a1@hotmail.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/loaders/preload')
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java5
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java8
2 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
index f54f78f915..118baaf116 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
@@ -64,6 +64,7 @@ import gregtech.common.blocks.GT_Block_Casings9;
import gregtech.common.blocks.GT_Block_Concretes;
import gregtech.common.blocks.GT_Block_Drone;
import gregtech.common.blocks.GT_Block_Granites;
+import gregtech.common.blocks.GT_Block_Laser;
import gregtech.common.blocks.GT_Block_Machines;
import gregtech.common.blocks.GT_Block_Metal;
import gregtech.common.blocks.GT_Block_Ores;
@@ -84,6 +85,7 @@ import gregtech.common.items.GT_NeutronReflector_Item;
import gregtech.common.items.GT_TierDrone;
import gregtech.common.items.GT_VolumetricFlask;
import gregtech.common.tileentities.render.TileDrone;
+import gregtech.common.tileentities.render.TileLaser;
public class GT_Loader_Item_Block_And_Fluid implements Runnable {
@@ -546,6 +548,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GregTech_API.sBlockStones = new GT_Block_Stones();
GregTech_API.sBlockOres1 = new GT_Block_Ores();
GregTech_API.sDroneRender = new GT_Block_Drone();
+ GregTech_API.sLaserRender = new GT_Block_Laser();
// meta ID order, DO NOT CHANGE ORDER
GregTech_API.sBlockMetal1 = new GT_Block_Metal(
@@ -671,6 +674,8 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GT_Log.out.println("GT_Mod: Registering the DroneRender.");
GameRegistry.registerTileEntity(TileDrone.class, "DroneRender");
+ GT_Log.out.println("GT_Mod: Registering the LaserRender.");
+ GameRegistry.registerTileEntity(TileLaser.class, "LaserRenderer");
GT_Log.out.println("GT_Mod: Registering the BaseMetaPipeEntity.");
GameRegistry.registerTileEntity(BaseMetaPipeEntity.class, "BaseMetaPipeEntity");
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
index 2a7c39d3e0..c72459e9cf 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -147,6 +147,7 @@ import static gregtech.api.enums.MetaTileEntityIDs.HULL_ZPM;
import static gregtech.api.enums.MetaTileEntityIDs.IMPLOSION_COMPRESSOR_CONTROLLER;
import static gregtech.api.enums.MetaTileEntityIDs.INDUSTRIAL_APIARY;
import static gregtech.api.enums.MetaTileEntityIDs.INDUSTRIAL_ELECTROMAGNETIC_SEPARATOR_CONTROLLER;
+import static gregtech.api.enums.MetaTileEntityIDs.INDUSTRIAL_LASER_ENGRAVER_CONTROLLER;
import static gregtech.api.enums.MetaTileEntityIDs.INPUT_BUS_EV;
import static gregtech.api.enums.MetaTileEntityIDs.INPUT_BUS_HV;
import static gregtech.api.enums.MetaTileEntityIDs.INPUT_BUS_IV;
@@ -556,6 +557,7 @@ import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_FusionCompu
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_HeatExchanger;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_ImplosionCompressor;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_IndustrialElectromagneticSeparator;
+import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_IndustrialLaserEngraver;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_IntegratedOreFactory;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_LargeBoiler_Bronze;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_LargeBoiler_Steel;
@@ -1052,6 +1054,12 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
new GT_MetaTileEntity_MultiCanner(MULTI_CANNER_CONTROLLER.ID, "multimachine.canner", "TurboCan Pro")
.getStackForm(1));
+ ItemList.Machine_Multi_IndustrialLaserEngraver.set(
+ new GT_MetaTileEntity_IndustrialLaserEngraver(
+ INDUSTRIAL_LASER_ENGRAVER_CONTROLLER.ID,
+ "multimachine.engraver",
+ "High Energy Laser Emitter").getStackForm(1));
+
ItemList.Machine_Multi_Lathe.set(
new GT_MetaTileEntity_MultiLathe(
MULTI_LATHE_CONTROLLER.ID,