aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/elisis/gtnhlanth/common/hatch/TileHatchInputBeamline.java
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-07-20 15:35:26 +0100
committerGitHub <noreply@github.com>2024-07-20 21:35:26 +0700
commit8b077c28bea7bcc046be1e4b8485d69b4c245a43 (patch)
tree8601728fda54a11c894fa0a5533672ca40023af8 /src/main/java/com/elisis/gtnhlanth/common/hatch/TileHatchInputBeamline.java
parenta33bca92fbf9ec0a1d7f42f5a1a08b807739007c (diff)
downloadGT5-Unofficial-8b077c28bea7bcc046be1e4b8485d69b4c245a43.tar.gz
GT5-Unofficial-8b077c28bea7bcc046be1e4b8485d69b4c245a43.tar.bz2
GT5-Unofficial-8b077c28bea7bcc046be1e4b8485d69b4c245a43.zip
Beamline (#2619)
* Beamline * Remove hardcoded dreamcraft items and spotless * Remove logs and fix auto structure check * Remove logs and fix auto structure check * Fix typo and synchrotron high MF scaling * sa (cherry picked from commit b2796d95538a1b683b4a98bf6cb0f8fe21404fbd) * Add multi textures, add structuredesc info, remove test TC input, add synchrotron/input/output recipes * Spotless * Prevent mob spawning on casings * Fix LINAC glass requirement, make synchrotron structure less ugly, add last recipe * Spotless * Add placeholder particle textures * Add some mask recipes I missed * Spotless apply for branch lanth-beamline for #2619 (#2630) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Add further error messages to LINAC and Synchrotron, fix MM & LaB6 recipes * Spotless apply for branch lanth-beamline for #2619 (#2648) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Minor changes, add more multi error messages & 9x U-238 SC recipe * Spotless apply for branch lanth-beamline for #2619 (#2651) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Missed a change * Spotless apply for branch lanth-beamline for #2619 (#2652) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Update beamline desc * Remove comments, move coolant fluid check to Util class * Spotless * Spotless apply for branch lanth-beamline for #2619 (#2666) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Fix Mu-Metal recipe output amount, tool stats for MM & LaB6 * Spotless * Fix multi hatch textures * Spotless apply for branch lanth-beamline for #2619 (#2676) spotlessApply Co-authored-by: GitHub GTNH Actions <> * Increase Synchrotron output rate eut & antenna tier scaling, in general improve output rates, buff all TC recipes' processing time * Fix misleading BL tooltip * update * remove import * Buff higher-tier wafer recipes for each IC, from a 4x to 3x increase of recipe amount per two wafer tier increases * Remove RA1 calls in beamline (#2716) * Spotless apply for branch lanth-beamline for #2619 (#2717) spotlessApply Co-authored-by: GitHub GTNH Actions <> * fix * Spotless apply for branch lanth-beamline for #2619 (#2733) spotlessApply Co-authored-by: GitHub GTNH Actions <> --------- Co-authored-by: unknown <gtandemmodding@gmail.com> Co-authored-by: Elisis <jarrad.thomson@gmail.com> Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'src/main/java/com/elisis/gtnhlanth/common/hatch/TileHatchInputBeamline.java')
-rw-r--r--src/main/java/com/elisis/gtnhlanth/common/hatch/TileHatchInputBeamline.java131
1 files changed, 131 insertions, 0 deletions
diff --git a/src/main/java/com/elisis/gtnhlanth/common/hatch/TileHatchInputBeamline.java b/src/main/java/com/elisis/gtnhlanth/common/hatch/TileHatchInputBeamline.java
new file mode 100644
index 0000000000..e5a5c9df2f
--- /dev/null
+++ b/src/main/java/com/elisis/gtnhlanth/common/hatch/TileHatchInputBeamline.java
@@ -0,0 +1,131 @@
+package com.elisis.gtnhlanth.common.hatch;
+
+import static gregtech.api.enums.Dyes.MACHINE_METAL;
+
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import com.elisis.gtnhlanth.common.beamline.BeamLinePacket;
+import com.elisis.gtnhlanth.common.beamline.IConnectsToBeamline;
+import com.github.technus.tectech.util.TT_Utility;
+
+import gregtech.api.enums.Dyes;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.objects.GT_RenderedTexture;
+
+public class TileHatchInputBeamline extends TileHatchBeamlineConnector<BeamLinePacket> {
+
+ private boolean delay = true;
+
+ private static final String activeIconPath = "iconsets/OVERLAY_BI_ACTIVE";
+ private static final String sideIconPath = "iconsets/OVERLAY_BI_SIDES";
+ private static final String connIconPath = "iconsets/BI_CONN";
+
+ private static final Textures.BlockIcons.CustomIcon activeIcon = new Textures.BlockIcons.CustomIcon(activeIconPath);
+ private static final Textures.BlockIcons.CustomIcon sideIcon = new Textures.BlockIcons.CustomIcon(sideIconPath);
+ private static final Textures.BlockIcons.CustomIcon connIcon = new Textures.BlockIcons.CustomIcon(connIconPath);
+
+ public TileHatchInputBeamline(int id, String name, String nameRegional, int tier) {
+
+ super(id, name, nameRegional, tier, "");
+ TT_Utility.setTier(tier, this);
+ }
+
+ public TileHatchInputBeamline(String name, int tier, String desc, ITexture[][][] textures) {
+ super(name, tier, desc, textures);
+ }
+
+ @Override
+ public ITexture[] getTexturesActive(ITexture aBaseTexture) {
+ return new ITexture[] { aBaseTexture,
+ new GT_RenderedTexture(
+ activeIcon,
+ Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())),
+ new GT_RenderedTexture(connIcon) };
+ }
+
+ @Override
+ public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
+ return new ITexture[] { aBaseTexture,
+ new GT_RenderedTexture(
+ sideIcon,
+ Dyes.getModulation(getBaseMetaTileEntity().getColorization(), MACHINE_METAL.getRGBA())),
+ new GT_RenderedTexture(connIcon) };
+ }
+
+ @Override
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity tile) {
+ return new TileHatchInputBeamline(mName, mTier, mDescription, mTextures);
+ }
+
+ @Override
+ protected BeamLinePacket loadPacketFromNBT(NBTTagCompound tag) {
+ return new BeamLinePacket(tag);
+ }
+
+ @Override
+ public boolean isInputFacing(ForgeDirection side) {
+ return side == getBaseMetaTileEntity().getFrontFacing();
+ }
+
+ @Override
+ public boolean isDataInputFacing(ForgeDirection side) {
+ return isInputFacing(side);
+ }
+
+ @Override
+ public boolean isOutputFacing(ForgeDirection aSide) {
+ return false;
+ }
+
+ @Override
+ public boolean isFacingValid(ForgeDirection facing) {
+ return true;
+ }
+
+ @Override
+ public boolean isSimpleMachine() {
+ return true;
+ }
+
+ @Override
+ public boolean canConnect(ForgeDirection side) {
+ return isInputFacing(side);
+ }
+
+ @Override
+ public IConnectsToBeamline getNext(IConnectsToBeamline source) {
+ return null;
+ }
+
+ @Override
+ public String[] getDescription() {
+ return null;
+ }
+
+ public void setContents(BeamLinePacket in) {
+ if (in == null) {
+ this.q = null;
+ } else {
+ if (in.getContent()
+ .getRate() > 0) {
+ this.q = in;
+ delay = true;
+ } else {
+ this.q = null;
+ }
+ }
+ }
+
+ @Override
+ public void moveAround(IGregTechTileEntity tile) {
+ if (delay) {
+ delay = false;
+ } else {
+ this.setContents(null);
+ }
+ }
+}