diff options
Diffstat (limited to 'src/main/java')
5 files changed, 89 insertions, 42 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 diff --git a/src/main/java/goodgenerator/loader/Loaders.java b/src/main/java/goodgenerator/loader/Loaders.java index 11875703a3..22711a1bee 100644 --- a/src/main/java/goodgenerator/loader/Loaders.java +++ b/src/main/java/goodgenerator/loader/Loaders.java @@ -209,10 +209,13 @@ public class Loaders { public static final Block pressureResistantWalls = new Casing( "pressureResistantWalls", new String[] { GoodGenerator.MOD_ID + ":pressureResistantWalls" }); + public static final Block impreciseUnitCasing = new Casing( + "impreciseUnitCasing", + new String[] { GoodGenerator.MOD_ID + ":preciseUnitCasing/0" }); public static final Block preciseUnitCasing = new Casing( "preciseUnitCasing", new String[] { GoodGenerator.MOD_ID + ":preciseUnitCasing/1", GoodGenerator.MOD_ID + ":preciseUnitCasing/2", - GoodGenerator.MOD_ID + ":preciseUnitCasing/3" }); + GoodGenerator.MOD_ID + ":preciseUnitCasing/3", GoodGenerator.MOD_ID + ":preciseUnitCasing/4" }); public static final Block compactFusionCoil = new Casing( "compactFusionCoil", new String[] { GoodGenerator.MOD_ID + ":fuison/1", GoodGenerator.MOD_ID + ":fuison/2", @@ -368,6 +371,7 @@ public class Loaders { .registerBlock(supercriticalFluidTurbineCasing, MyItemBlocks.class, "supercriticalFluidTurbineCasing"); GameRegistry.registerBlock(componentAssemblylineCasing, MyItemBlocks.class, "componentAssemblylineCasing"); GameRegistry.registerBlock(pressureResistantWalls, MyItemBlocks.class, "pressureResistantWalls"); + GameRegistry.registerBlock(impreciseUnitCasing, MyItemBlocks.class, "impreciseUnitCasing"); GameRegistry.registerBlock(preciseUnitCasing, MyItemBlocks.class, "preciseUnitCasing"); GameRegistry.registerBlock(compactFusionCoil, MyItemBlocks.class, "compactFusionCoil"); GameRegistry.registerItem(radiationProtectionPlate, "radiationProtectionPlate", GoodGenerator.MOD_ID); @@ -451,13 +455,17 @@ public class Loaders { Textures.BlockIcons.casingTexturePages[GoodGeneratorTexturePage][2] = TextureFactory .of(supercriticalFluidTurbineCasing); Textures.BlockIcons.casingTexturePages[GoodGeneratorTexturePage][3] = TextureFactory - .of(preciseUnitCasing, 0); + .of(GregTech_API.sBlockConcretes, 8); Textures.BlockIcons.casingTexturePages[GoodGeneratorTexturePage][4] = TextureFactory - .of(preciseUnitCasing, 1); + .of(impreciseUnitCasing, 0); Textures.BlockIcons.casingTexturePages[GoodGeneratorTexturePage][5] = TextureFactory - .of(preciseUnitCasing, 2); + .of(preciseUnitCasing, 0); Textures.BlockIcons.casingTexturePages[GoodGeneratorTexturePage][6] = TextureFactory - .of(GregTech_API.sBlockConcretes, 8); + .of(preciseUnitCasing, 1); + Textures.BlockIcons.casingTexturePages[GoodGeneratorTexturePage][7] = TextureFactory + .of(preciseUnitCasing, 2); + Textures.BlockIcons.casingTexturePages[GoodGeneratorTexturePage][8] = TextureFactory + .of(preciseUnitCasing, 3); } } diff --git a/src/main/java/goodgenerator/loader/RecipeLoader_02.java b/src/main/java/goodgenerator/loader/RecipeLoader_02.java index 51c8f5a641..42568330bf 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader_02.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader_02.java @@ -1,5 +1,6 @@ package goodgenerator.loader; +import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getItemContainer; import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; @@ -1178,21 +1179,6 @@ public class RecipeLoader_02 { .eut(TierEU.RECIPE_IV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() - .itemInputs( - ItemList.Casing_ZPM.get(3), - ItemList.Robot_Arm_EV.get(2), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, MyMaterial.lumiium.getBridgeMaterial(), 2), - MyMaterial.marCeM200.get(OrePrefixes.plateDouble, 2), - ItemRefer.HiC_T1.get(1), - MyMaterial.signalium.get(OrePrefixes.bolt, 32), - MyMaterial.titaniumBetaC.get(OrePrefixes.gearGtSmall, 8)) - .fluidInputs(Materials.BlackSteel.getMolten(576)) - .itemOutputs(ItemRefer.Precise_Electronic_Unit_T1.get(2)) - .duration(40 * SECONDS) - .eut(TierEU.RECIPE_IV) - .addTo(assemblerRecipes); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( new ItemStack[] { ItemRefer.HiC_T1.get(2), GT_ModHandler.getModItem("dreamcraft", "item.EngravedDiamondCrystalChip", 8), @@ -1281,6 +1267,36 @@ public class RecipeLoader_02 { GT_Values.RA.stdBuilder() .itemInputs( + ItemList.Casing_LuV.get(3), + ItemList.Robot_Arm_EV.get(2), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Osmiridium, 2), + MyMaterial.marM200.get(OrePrefixes.plateDouble, 2), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 1), + ELEMENT.getInstance().RUTHENIUM.getBolt(32), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Platinum, 8)) + .fluidInputs(MyMaterial.zircaloy4.getMolten(576)) + .itemOutputs(ItemRefer.Imprecise_Electronic_Unit.get(2)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Casing_ZPM.get(3), + ItemList.Robot_Arm_IV.get(2), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, MyMaterial.lumiium.getBridgeMaterial(), 2), + MyMaterial.marCeM200.get(OrePrefixes.plateDouble, 2), + ItemRefer.HiC_T1.get(1), + MyMaterial.signalium.get(OrePrefixes.bolt, 32), + MyMaterial.titaniumBetaC.get(OrePrefixes.gearGtSmall, 8)) + .fluidInputs(Materials.BlackSteel.getMolten(576)) + .itemOutputs(ItemRefer.Precise_Electronic_Unit_T1.get(2)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( ItemList.Casing_UV.get(3), ItemList.Robot_Arm_LuV.get(2), GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.ElectrumFlux, 4), @@ -1308,6 +1324,21 @@ public class RecipeLoader_02 { .duration(4 * MINUTES) .eut(TierEU.RECIPE_UV) .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Casing_UEV").get(3), + ItemList.Field_Generator_UV.get(2), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 8), + ItemRefer.HiC_T4.get(1), + ItemRefer.Precise_Electronic_Unit_T3.get(1), + MyMaterial.enrichedNaquadahAlloy.get(OrePrefixes.bolt, 32), + MyMaterial.tairitsu.get(OrePrefixes.gearGtSmall, 8)) + .fluidInputs(MyMaterial.preciousMetalAlloy.getMolten(1152)) + .itemOutputs(ItemRefer.Precise_Electronic_Unit_T4.get(4)) + .duration(4 * MINUTES) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); } // Compact MK1 Fusion Coil diff --git a/src/main/java/goodgenerator/util/ItemRefer.java b/src/main/java/goodgenerator/util/ItemRefer.java index 400199ef03..3662bb5bd1 100644 --- a/src/main/java/goodgenerator/util/ItemRefer.java +++ b/src/main/java/goodgenerator/util/ItemRefer.java @@ -124,9 +124,11 @@ public final class ItemRefer { public static ItemRefer YOTTank_Cell_T10 = getItemStack(yottaFluidTankCell, 9); public static ItemRefer SC_Turbine_Casing = getItemStack(supercriticalFluidTurbineCasing); public static ItemRefer Pressure_Resistant_Wall = getItemStack(pressureResistantWalls); + public static ItemRefer Imprecise_Electronic_Unit = getItemStack(impreciseUnitCasing, 0); public static ItemRefer Precise_Electronic_Unit_T1 = getItemStack(preciseUnitCasing, 0); public static ItemRefer Precise_Electronic_Unit_T2 = getItemStack(preciseUnitCasing, 1); public static ItemRefer Precise_Electronic_Unit_T3 = getItemStack(preciseUnitCasing, 2); + public static ItemRefer Precise_Electronic_Unit_T4 = getItemStack(preciseUnitCasing, 3); public static ItemRefer Compact_Fusion_Coil_T0 = getItemStack(compactFusionCoil, 0); public static ItemRefer Compact_Fusion_Coil_T1 = getItemStack(compactFusionCoil, 1); public static ItemRefer Compact_Fusion_Coil_T2 = getItemStack(compactFusionCoil, 2); |