Skip to content

Commit

Permalink
make gt multiblocks able to better modify their preview
Browse files Browse the repository at this point in the history
  • Loading branch information
Lyfts committed Jan 12, 2025
1 parent 90c1a11 commit b97f9c4
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import blockrenderer6343.BlockRenderer6343;
import blockrenderer6343.client.utils.BRUtil;
import gregtech.api.interfaces.INEIPreviewModifier;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.threads.RunnableMachineUpdate;
Expand Down Expand Up @@ -177,6 +178,9 @@ private int estimateTier(IConstructable multi) {
do {
holo.stackSize = tier + 1;
hasChanged = false;
if (multi instanceof INEIPreviewModifier modifier) {
modifier.onPreviewConstruct(holo);
}
multi.construct(holo, false);

} while (tier++ < MAX_TRIES && hasChanged);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import blockrenderer6343.integration.nei.GuiMultiblockHandler;
import blockrenderer6343.integration.nei.StructureHacks;
import cpw.mods.fml.relauncher.ReflectionHelper;
import gregtech.api.interfaces.INEIPreviewModifier;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.interfaces.tileentity.ITurnable;
Expand Down Expand Up @@ -173,6 +174,10 @@ protected void placeMultiblock() {
((ITurnable) tTileEntity).setFrontFacing(ForgeDirection.SOUTH);
IMetaTileEntity mte = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity();

if (mte instanceof INEIPreviewModifier modifier) {
modifier.onPreviewConstruct(getBuildTriggerStack());
}

if (mte instanceof ISurvivalConstructable survivalConstructable) {
int iterations = 0;
do {
Expand All @@ -187,10 +192,15 @@ protected void placeMultiblock() {
} else if (tTileEntity instanceof IConstructable iConstructable) {
constructable = iConstructable;
}

if (constructable != null) {
constructable.construct(getBuildTriggerStack(), false);
}

if (mte instanceof INEIPreviewModifier modifier) {
modifier.onPreviewStructureComplete(getBuildTriggerStack());
}

if (!RunnableMachineUpdate.isCurrentThreadEnabled()) {
RunnableMachineUpdate.setCurrentThreadEnabled(true);
}
Expand Down

0 comments on commit b97f9c4

Please sign in to comment.