diff options
author | HoleFish <48403212+HoleFish@users.noreply.github.com> | 2024-07-06 21:33:57 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-06 20:33:57 +0700 |
commit | b42fb0b4e4c59c9b4ac25416216059bb00f2322b (patch) | |
tree | 2020a7d5492edef90c4efa5cda96e2548919f7b7 /src/main/java/goodgenerator/blocks/tileEntity | |
parent | 713d392e30e162012cd7f9d327dd037f8ad2bb07 (diff) | |
download | GT5-Unofficial-b42fb0b4e4c59c9b4ac25416216059bb00f2322b.tar.gz GT5-Unofficial-b42fb0b4e4c59c9b4ac25416216059bb00f2322b.tar.bz2 GT5-Unofficial-b42fb0b4e4c59c9b4ac25416216059bb00f2322b.zip |
Add MK0 and MK4 precise casings for PrAss (#2698)
* add mk0 and mk4 casings
* fix recipe (fuck bw material)
Diffstat (limited to 'src/main/java/goodgenerator/blocks/tileEntity')
-rw-r--r-- | src/main/java/goodgenerator/blocks/tileEntity/CoolantTower.java | 8 | ||||
-rw-r--r-- | src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java | 42 |
2 files changed, 28 insertions, 22 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/CoolantTower.java b/src/main/java/goodgenerator/blocks/tileEntity/CoolantTower.java index 7117ccddf1..bfa726952b 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/CoolantTower.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/CoolantTower.java @@ -40,7 +40,7 @@ public class CoolantTower extends GT_MetaTileEntity_TooltipMultiBlockBase_EM implements IConstructable, ISurvivalConstructable { protected IStructureDefinition<CoolantTower> multiDefinition = null; - private final int CASING_INDEX = 1542; + private static final int CASING_INDEX = 1539; public CoolantTower(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -176,7 +176,7 @@ public class CoolantTower extends GT_MetaTileEntity_TooltipMultiBlockBase_EM public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection facing, int colorIndex, boolean aActive, boolean aRedstone) { if (side == facing) { - if (aActive) return new ITexture[] { casingTexturePages[12][6], TextureFactory.builder() + if (aActive) return new ITexture[] { casingTexturePages[12][3], TextureFactory.builder() .addIcon(OVERLAY_FRONT_HEAT_EXCHANGER_ACTIVE) .extFacing() .build(), @@ -185,7 +185,7 @@ public class CoolantTower extends GT_MetaTileEntity_TooltipMultiBlockBase_EM .extFacing() .glow() .build() }; - return new ITexture[] { casingTexturePages[12][6], TextureFactory.builder() + return new ITexture[] { casingTexturePages[12][3], TextureFactory.builder() .addIcon(OVERLAY_FRONT_HEAT_EXCHANGER) .extFacing() .build(), @@ -195,7 +195,7 @@ public class CoolantTower extends GT_MetaTileEntity_TooltipMultiBlockBase_EM .glow() .build() }; } - return new ITexture[] { casingTexturePages[12][6] }; + return new ITexture[] { casingTexturePages[12][3] }; } @Override diff --git a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java index 42efb94296..3b2827c873 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java @@ -27,7 +27,10 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import org.apache.commons.lang3.tuple.Pair; + import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; +import com.google.common.collect.ImmutableList; import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; @@ -93,6 +96,7 @@ public class PreciseAssembler extends GT_MetaTileEntity_ExtendedPowerMultiBlockB protected int machineTier; protected int mode; protected int energyHatchTier; + private static final int CASING_INDEX = 1541; public PreciseAssembler(String name) { super(name); @@ -126,19 +130,21 @@ public class PreciseAssembler extends GT_MetaTileEntity_ExtendedPowerMultiBlockB Muffler, ExoticEnergy.or(Energy)) .adder(PreciseAssembler::addToPAssList) - .casingIndex(1539) + .casingIndex(CASING_INDEX) .dot(1) .buildAndChain( onElementPass( x -> x.casingAmount++, StructureUtility.ofBlocksTiered( - (block, meta) -> block == Loaders.preciseUnitCasing ? meta : -2, - IntStream.range(0, 3) - .mapToObj( - meta -> org.apache.commons.lang3.tuple.Pair - .of(Loaders.preciseUnitCasing, meta)) - .collect(Collectors.toList()), - -1, + (block, meta) -> block == Loaders.impreciseUnitCasing ? -1 + : block == Loaders.preciseUnitCasing ? meta : -2, + ImmutableList.of( + Pair.of(Loaders.impreciseUnitCasing, 0), + Pair.of(Loaders.preciseUnitCasing, 0), + Pair.of(Loaders.preciseUnitCasing, 1), + Pair.of(Loaders.preciseUnitCasing, 2), + Pair.of(Loaders.preciseUnitCasing, 3)), + -2, PreciseAssembler::setCasingTier, PreciseAssembler::getCasingTier)))) .addElement('F', ofFrame(Materials.TungstenSteel)) @@ -298,16 +304,16 @@ public class PreciseAssembler extends GT_MetaTileEntity_ExtendedPowerMultiBlockB public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { this.machineTier = -1; this.casingAmount = 0; - this.casingTier = -1; + this.casingTier = -2; this.energyHatchTier = 0; if (checkPiece(mName, 4, 4, 0)) { energyHatchTier = checkEnergyHatchTier(); - if (casingTier >= 0) { - reUpdate(1539 + casingTier); + if (casingTier >= -1) { + reUpdate(CASING_INDEX + casingTier); } getBaseMetaTileEntity().sendBlockEvent(GregTechTileClientEvents.CHANGE_CUSTOM_DATA, getUpdateData()); return casingAmount >= 42 && machineTier >= 0 - && casingTier >= 0 + && casingTier >= -1 && mMaintenanceHatches.size() == 1 && !mMufflerHatches.isEmpty(); } @@ -328,7 +334,7 @@ public class PreciseAssembler extends GT_MetaTileEntity_ExtendedPowerMultiBlockB .addInfo("Precise Electronic Unit Casing won't limit recipe in Normal Mode.") .addInfo("But gives more parallel with more advanced one.") .addInfo("It is 100% faster in Normal Mode.") - .addInfo("MK-I = 32x, MK-II = 64x, MK-III = 128x") + .addInfo("Imprecise (MK-0) = 16x, MK-I = 32x, MK-II = 64x, MK-III = 128x, MK-IV = 256x") .addPollutionAmount(getPollutionPerSecond(null)) .addInfo("The structure is too complex!") .addInfo(BLUE_PRINT_INFO) @@ -441,7 +447,7 @@ public class PreciseAssembler extends GT_MetaTileEntity_ExtendedPowerMultiBlockB @Override public void receiveClientEvent(byte aEventID, byte aValue) { super.receiveClientEvent(aEventID, aValue); - if (aEventID == GregTechTileClientEvents.CHANGE_CUSTOM_DATA && (aValue & 0x80) == 0) { + if (aEventID == GregTechTileClientEvents.CHANGE_CUSTOM_DATA && ((aValue & 0x80) == 0 || aValue == -1)) { casingTier = aValue; } } @@ -449,19 +455,19 @@ public class PreciseAssembler extends GT_MetaTileEntity_ExtendedPowerMultiBlockB @Override public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection facing, int colorIndex, boolean aActive, boolean aRedstone) { - int t = Math.max(getCasingTier(), 0); + int t = Math.max(getCasingTier(), -1); if (side == facing) { - if (aActive) return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(1539 + t), + if (aActive) return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(CASING_INDEX + t), TextureFactory.of(textureFontOn), TextureFactory.builder() .addIcon(textureFontOn_Glow) .glow() .build() }; - else return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(1539 + t), + else return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(CASING_INDEX + t), TextureFactory.of(textureFontOff), TextureFactory.builder() .addIcon(textureFontOff_Glow) .glow() .build() }; - } else return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(1539 + t) }; + } else return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(CASING_INDEX + t) }; } @Override |