diff options
author | Maxim <maxim235@gmx.de> | 2022-10-12 19:59:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-12 19:59:27 +0200 |
commit | c770197d9b5b74c23bc83879da5678eaccffd4ce (patch) | |
tree | 000a4504dec29c8b7261ffadaaeb81267a7c5a09 /src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java | |
parent | ca665ff165429d751b2c5142fa5b26d335692b43 (diff) | |
download | GT5-Unofficial-c770197d9b5b74c23bc83879da5678eaccffd4ce.tar.gz GT5-Unofficial-c770197d9b5b74c23bc83879da5678eaccffd4ce.tar.bz2 GT5-Unofficial-c770197d9b5b74c23bc83879da5678eaccffd4ce.zip |
Auto place integration (#83)
* Updated needed dependancies
* Added autoplace integration for compact fusion reactors
* Corrected energy hatch type and increased budget for large fusion
* Applied spotless
* Added autoplace integration to precise assembler
* Reverted check for now
* survival build multis
* spotless
* spotless annoyance
* Added structure check from normal compact to gtpp compact
* SC Steam turbine survival
Co-authored-by: BlueWeabo <76872108+BlueWeabo@users.noreply.github.com>
Diffstat (limited to 'src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java')
-rw-r--r-- | src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java | 46 |
1 files changed, 40 insertions, 6 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java b/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java index 900f527344..0c5b28b2f2 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java @@ -2,17 +2,20 @@ package goodgenerator.blocks.tileEntity; import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; import static goodgenerator.util.DescTextLocalization.BLUE_PRINT_INFO; -import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; +import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; +import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; +import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureDefinition; import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_TooltipMultiBlockBase_EM; import goodgenerator.crossmod.LoadedList; import goodgenerator.loader.Loaders; import goodgenerator.util.DescTextLocalization; +import gregtech.api.enums.GT_HatchElement; import gregtech.api.enums.Textures; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; @@ -25,6 +28,7 @@ import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import java.util.ArrayList; import java.util.Map; import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; @@ -38,7 +42,8 @@ import thaumcraft.api.visnet.VisNetHandler; import thaumcraft.common.config.ConfigBlocks; import thaumcraft.common.lib.crafting.ThaumcraftCraftingManager; -public class LargeEssentiaSmeltery extends GT_MetaTileEntity_TooltipMultiBlockBase_EM implements IConstructable { +public class LargeEssentiaSmeltery extends GT_MetaTileEntity_TooltipMultiBlockBase_EM + implements IConstructable, ISurvivalConstructable { private static final IIconContainer textureFontOn = new Textures.BlockIcons.CustomIcon("icons/LargeEssentiaSmeltery_On"); @@ -148,16 +153,27 @@ public class LargeEssentiaSmeltery extends GT_MetaTileEntity_TooltipMultiBlockBa .addElement( 'A', ofChain( - ofHatchAdder(LargeEssentiaSmeltery::addMaintenanceToMachineList, CASING_INDEX, 1), - ofHatchAdder(LargeEssentiaSmeltery::addInputToMachineList, CASING_INDEX, 1), - ofHatchAdder(LargeEssentiaSmeltery::addEnergyHatchToMachineList, CASING_INDEX, 1), + buildHatchAdder(LargeEssentiaSmeltery.class) + .atLeast( + GT_HatchElement.Maintenance, + GT_HatchElement.Energy, + GT_HatchElement.InputBus) + .casingIndex(CASING_INDEX) + .dot(1) + .build(), ofTileAdder( LargeEssentiaSmeltery::addEssentiaOutputHatchToMachineList, Loaders.magicCasing, 0), onElementPass( LargeEssentiaSmeltery::onCasingFound, ofBlock(Loaders.magicCasing, 0)))) - .addElement('B', ofHatchAdder(LargeEssentiaSmeltery::addMufflerToMachineList, CASING_INDEX, 2)) + .addElement( + 'B', + buildHatchAdder(LargeEssentiaSmeltery.class) + .atLeast(GT_HatchElement.Muffler) + .casingIndex(CASING_INDEX) + .dot(2) + .build()) .build(); } return this.multiDefinition; @@ -508,4 +524,22 @@ public class LargeEssentiaSmeltery extends GT_MetaTileEntity_TooltipMultiBlockBa protected void maintenance_EM() { super.maintenance_EM(); } + + @Override + public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) { + if (mMachine) return -1; + int built = 0; + built += survivialBuildPiece( + STRUCTURE_PIECE_FIRST, stackSize, 2, 2, 0, elementBudget, source, actor, false, true); + int lenght = stackSize.stackSize + 2; + if (lenght > MAX_CONFIGURABLE_LENGTH) lenght = MAX_CONFIGURABLE_LENGTH + 2; + built += survivialBuildPiece( + STRUCTURE_PIECE_LAST, stackSize, 2, 2, lenght + 1, elementBudget - built, source, actor, false, true); + while (lenght > 0) { + built += survivialBuildPiece( + STRUCTURE_PIECE_LATER, stackSize, 2, 2, lenght, elementBudget - built, source, actor, false, true); + lenght--; + } + return built; + } } |