diff options
author | Raven Szewczyk <git@eigenraven.me> | 2024-07-20 15:35:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-20 21:35:26 +0700 |
commit | 8b077c28bea7bcc046be1e4b8485d69b4c245a43 (patch) | |
tree | 8601728fda54a11c894fa0a5533672ca40023af8 /src/main/java/com/elisis/gtnhlanth/common/hatch/TileHatchInputBeamline.java | |
parent | a33bca92fbf9ec0a1d7f42f5a1a08b807739007c (diff) | |
download | GT5-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.java | 131 |
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); + } + } +} |