diff --git a/src/main/java/goodgenerator/blocks/regularBlock/BlockTurbineCasing.java b/src/main/java/goodgenerator/blocks/regularBlock/BlockTurbineCasing.java index 38aeae89cdc..2638ae337e0 100644 --- a/src/main/java/goodgenerator/blocks/regularBlock/BlockTurbineCasing.java +++ b/src/main/java/goodgenerator/blocks/regularBlock/BlockTurbineCasing.java @@ -1,89 +1,28 @@ package goodgenerator.blocks.regularBlock; import net.minecraft.block.Block; -import net.minecraft.tileentity.TileEntity; import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; -import goodgenerator.blocks.tileEntity.base.MTELargeTurbineBase; import goodgenerator.client.render.BlockRenderHandler; import goodgenerator.main.GoodGenerator; import gregtech.api.enums.Textures; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.render.TextureFactory; public class BlockTurbineCasing extends BlockCasing implements ITextureBlock { - public static IIconContainer[][] turbineShape = new IIconContainer[3][9]; public IIconContainer base; - static { - for (int i = 0; i < 3; i++) for (int j = 1; j <= 9; j++) - turbineShape[i][j - 1] = new Textures.BlockIcons.CustomIcon("icons/turbines/TURBINE_" + i + j); - } - public BlockTurbineCasing(String name, String texture) { super(name, new String[] { GoodGenerator.MOD_ID + ":" + texture }); base = new Textures.BlockIcons.CustomIcon("icons/" + texture); } - private static int isTurbineControllerWithSide(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection side) { - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if (!(tTileEntity instanceof IGregTechTileEntity tTile)) return 0; - if (tTile.getMetaTileEntity() instanceof MTELargeTurbineBase && tTile.getFrontFacing() == side) { - if (tTile.isActive()) return 1; - return ((MTELargeTurbineBase) tTile.getMetaTileEntity()).hasTurbine() ? 2 : 3; - } - return 0; - } - - public ITexture[] getTurbineCasing(int iconIndex, boolean active, boolean hasTurbine) { - int states = active ? 0 : hasTurbine ? 1 : 2; - return new ITexture[] { TextureFactory.of(base), TextureFactory.of(turbineShape[states][iconIndex]) }; - } - @Override public ITexture[] getTexture(Block aBlock, ForgeDirection side, IBlockAccess aWorld, int xCoord, int yCoord, int zCoord) { - final int ordinalSide = side.ordinal(); - int tInvertLeftRightMod = ordinalSide % 2 * 2 - 1; - switch (ordinalSide / 2) { - case 0: - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - int tState; - if ((tState = isTurbineControllerWithSide(aWorld, xCoord + j, yCoord, zCoord + i, side)) != 0) { - return getTurbineCasing(4 - i * 3 - j, tState == 1, tState == 2); - } - } - } - break; - case 1: - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - int tState; - if ((tState = isTurbineControllerWithSide(aWorld, xCoord + j, yCoord + i, zCoord, side)) != 0) { - return getTurbineCasing(4 + i * 3 - j * tInvertLeftRightMod, tState == 1, tState == 2); - } - } - } - break; - case 2: - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - int tState; - if ((tState = isTurbineControllerWithSide(aWorld, xCoord, yCoord + i, zCoord + j, side)) != 0) { - return getTurbineCasing(4 + i * 3 + j * tInvertLeftRightMod, tState == 1, tState == 2); - } - } - } - break; - } return getTexture(aBlock, side); } diff --git a/src/main/java/goodgenerator/blocks/tileEntity/MTESupercriticalFluidTurbine.java b/src/main/java/goodgenerator/blocks/tileEntity/MTESupercriticalFluidTurbine.java index 0a3ec6fc1a4..bc813f01498 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/MTESupercriticalFluidTurbine.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/MTESupercriticalFluidTurbine.java @@ -138,6 +138,10 @@ public int getCasingTextureIndex() { return 1538; } + public boolean isNewStyleRendering() { + return true; + } + @Override protected MultiblockTooltipBuilder createTooltip() { final MultiblockTooltipBuilder tt = new MultiblockTooltipBuilder(); diff --git a/src/main/java/goodgenerator/blocks/tileEntity/base/MTELargeTurbineBase.java b/src/main/java/goodgenerator/blocks/tileEntity/base/MTELargeTurbineBase.java index 843a42ac806..75f234a9fbb 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/base/MTELargeTurbineBase.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/base/MTELargeTurbineBase.java @@ -6,18 +6,20 @@ import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; import static gregtech.api.enums.HatchElement.*; +import static gregtech.api.enums.Textures.BlockIcons.*; import static gregtech.api.util.GTStructureUtility.*; import static gregtech.api.util.GTUtility.validMTEList; import java.util.ArrayList; import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; +import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; @@ -25,10 +27,11 @@ import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; -import com.gtnewhorizon.structurelib.structure.IStructureElementCheckOnly; import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; import com.gtnewhorizon.structurelib.structure.StructureDefinition; +import gregtech.api.interfaces.IHatchElement; +import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.MetaGeneratedTool; import gregtech.api.metatileentity.implementations.MTEEnhancedMultiBlockBase; @@ -36,6 +39,7 @@ import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.util.GTUtility; +import gregtech.api.util.GTUtilityClient; import gregtech.api.util.TurbineStatCalculator; import gregtech.api.util.shutdown.ShutDownReasonRegistry; import gregtech.common.items.MetaGeneratedTool01; @@ -52,26 +56,20 @@ protected IStructureDefinition computeValue(Class type) .addShape( STRUCTURE_PIECE_MAIN, transpose( - new String[][] { { " ", "xxxxx", "xxxxx", "xxxxx", "xxxxx", }, - { " --- ", "xcccx", "xchcx", "xchcx", "xcccx", }, - { " --- ", "xc~cx", "xh-hx", "xh-hx", "xcdcx", }, - { " --- ", "xcccx", "xchcx", "xchcx", "xcccx", }, - { " ", "xxxxx", "xxxxx", "xxxxx", "xxxxx", }, })) + new String[][] { { " ", " ", " ", " ", " ", }, + { " --- ", " ccc ", " hhh ", " hhh ", " hhh ", }, + { " --- ", " c~c ", " h-h ", " h-h ", " hdh ", }, + { " --- ", " ccc ", " hhh ", " hhh ", " hhh ", }, + { " ", " ", " ", " ", " ", }, })) .addElement('c', lazy(t -> ofBlock(t.getCasingBlock(), t.getCasingMeta()))) .addElement('d', lazy(t -> Dynamo.newAny(t.getCasingTextureIndex(), 1))) .addElement( 'h', lazy( - t -> buildHatchAdder(MTELargeTurbineBase.class) - .atLeast(Maintenance, InputHatch, OutputHatch, OutputBus, InputBus, Muffler) + t -> buildHatchAdder(MTELargeTurbineBase.class).atLeast(t.getHatchElements()) .casingIndex(t.getCasingTextureIndex()) .dot(2) .buildAndChain(t.getCasingBlock(), t.getCasingMeta()))) - .addElement('x', (IStructureElementCheckOnly) (aContext, aWorld, aX, aY, aZ) -> { - TileEntity tTile = aWorld.getTileEntity(aX, aY, aZ); - return !(tTile instanceof IGregTechTileEntity) - || !(((IGregTechTileEntity) tTile).getMetaTileEntity() instanceof MTELargeTurbineBase); - }) .build(); } }; @@ -85,6 +83,12 @@ protected IStructureDefinition computeValue(Class type) protected int overflowMultiplier = 0; protected long maxPower = 0; + // client side stuff + protected boolean mHasTurbine; + // mMachine got overwritten by StructureLib extended facing query response + // so we use a separate field for this + protected boolean mFormed; + public MTELargeTurbineBase(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); } @@ -103,6 +107,25 @@ public IStructureDefinition getStructureDefinition() { return STRUCTURE_DEFINITION.get(getClass()); } + @SuppressWarnings("unchecked") + protected IHatchElement[] getHatchElements() { + if (getPollutionPerTick(null) == 0) + return new IHatchElement[] { Maintenance, InputHatch, OutputHatch, OutputBus, InputBus }; + return new IHatchElement[] { Maintenance, InputHatch, OutputHatch, OutputBus, InputBus, Muffler }; + } + + @Override + public boolean checkStructure(boolean aForceReset, IGregTechTileEntity aBaseMetaTileEntity) { + boolean f = super.checkStructure(aForceReset, aBaseMetaTileEntity); + if (f && getBaseMetaTileEntity().isServerSide()) { + // while is this a client side field, blockrenderer will reuse the server world for client side rendering + // so we must set it as well... + mFormed = true; + return true; + } + return f; + } + @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { maxPower = 0; @@ -120,6 +143,47 @@ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack a public abstract int getCasingTextureIndex(); + public boolean isNewStyleRendering() { + return false; + } + + public IIconContainer[] getTurbineTextureActive() { + return TURBINE_NEW_ACTIVE; + } + + public IIconContainer[] getTurbineTextureFull() { + return TURBINE_NEW; + } + + public IIconContainer[] getTurbineTextureEmpty() { + return TURBINE_NEW_EMPTY; + } + + @Override + public boolean renderInWorld(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, RenderBlocks aRenderer) { + if (!isNewStyleRendering() || !mFormed) return false; + + IIconContainer[] tTextures; + if (getBaseMetaTileEntity().isActive()) tTextures = getTurbineTextureActive(); + else if (hasTurbine()) tTextures = getTurbineTextureFull(); + else tTextures = getTurbineTextureEmpty(); + GTUtilityClient + .renderTurbineOverlay(aWorld, aX, aY, aZ, aRenderer, getExtendedFacing(), getCasingBlock(), tTextures); + return false; + } + + @Override + public void onValueUpdate(byte aValue) { + mHasTurbine = (aValue & 0x1) != 0; + mFormed = (aValue & 0x2) != 0; + super.onValueUpdate(aValue); + } + + @Override + public byte getUpdateData() { + return (byte) ((hasTurbine() ? 1 : 0) | (mMachine ? 2 : 0)); + } + @Override public boolean addToMachineList(IGregTechTileEntity tTileEntity, int aBaseCasingIndex) { return addMaintenanceToMachineList(tTileEntity, getCasingTextureIndex()) diff --git a/src/main/java/gregtech/api/util/GTUtilityClient.java b/src/main/java/gregtech/api/util/GTUtilityClient.java index a6039e10d30..71ebec7e95b 100644 --- a/src/main/java/gregtech/api/util/GTUtilityClient.java +++ b/src/main/java/gregtech/api/util/GTUtilityClient.java @@ -3,15 +3,23 @@ import java.lang.reflect.Field; import java.util.List; +import net.minecraft.block.Block; import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.common.util.ForgeDirection; import com.google.common.collect.Lists; +import com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing; import cpw.mods.fml.relauncher.ReflectionHelper; +import gregtech.api.enums.Dyes; +import gregtech.api.interfaces.IIconContainer; +import gregtech.common.render.GTRenderUtil; public class GTUtilityClient { @@ -49,4 +57,53 @@ public static List getTooltip(ItemStack aStack, boolean aGuiStyle) { return Lists.newArrayList(aStack.getDisplayName()); } } + + public static void renderTurbineOverlay(IBlockAccess aWorld, int aX, int aY, int aZ, RenderBlocks aRenderer, + ExtendedFacing tExtendedFacing, Block tBlockOverride, IIconContainer[] tTextures) { + int[] tABCCoord = new int[] { -1, -1, 0 }; + int[] tXYZOffset = new int[3]; + final ForgeDirection tDirection = tExtendedFacing.getDirection(); + final LightingHelper tLighting = new LightingHelper(aRenderer); + + // for some reason +x and -z need this field set to true, but not any other sides + if (tDirection == ForgeDirection.NORTH || tDirection == ForgeDirection.EAST) aRenderer.field_152631_f = true; + + for (int i = 0; i < 9; i++) { + tExtendedFacing.getWorldOffset(tABCCoord, tXYZOffset); + // since structure check passed, we can assume it is turbine casing + int tX = tXYZOffset[0] + aX; + int tY = tXYZOffset[1] + aY; + int tZ = tXYZOffset[2] + aZ; + Block tBlock; + if (tBlockOverride == null) { + tBlock = aWorld.getBlock(aX + tDirection.offsetX, tY + tDirection.offsetY, aZ + tDirection.offsetZ); + } else { + tBlock = tBlockOverride; + } + // we skip the occlusion test, as we always require a working turbine to have a block of air before it + // so the front face cannot be occluded whatsoever in the most cases. + Tessellator.instance.setBrightness( + tBlock.getMixedBrightnessForBlock( + aWorld, + aX + tDirection.offsetX, + tY + tDirection.offsetY, + aZ + tDirection.offsetZ)); + tLighting.setupLighting(tBlock, tX, tY, tZ, tDirection) + .setupColor(tDirection, Dyes._NULL.mRGBa); + GTRenderUtil.renderBlockIcon( + aRenderer, + tBlock, + tX + tDirection.offsetX * 0.001, + tY + tDirection.offsetY * 0.001, + tZ + tDirection.offsetZ * 0.001, + tTextures[i].getIcon(), + tDirection); + if (++tABCCoord[0] == 2) { + tABCCoord[0] = -1; + tABCCoord[1]++; + } + } + + aRenderer.field_152631_f = false; + } } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTELargeTurbine.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTELargeTurbine.java index 93a51a94fd7..aac42f28c4f 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTELargeTurbine.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTELargeTurbine.java @@ -20,7 +20,6 @@ import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -43,7 +42,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.Dyes; import gregtech.api.enums.SoundResource; import gregtech.api.interfaces.IHatchElement; import gregtech.api.interfaces.IIconContainer; @@ -54,11 +52,10 @@ import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.util.GTUtility; -import gregtech.api.util.LightingHelper; +import gregtech.api.util.GTUtilityClient; import gregtech.api.util.TurbineStatCalculator; import gregtech.api.util.shutdown.ShutDownReasonRegistry; import gregtech.common.items.MetaGeneratedTool01; -import gregtech.common.render.GTRenderUtil; public abstract class MTELargeTurbine extends MTEEnhancedMultiBlockBase implements ISurvivalConstructable { @@ -194,57 +191,13 @@ public IIconContainer[] getTurbineTextureEmpty() { @Override public boolean renderInWorld(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, RenderBlocks aRenderer) { if (!isNewStyleRendering() || !mFormed) return false; - int[] tABCCoord = new int[] { -1, -1, 0 }; - int[] tXYZOffset = new int[3]; - final ForgeDirection tFacing = getBaseMetaTileEntity().getFrontFacing(); - final ExtendedFacing tExtendedFacing = getExtendedFacing(); - final ForgeDirection tDirection = tExtendedFacing.getDirection(); - final LightingHelper tLighting = new LightingHelper(aRenderer); - - // for some reason +x and -z need this field set to true, but not any other sides - if (tFacing == ForgeDirection.NORTH || tFacing == ForgeDirection.EAST) aRenderer.field_152631_f = true; - final Block tBlock = getCasingBlock(); IIconContainer[] tTextures; if (getBaseMetaTileEntity().isActive()) tTextures = getTurbineTextureActive(); else if (hasTurbine()) tTextures = getTurbineTextureFull(); else tTextures = getTurbineTextureEmpty(); - - assert tTextures != null && tTextures.length == tABCCoord.length; - - for (int i = 0; i < 9; i++) { - if (i != 4) { // do not draw ourselves again. - tExtendedFacing.getWorldOffset(tABCCoord, tXYZOffset); - // since structure check passed, we can assume it is turbine casing - int tX = tXYZOffset[0] + aX; - int tY = tXYZOffset[1] + aY; - int tZ = tXYZOffset[2] + aZ; - // we skip the occlusion test, as we always require a working turbine to have a block of air before it - // so the front face cannot be occluded whatsoever in the most cases. - Tessellator.instance.setBrightness( - tBlock.getMixedBrightnessForBlock( - aWorld, - aX + tDirection.offsetX, - tY + tDirection.offsetY, - aZ + tDirection.offsetZ)); - tLighting.setupLighting(tBlock, tX, tY, tZ, tFacing) - .setupColor(tFacing, Dyes._NULL.mRGBa); - GTRenderUtil.renderBlockIcon( - aRenderer, - tBlock, - tX + tDirection.offsetX * 0.001, - tY + tDirection.offsetY * 0.001, - tZ + tDirection.offsetZ * 0.001, - tTextures[i].getIcon(), - tFacing); - } - if (++tABCCoord[0] == 2) { - tABCCoord[0] = -1; - tABCCoord[1]++; - } - } - - aRenderer.field_152631_f = false; + GTUtilityClient + .renderTurbineOverlay(aWorld, aX, aY, aZ, aRenderer, getExtendedFacing(), getCasingBlock(), tTextures); return false; } diff --git a/src/main/java/gtPlusPlus/core/handler/PacketHandler.java b/src/main/java/gtPlusPlus/core/handler/PacketHandler.java index 504afc55d86..9c4ed451cab 100644 --- a/src/main/java/gtPlusPlus/core/handler/PacketHandler.java +++ b/src/main/java/gtPlusPlus/core/handler/PacketHandler.java @@ -10,6 +10,7 @@ import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import cpw.mods.fml.relauncher.Side; import gtPlusPlus.core.network.handler.AbstractClientMessageHandler; +import gtPlusPlus.core.network.packet.PacketTurbineHatchUpdate; import gtPlusPlus.core.network.packet.PacketVolumetricFlaskGui; import gtPlusPlus.core.network.packet.PacketVolumetricFlaskGui2; @@ -22,6 +23,7 @@ public class PacketHandler { public static void init() { registerMessage(PacketVolumetricFlaskGui.class, PacketVolumetricFlaskGui.class); registerMessage(PacketVolumetricFlaskGui2.class, PacketVolumetricFlaskGui2.class); + registerMessage(PacketTurbineHatchUpdate.class, PacketTurbineHatchUpdate.class); } /** diff --git a/src/main/java/gtPlusPlus/core/network/packet/PacketTurbineHatchUpdate.java b/src/main/java/gtPlusPlus/core/network/packet/PacketTurbineHatchUpdate.java new file mode 100644 index 00000000000..ec9509f29a9 --- /dev/null +++ b/src/main/java/gtPlusPlus/core/network/packet/PacketTurbineHatchUpdate.java @@ -0,0 +1,122 @@ +package gtPlusPlus.core.network.packet; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.metatileentity.BaseMetaTileEntity; +import gtPlusPlus.api.objects.minecraft.BlockPos; +import gtPlusPlus.core.network.handler.AbstractClientMessageHandler; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchTurbine; +import io.netty.buffer.ByteBuf; + +public class PacketTurbineHatchUpdate extends AbstractClientMessageHandler + implements AbstractPacket { + + private int x; + private int y; + private int z; + private boolean hasTurbine; + private boolean formed; + private BlockPos controller; + + public PacketTurbineHatchUpdate() {} + + @Override + public void toBytes(ByteBuf buf) { + buf.writeInt(x); + buf.writeInt(y); + buf.writeInt(z); + buf.writeBoolean(hasTurbine); + buf.writeBoolean(formed); + if (controller != null) { + buf.writeBoolean(true); + buf.writeInt(controller.xPos); + buf.writeInt(controller.yPos); + buf.writeInt(controller.zPos); + } else { + buf.writeBoolean(false); + } + } + + @Override + public void fromBytes(ByteBuf buf) { + x = buf.readInt(); + y = buf.readInt(); + z = buf.readInt(); + hasTurbine = buf.readBoolean(); + formed = buf.readBoolean(); + if (buf.readBoolean()) { + controller = new BlockPos(buf.readInt(), buf.readInt(), buf.readInt(), 0); + } else { + controller = null; + } + } + + public int getX() { + return x; + } + + public void setX(int x) { + this.x = x; + } + + public int getY() { + return y; + } + + public void setY(int y) { + this.y = y; + } + + public int getZ() { + return z; + } + + public void setZ(int z) { + this.z = z; + } + + public boolean isHasTurbine() { + return hasTurbine; + } + + public void setHasTurbine(boolean hasTurbine) { + this.hasTurbine = hasTurbine; + } + + public boolean isFormed() { + return formed; + } + + public void setFormed(boolean formed) { + this.formed = formed; + } + + public BlockPos getController() { + return controller; + } + + public void setController(BlockPos controller) { + this.controller = controller; + } + + @Override + public String getPacketName() { + return "Packet_VoluemtricFlaskSetter_ToClient"; + } + + @Override + public IMessage handleClientMessage(EntityPlayer player, PacketTurbineHatchUpdate message, MessageContext ctx) { + TileEntity te = player.getEntityWorld() + .getTileEntity(message.x, message.y, message.z); + if (!(te instanceof BaseMetaTileEntity mteHost)) return null; + IMetaTileEntity mte = mteHost.getMetaTileEntity(); + if (!(mte instanceof MTEHatchTurbine hatch)) return null; + hatch.receiveUpdate(message); + + return null; + } +} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchTurbine.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchTurbine.java index ee40ffdbe8f..0a42f008763 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchTurbine.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/MTEHatchTurbine.java @@ -1,15 +1,18 @@ package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST5; -import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE5; +import static gregtech.api.enums.Textures.BlockIcons.*; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; import org.apache.commons.lang3.ArrayUtils; +import com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing; import com.gtnewhorizons.modularui.api.screen.ModularWindow; import com.gtnewhorizons.modularui.api.screen.UIBuildContext; import com.gtnewhorizons.modularui.common.widget.SlotWidget; @@ -18,18 +21,22 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.SoundResource; import gregtech.api.gui.modularui.GTUIInfos; +import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.MetaGeneratedTool; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.MTEHatch; import gregtech.api.objects.GTItemStack; -import gregtech.api.objects.GTRenderedTexture; +import gregtech.api.render.TextureFactory; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTUtility; +import gregtech.api.util.GTUtilityClient; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.minecraft.BlockPos; +import gtPlusPlus.core.handler.PacketHandler; import gtPlusPlus.core.lib.GTPPCore; +import gtPlusPlus.core.network.packet.PacketTurbineHatchUpdate; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.minecraft.PlayerUtils; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines.MTELargerTurbineBase; @@ -39,9 +46,12 @@ public class MTEHatchTurbine extends MTEHatch { public boolean mHasController = false; public boolean mUsingAnimation = true; - private String mControllerLocation; + private BlockPos mControllerLocation; public int mEUt = 0; + private boolean mFormed; + private boolean mHasTurbine; + public MTEHatchTurbine(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 16, "Turbine Rotor holder for XL Turbines"); } @@ -68,12 +78,13 @@ public String[] getDescription() { @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, getFrontFacingTurbineTexture() }; + return new ITexture[] { aBaseTexture, TextureFactory.of(LARGETURBINE_NEW_ACTIVE5) }; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[] { aBaseTexture, getFrontFacingTurbineTexture() }; + if (hasTurbine()) return new ITexture[] { aBaseTexture, TextureFactory.of(LARGETURBINE_NEW_EMPTY5) }; + return new ITexture[] { aBaseTexture, TextureFactory.of(LARGETURBINE_NEW5) }; } public int getEU() { @@ -105,8 +116,11 @@ public boolean isValidSlot(int aIndex) { } public boolean hasTurbine() { - ItemStack aStack = this.mInventory[0]; - return MTELargerTurbineBase.isValidTurbine(aStack); + if (getBaseMetaTileEntity().isServerSide()) { + ItemStack aStack = this.mInventory[0]; + return MTELargerTurbineBase.isValidTurbine(aStack); + } + return mHasTurbine; } public ItemStack getTurbine() { @@ -123,6 +137,7 @@ public boolean canWork() { public boolean insertTurbine(ItemStack aTurbine) { if (MTELargerTurbineBase.isValidTurbine(aTurbine)) { this.mInventory[0] = aTurbine; + sendUpdate(); return true; } return false; @@ -193,12 +208,16 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPostTick(aBaseMetaTileEntity, aTick); if (this.mHasController) { if (aTick % 20 == 0) { - this.getBaseMetaTileEntity() - .setActive(isControllerActive()); + boolean oActive = getBaseMetaTileEntity().isActive(); + boolean active = isControllerActive(); + getBaseMetaTileEntity().setActive(active); + if (active != oActive) { + getBaseMetaTileEntity().issueClientUpdate(); + } } } else if (this.mControllerLocation != null) { // Weird Invalid State - if (setController(BlockPos.generateBlockPos(mControllerLocation))) { + if (setController(mControllerLocation)) { // Valid } } else { @@ -218,20 +237,17 @@ public boolean isControllerActive() { } public MTELargerTurbineBase getController() { - if (this.mHasController && this.mControllerLocation != null && !this.mControllerLocation.isEmpty()) { - BlockPos p = BlockPos.generateBlockPos(mControllerLocation); - if (p != null) { - // Logger.INFO(p.getLocationString()); - IGregTechTileEntity tTileEntity = getBaseMetaTileEntity() - .getIGregTechTileEntity(p.xPos, p.yPos, p.zPos); - if (tTileEntity != null && tTileEntity.getMetaTileEntity() instanceof MTELargerTurbineBase) { - return (MTELargerTurbineBase) tTileEntity.getMetaTileEntity(); + if (this.mHasController && this.mControllerLocation != null) { + BlockPos p = mControllerLocation; + // Logger.INFO(p.getLocationString()); + IGregTechTileEntity tTileEntity = getBaseMetaTileEntity().getIGregTechTileEntity(p.xPos, p.yPos, p.zPos); + if (tTileEntity != null && tTileEntity.getMetaTileEntity() instanceof MTELargerTurbineBase) { + return (MTELargerTurbineBase) tTileEntity.getMetaTileEntity(); + } else { + if (tTileEntity == null) { + Logger.INFO("Controller MTE is null, somehow?"); } else { - if (tTileEntity == null) { - Logger.INFO("Controller MTE is null, somehow?"); - } else { - Logger.INFO("Controller is a different MTE to expected"); - } + Logger.INFO("Controller is a different MTE to expected"); } } } @@ -240,13 +256,13 @@ public MTELargerTurbineBase getController() { } public boolean canSetNewController() { - return (mControllerLocation == null || mControllerLocation.isEmpty()) && !this.mHasController; + return (mControllerLocation == null) && !this.mHasController; } public boolean setController(BlockPos aPos) { clearController(); if (canSetNewController()) { - mControllerLocation = aPos.getUniqueIdentifier(); + mControllerLocation = aPos; mHasController = true; Logger.INFO("Successfully injected controller into this Turbine Assembly Hatch."); } @@ -258,22 +274,40 @@ public void clearController() { this.mHasController = false; } - public boolean usingAnimations() { - return mUsingAnimation; + public IIconContainer[] getTurbineTextureActive() { + return TURBINE_NEW_ACTIVE; } - private ITexture getFrontFacingTurbineTexture() { - if (!mHasController) { - return this.getBaseMetaTileEntity() - .isActive() ? new GTRenderedTexture(LARGETURBINE_ST_ACTIVE5) : new GTRenderedTexture(LARGETURBINE_ST5); - } else { - if (usingAnimations()) { - if (isControllerActive()) { - return getController().frontFaceActive; - } - } - return getController().frontFace; - } + public IIconContainer[] getTurbineTextureFull() { + return TURBINE_NEW; + } + + public IIconContainer[] getTurbineTextureEmpty() { + return TURBINE_NEW_EMPTY; + } + + @Override + public boolean renderInWorld(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, RenderBlocks aRenderer) { + if (!mFormed) return false; + + IIconContainer[] tTextures; + if (getBaseMetaTileEntity().isActive()) tTextures = getTurbineTextureActive(); + else if (hasTurbine()) tTextures = getTurbineTextureFull(); + else tTextures = getTurbineTextureEmpty(); + GTUtilityClient.renderTurbineOverlay( + aWorld, + aX, + aY, + aZ, + aRenderer, + ExtendedFacing.of(getBaseMetaTileEntity().getFrontFacing()), + null, + tTextures); + return false; + } + + public boolean usingAnimations() { + return mUsingAnimation; } @Override @@ -301,6 +335,12 @@ public void setActive(boolean b) { .setActive(b); } + @Override + public void setInventorySlotContents(int aIndex, ItemStack aStack) { + super.setInventorySlotContents(aIndex, aStack); + sendUpdate(); + } + @Override public boolean allowCoverOnSide(ForgeDirection side, GTItemStack aStack) { return false; @@ -312,10 +352,7 @@ public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, f PlayerUtils.messagePlayer(aPlayer, "Using Animations? " + usingAnimations()); PlayerUtils.messagePlayer(aPlayer, "Has Controller? " + this.mHasController); if (mHasController) { - PlayerUtils.messagePlayer( - aPlayer, - "Controller Location: " + BlockPos.generateBlockPos(mControllerLocation) - .getLocationString()); + PlayerUtils.messagePlayer(aPlayer, "Controller Location: " + mControllerLocation.getLocationString()); PlayerUtils.messagePlayer(aPlayer, "Controller Active? " + this.isControllerActive()); } PlayerUtils.messagePlayer( @@ -378,6 +415,7 @@ public boolean onToolClick(ItemStack tCurrentItem, EntityPlayer aPlayer, ForgeDi aPlayer.inventory.addItemStackToInventory((this.getTurbine())); this.mInventory[0] = null; GTUtility.sendChatToPlayer(aPlayer, "Removed turbine with wrench."); + sendUpdate(); return true; } } else { @@ -386,8 +424,8 @@ public boolean onToolClick(ItemStack tCurrentItem, EntityPlayer aPlayer, ForgeDi aHasTurbine ? "Cannot remove turbine, no free inventory space." : "No turbine to remove."); } } else if (GTUtility.isStackInList(tCurrentItem, GregTechAPI.sSolderingToolList)) { - if (mControllerLocation != null && !mControllerLocation.isEmpty()) { - if (setController(BlockPos.generateBlockPos(mControllerLocation))) { + if (mControllerLocation != null) { + if (setController(mControllerLocation)) { if (PlayerUtils.isCreative(aPlayer) || GTModHandler.damageOrDechargeItem(tCurrentItem, 1, 1000, aPlayer)) { String tChat = "Trying to Reset linked Controller"; @@ -411,9 +449,35 @@ public boolean onToolClick(ItemStack tCurrentItem, EntityPlayer aPlayer, ForgeDi @Override public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + SlotWidget slot = new SlotWidget(inventoryHandler, 0).setFilter(MTELargerTurbineBase::isValidTurbine); + if (getBaseMetaTileEntity().isServerSide()) slot.setChangeListener(this::sendUpdate); builder.widget( - new SlotWidget(inventoryHandler, 0).setFilter(MTELargerTurbineBase::isValidTurbine) - .setAccess(false, true) + slot.setAccess(false, true) .setPos(79, 34)); } + + public void receiveUpdate(PacketTurbineHatchUpdate message) { + mHasTurbine = message.isHasTurbine(); + mFormed = message.isFormed(); + if (message.getController() != null) clearController(); + else setController(message.getController()); + getBaseMetaTileEntity().issueTextureUpdate(); + } + + public void sendUpdate() { + PacketTurbineHatchUpdate message = new PacketTurbineHatchUpdate(); + message.setX(getBaseMetaTileEntity().getXCoord()); + message.setY(getBaseMetaTileEntity().getYCoord()); + message.setZ(getBaseMetaTileEntity().getZCoord()); + message.setFormed(mHasController && getController().mMachine); + message.setHasTurbine(hasTurbine()); + message.setController(mControllerLocation); + PacketHandler.sendToAllAround( + message, + getBaseMetaTileEntity().getWorld().provider.dimensionId, + getBaseMetaTileEntity().getXCoord(), + getBaseMetaTileEntity().getYCoord(), + getBaseMetaTileEntity().getZCoord(), + 64.0D); + } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java index c85bac71159..1694632b5d0 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java @@ -9,8 +9,6 @@ public class CasingTextureHandler { - private static final TexturesCentrifugeMultiblock gregtechX = new TexturesCentrifugeMultiblock(); - public static IIcon getIcon(final int ordinalSide, final int aMeta) { // Texture ID's. case 0 == ID[57] if ((aMeta >= 0) && (aMeta < 16)) { return switch (aMeta) { @@ -52,6 +50,12 @@ public static IIcon getIcon(final int ordinalSide, final int aMeta) { // Texture public static IIcon handleCasingsGT(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, final ForgeDirection side, final GregtechMetaCasingBlocks thisBlock) { - return gregtechX.handleCasingsGT(aWorld, xCoord, yCoord, zCoord, side, thisBlock); + final int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); + final int ordinalSide = side.ordinal(); + if (tMeta != 0) { + return getIcon(ordinalSide, tMeta); + } + + return TexturesGtBlock.Casing_Material_Centrifuge.getIcon(); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java deleted file mode 100644 index 0defa80e6c0..00000000000 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java +++ /dev/null @@ -1,105 +0,0 @@ -package gtPlusPlus.xmod.gregtech.common.blocks.textures; - -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.MTEIndustrialCentrifuge; - -public class TexturesCentrifugeMultiblock { - - public IIcon handleCasingsGT(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final ForgeDirection side, final GregtechMetaCasingBlocks thisBlock) { - return this.handleCasingsGT58(aWorld, xCoord, yCoord, zCoord, side, thisBlock); - } - - private static int isCentrifugeControllerWithSide(IBlockAccess aWorld, int aX, int aY, int aZ, - ForgeDirection side) { - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if (!(tTileEntity instanceof IGregTechTileEntity tTile)) return 0; - if (tTile.getMetaTileEntity() instanceof MTEIndustrialCentrifuge && tTile.getFrontFacing() == side) - return tTile.isActive() ? 1 : 2; - return 0; - } - - public IIcon handleCasingsGT58(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, - final ForgeDirection side, final GregtechMetaCasingBlocks thisBlock) { - final int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); - final int ordinalSide = side.ordinal(); - if (tMeta != 0) { - return CasingTextureHandler.getIcon(ordinalSide, tMeta); - } - - int tInvertLeftRightMod = ordinalSide % 2 * 2 - 1; - switch (ordinalSide / 2) { - case 0 -> { - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - if (isCentrifugeControllerWithSide(aWorld, xCoord + j, yCoord, zCoord + i, side) != 0) { - IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld - .getTileEntity(xCoord + j, yCoord, zCoord + i)).getMetaTileEntity(); - return getIconByIndex(tMetaTileEntity, 4 - i * 3 - j); - } - } - } - } - case 1 -> { - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - if (isCentrifugeControllerWithSide(aWorld, xCoord + j, yCoord + i, zCoord, side) != 0) { - IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld - .getTileEntity(xCoord + j, yCoord + i, zCoord)).getMetaTileEntity(); - return getIconByIndex(tMetaTileEntity, 4 + i * 3 - j * tInvertLeftRightMod); - } - } - } - } - case 2 -> { - for (int i = -1; i < 2; i++) { - for (int j = -1; j < 2; j++) { - if (i == 0 && j == 0) continue; - if (isCentrifugeControllerWithSide(aWorld, xCoord, yCoord + i, zCoord + j, side) != 0) { - IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld - .getTileEntity(xCoord, yCoord + i, zCoord + j)).getMetaTileEntity(); - return getIconByIndex(tMetaTileEntity, 4 + i * 3 + j * tInvertLeftRightMod); - } - } - } - } - } - return TexturesGtBlock.Casing_Material_Centrifuge.getIcon(); - } - - public boolean isCentrifugeRunning(IMetaTileEntity aTile) { - if (aTile == null) { - return false; - } else { - return aTile.getBaseMetaTileEntity() - .isActive(); - } - } - - public boolean isUsingAnimatedTexture(IMetaTileEntity aMetaTileEntity) { - if (aMetaTileEntity != null) { - if (aMetaTileEntity instanceof MTEIndustrialCentrifuge) { - return ((MTEIndustrialCentrifuge) aMetaTileEntity).usingAnimations(); - } - } - return false; - } - - public IIcon getIconByIndex(IMetaTileEntity aMetaTileEntity, int aIndex) { - if (isUsingAnimatedTexture(aMetaTileEntity)) { - if (isCentrifugeRunning(aMetaTileEntity)) { - return TexturesGtBlock.CENTRIFUGEACTIVE[aIndex].getIcon(); - } - } - return TexturesGtBlock.CENTRIFUGE[aIndex].getIcon(); - } -} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java index 2f87a3b6fb9..36d0addad8a 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java @@ -558,25 +558,6 @@ public ResourceLocation getTextureFile() { public static final CustomIcon TEXTURE_TECH_B = new CustomIcon("metro/TEXTURE_TECH_B"); public static final CustomIcon TEXTURE_TECH_C = new CustomIcon("metro/TEXTURE_TECH_C"); - private static final CustomIcon GT8_1_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE1"); - private static final CustomIcon GT8_1 = new CustomIcon("iconsets/LARGECENTRIFUGE1"); - private static final CustomIcon GT8_2_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE2"); - private static final CustomIcon GT8_2 = new CustomIcon("iconsets/LARGECENTRIFUGE2"); - private static final CustomIcon GT8_3_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE3"); - private static final CustomIcon GT8_3 = new CustomIcon("iconsets/LARGECENTRIFUGE3"); - private static final CustomIcon GT8_4_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE4"); - private static final CustomIcon GT8_4 = new CustomIcon("iconsets/LARGECENTRIFUGE4"); - private static final CustomIcon GT8_5_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE5"); - private static final CustomIcon GT8_5 = new CustomIcon("iconsets/LARGECENTRIFUGE5"); - private static final CustomIcon GT8_6_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE6"); - private static final CustomIcon GT8_6 = new CustomIcon("iconsets/LARGECENTRIFUGE6"); - private static final CustomIcon GT8_7_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE7"); - private static final CustomIcon GT8_7 = new CustomIcon("iconsets/LARGECENTRIFUGE7"); - private static final CustomIcon GT8_8_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE8"); - private static final CustomIcon GT8_8 = new CustomIcon("iconsets/LARGECENTRIFUGE8"); - private static final CustomIcon GT8_9_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE9"); - private static final CustomIcon GT8_9 = new CustomIcon("iconsets/LARGECENTRIFUGE9"); - public static final CustomIcon TEXTURE_TECH_PANEL_D = new CustomIcon("metro/TEXTURE_TECH_PANEL_D"); public static final CustomIcon TEXTURE_TECH_PANEL_H = new CustomIcon("metro/TEXTURE_TECH_PANEL_H"); @@ -609,9 +590,4 @@ public ResourceLocation getTextureFile() { TEXTURE_CASING_TIERED_IV, TEXTURE_CASING_TIERED_LuV, TEXTURE_CASING_TIERED_ZPM, TEXTURE_CASING_TIERED_UV, TEXTURE_CASING_TIERED_MAX }; - public static IIconContainer[] CENTRIFUGE = new IIconContainer[] { GT8_1, GT8_2, GT8_3, GT8_4, GT8_5, GT8_6, GT8_7, - GT8_8, GT8_9 }; - - public static IIconContainer[] CENTRIFUGEACTIVE = new IIconContainer[] { GT8_1_Active, GT8_2_Active, GT8_3_Active, - GT8_4_Active, GT8_5_Active, GT8_6_Active, GT8_7_Active, GT8_8_Active, GT8_9_Active }; } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java index e0acc6666d9..cf300f9f3d6 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java @@ -72,33 +72,11 @@ import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE7; import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE8; import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE9; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE1; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE1_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE2; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE2_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE3; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE3_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE4; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE4_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE5; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE5_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE6; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE6_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE7; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE7_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE8; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE8_ACTIVE; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE9; -import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE9_ACTIVE; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchTurbine; import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaSpecialMultiCasings; public class LargeTurbineTextureHandler { @@ -151,256 +129,11 @@ public class LargeTurbineTextureHandler { LARGETURBINE_TU_ACTIVE5.getIcon(), LARGETURBINE_TU_ACTIVE6.getIcon(), LARGETURBINE_TU_ACTIVE7.getIcon(), LARGETURBINE_TU_ACTIVE8.getIcon(), LARGETURBINE_TU_ACTIVE9.getIcon(), }; - public static IIcon[] OVERLAY_SC_TURBINE = new IIcon[] { OVERLAY_SC_TURBINE1.getIcon(), - OVERLAY_SC_TURBINE2.getIcon(), OVERLAY_SC_TURBINE3.getIcon(), OVERLAY_SC_TURBINE4.getIcon(), - OVERLAY_SC_TURBINE5.getIcon(), OVERLAY_SC_TURBINE6.getIcon(), OVERLAY_SC_TURBINE7.getIcon(), - OVERLAY_SC_TURBINE8.getIcon(), OVERLAY_SC_TURBINE9.getIcon(), }; - - public static IIcon[] OVERLAY_SC_TURBINE_ACTIVE = new IIcon[] { OVERLAY_SC_TURBINE1_ACTIVE.getIcon(), - OVERLAY_SC_TURBINE2_ACTIVE.getIcon(), OVERLAY_SC_TURBINE3_ACTIVE.getIcon(), - OVERLAY_SC_TURBINE4_ACTIVE.getIcon(), OVERLAY_SC_TURBINE5_ACTIVE.getIcon(), - OVERLAY_SC_TURBINE6_ACTIVE.getIcon(), OVERLAY_SC_TURBINE7_ACTIVE.getIcon(), - OVERLAY_SC_TURBINE8_ACTIVE.getIcon(), OVERLAY_SC_TURBINE9_ACTIVE.getIcon(), }; - public static IIcon handleCasingsGT(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord, final ForgeDirection side, final GregtechMetaSpecialMultiCasings i) { final int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); - // 0 shaft - // 1 LP - // 2 HP - // 3 Gas - // 4 Plasma - - IIcon[] mGetCurrentTextureSet = null; - IIcon[] mGetCurrentTextureSet_ACTIVE = null; - - if ((tMeta <= 0 || tMeta >= 5) && tMeta != 15) { - return GregtechMetaSpecialMultiCasings.getStaticIcon(side.ordinal(), (byte) tMeta); - } else { - if (tMeta == 1) { - mGetCurrentTextureSet = OVERLAY_LP_TURBINE; - mGetCurrentTextureSet_ACTIVE = OVERLAY_LP_TURBINE_ACTIVE; - } else if (tMeta == 2) { - mGetCurrentTextureSet = OVERLAY_HP_TURBINE; - mGetCurrentTextureSet_ACTIVE = OVERLAY_HP_TURBINE_ACTIVE; - } else if (tMeta == 3) { - mGetCurrentTextureSet = OVERLAY_GAS_TURBINE; - mGetCurrentTextureSet_ACTIVE = OVERLAY_GAS_TURBINE_ACTIVE; - } else if (tMeta == 4) { - mGetCurrentTextureSet = OVERLAY_PLASMA_TURBINE; - mGetCurrentTextureSet_ACTIVE = OVERLAY_PLASMA_TURBINE_ACTIVE; - } else { - mGetCurrentTextureSet = OVERLAY_SC_TURBINE; - mGetCurrentTextureSet_ACTIVE = OVERLAY_SC_TURBINE_ACTIVE; - } - if (mGetCurrentTextureSet == null || mGetCurrentTextureSet_ACTIVE == null) { - return GregtechMetaSpecialMultiCasings.getStaticIcon(side.ordinal(), (byte) tMeta); - } - - if ((side == ForgeDirection.NORTH) || (side == ForgeDirection.SOUTH)) { - TileEntity tTileEntity; - IMetaTileEntity tMetaTileEntity; - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.SOUTH ? 1 : -1), yCoord - 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[0]; - } - return mGetCurrentTextureSet[0]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.SOUTH ? 1 : -1), yCoord, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[3]; - } - return mGetCurrentTextureSet[3]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.SOUTH ? 1 : -1), yCoord + 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[6]; - } - return mGetCurrentTextureSet[6]; - } - if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord - 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[1]; - } - return mGetCurrentTextureSet[1]; - } - if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord + 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[7]; - } - return mGetCurrentTextureSet[7]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.NORTH ? 1 : -1), yCoord + 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[8]; - } - return mGetCurrentTextureSet[8]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.NORTH ? 1 : -1), yCoord, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[5]; - } - return mGetCurrentTextureSet[5]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord + (side == ForgeDirection.NORTH ? 1 : -1), yCoord - 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[2]; - } - return mGetCurrentTextureSet[2]; - } - } else if ((side == ForgeDirection.WEST) || (side == ForgeDirection.EAST)) { - TileEntity tTileEntity; - Object tMetaTileEntity; - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord - 1, zCoord + (side == ForgeDirection.WEST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[0]; - } - return mGetCurrentTextureSet[0]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord, zCoord + (side == ForgeDirection.WEST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[3]; - } - return mGetCurrentTextureSet[3]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord + 1, zCoord + (side == ForgeDirection.WEST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[6]; - } - return mGetCurrentTextureSet[6]; - } - if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord - 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[1]; - } - return mGetCurrentTextureSet[1]; - } - if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord + 1, zCoord))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[7]; - } - return mGetCurrentTextureSet[7]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord + 1, zCoord + (side == ForgeDirection.EAST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[8]; - } - return mGetCurrentTextureSet[8]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord, zCoord + (side == ForgeDirection.EAST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[5]; - } - return mGetCurrentTextureSet[5]; - } - if ((null != (tTileEntity = aWorld - .getTileEntity(xCoord, yCoord - 1, zCoord + (side == ForgeDirection.EAST ? 1 : -1)))) - && ((tTileEntity instanceof IGregTechTileEntity)) - && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side) - && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) - && ((tMetaTileEntity instanceof MTEHatchTurbine))) { - if (isUsingAnimatedTexture(tTileEntity)) { - return mGetCurrentTextureSet_ACTIVE[2]; - } - return mGetCurrentTextureSet[2]; - } - } - } return GregtechMetaSpecialMultiCasings.getStaticIcon(side.ordinal(), (byte) tMeta); } - public static boolean isUsingAnimatedTexture(TileEntity tTileEntity) { - boolean aVal = true; - if (tTileEntity instanceof IGregTechTileEntity aTile) { - final IMetaTileEntity aMetaTileEntity = aTile.getMetaTileEntity(); - if (aMetaTileEntity instanceof MTEHatchTurbine) { - aVal = aMetaTileEntity.getBaseMetaTileEntity() - .isActive(); - // Logger.INFO("Returning "+aVal+" as Rotor Assembly controller status"); - } - } - return aVal; - } - - public static MTEHatchTurbine isTurbineHatch(final IGregTechTileEntity aTileEntity) { - if (aTileEntity != null) { - final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); - if (aMetaTileEntity instanceof MTEHatchTurbine) { - return (MTEHatchTurbine) aMetaTileEntity; - } - } - return null; - } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialCentrifuge.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialCentrifuge.java index 186a69f2df7..af68340722a 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialCentrifuge.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/MTEIndustrialCentrifuge.java @@ -10,12 +10,15 @@ import static gregtech.api.enums.HatchElement.Muffler; import static gregtech.api.enums.HatchElement.OutputBus; import static gregtech.api.enums.HatchElement.OutputHatch; +import static gregtech.api.enums.Textures.BlockIcons.*; import static gregtech.api.util.GTStructureUtility.buildHatchAdder; import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; @@ -30,6 +33,7 @@ import gregtech.api.logic.ProcessingLogic; import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GTUtility; +import gregtech.api.util.GTUtilityClient; import gregtech.api.util.MultiblockTooltipBuilder; import gregtech.common.pollution.PollutionConfig; import gtPlusPlus.api.objects.Logger; @@ -48,6 +52,10 @@ public class MTEIndustrialCentrifuge extends GTPPMultiBlockBase STRUCTURE_DEFINITION = null; // public static double recipesComplete = 0; + // client side stuff + // mMachine got overwritten by StructureLib extended facing query response + // so we use a separate field for this + protected boolean mFormed; public MTEIndustrialCentrifuge(final int aID, final String aName, final String aNameRegional) { super(aID, aName, aNameRegional); @@ -123,6 +131,18 @@ public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBu return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true); } + @Override + public boolean checkStructure(boolean aForceReset, IGregTechTileEntity aBaseMetaTileEntity) { + boolean f = super.checkStructure(aForceReset, aBaseMetaTileEntity); + if (f && getBaseMetaTileEntity().isServerSide()) { + // while is this a client side field, blockrenderer will reuse the server world for client side rendering + // so we must set it as well... + mFormed = true; + return true; + } + return f; + } + @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { mCasing = 0; @@ -132,15 +152,27 @@ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack a @Override protected IIconContainer getActiveOverlay() { if (usingAnimations()) { - return frontFaceActive; + return LARGETURBINE_NEW_ACTIVE5; } else { - return frontFace; + return getInactiveOverlay(); } } @Override protected IIconContainer getInactiveOverlay() { - return frontFace; + return LARGETURBINE_NEW5; + } + + @Override + public boolean renderInWorld(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, RenderBlocks aRenderer) { + if (!mFormed) return false; + + IIconContainer[] tTextures; + if (getBaseMetaTileEntity().isActive() && usingAnimations()) tTextures = TURBINE_NEW_ACTIVE; + else tTextures = TURBINE_NEW; + GTUtilityClient + .renderTurbineOverlay(aWorld, aX, aY, aZ, aRenderer, getExtendedFacing(), getCasingBlock(), tTextures); + return false; } @Override @@ -223,4 +255,15 @@ public boolean usingAnimations() { // Logger.INFO("Is animated? "+this.mIsAnimated); return this.mIsAnimated; } + + @Override + public void onValueUpdate(byte aValue) { + mFormed = (aValue & 0x1) != 0; + + } + + @Override + public byte getUpdateData() { + return (byte) ((mMachine ? 1 : 0)); + } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/MTELargerTurbineBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/MTELargerTurbineBase.java index 63172448985..826bac7aa93 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/MTELargerTurbineBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/MTELargerTurbineBase.java @@ -196,6 +196,17 @@ public void clearHatches() { mTurbineRotorHatches.clear(); } + @Override + public boolean checkStructure(boolean aForceReset, IGregTechTileEntity aBaseMetaTileEntity) { + boolean f = super.checkStructure(aForceReset, aBaseMetaTileEntity); + if (f) { + for (MTEHatchTurbine tHatch : mTurbineRotorHatches) { + tHatch.sendUpdate(); + } + } + return f; + } + @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { // we do not check for casing count here. the bare minimal is 372 but we only require 360 diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE1.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE1.png deleted file mode 100644 index 020ed28da82..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE1.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE2.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE2.png deleted file mode 100644 index 12e321b7e9f..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE2.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE3.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE3.png deleted file mode 100644 index c6d77153564..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE3.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE4.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE4.png deleted file mode 100644 index 7f21c841aae..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE4.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE5.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE5.png deleted file mode 100644 index 3466822e049..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE5.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE6.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE6.png deleted file mode 100644 index c1ae3ca1af4..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE6.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE7.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE7.png deleted file mode 100644 index a0263e43419..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE7.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE8.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE8.png deleted file mode 100644 index 26956df456e..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE8.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE9.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE9.png deleted file mode 100644 index f30b34fe4a8..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE9.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png deleted file mode 100644 index 288df82736d..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png.mcmeta deleted file mode 100644 index d746756cbd1..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE1.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png deleted file mode 100644 index b8c344736e8..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png.mcmeta deleted file mode 100644 index d746756cbd1..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE2.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png deleted file mode 100644 index 0ef17da006e..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png.mcmeta deleted file mode 100644 index d746756cbd1..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE3.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png deleted file mode 100644 index 07dd921123a..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png.mcmeta deleted file mode 100644 index d746756cbd1..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE4.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png deleted file mode 100644 index 49e957bc1fa..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png.mcmeta deleted file mode 100644 index d746756cbd1..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE5.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png deleted file mode 100644 index 2dd6ca5a8ec..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png.mcmeta deleted file mode 100644 index d746756cbd1..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE6.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png deleted file mode 100644 index 16091f0e18c..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png.mcmeta deleted file mode 100644 index d746756cbd1..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE7.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png deleted file mode 100644 index 698d96bf111..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png.mcmeta deleted file mode 100644 index d746756cbd1..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE8.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png deleted file mode 100644 index 963d8b1a225..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png.mcmeta deleted file mode 100644 index d746756cbd1..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/LARGECENTRIFUGE_ACTIVE9.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation":{} -} \ No newline at end of file diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png deleted file mode 100644 index e9b05f8181e..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png.mcmeta deleted file mode 100644 index dd1bedb1201..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE1.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png deleted file mode 100644 index 07b795be97c..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png.mcmeta deleted file mode 100644 index dd1bedb1201..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE2.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png deleted file mode 100644 index e1ad601839e..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png.mcmeta deleted file mode 100644 index dd1bedb1201..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE3.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png deleted file mode 100644 index f69d8cb0ec8..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png.mcmeta deleted file mode 100644 index dd1bedb1201..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE4.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png deleted file mode 100644 index f863ec49e6b..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png.mcmeta deleted file mode 100644 index dd1bedb1201..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE5.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png deleted file mode 100644 index a61511d4c22..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png.mcmeta deleted file mode 100644 index dd1bedb1201..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE6.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png deleted file mode 100644 index 73a0abe065a..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png.mcmeta deleted file mode 100644 index dd1bedb1201..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE7.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png deleted file mode 100644 index 269ab80e3b5..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png.mcmeta deleted file mode 100644 index dd1bedb1201..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE8.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png deleted file mode 100644 index 54ac28edc86..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png.mcmeta b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png.mcmeta deleted file mode 100644 index dd1bedb1201..00000000000 --- a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE9.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL1.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL1.png deleted file mode 100644 index 34991094fd7..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL1.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL2.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL2.png deleted file mode 100644 index 50ce1abd9c1..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL2.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL3.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL3.png deleted file mode 100644 index c4a02dcd25c..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL3.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL4.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL4.png deleted file mode 100644 index 5955b40f1e6..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL4.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL5.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL5.png deleted file mode 100644 index 7fee9a77ade..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL5.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL6.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL6.png deleted file mode 100644 index ff418776b69..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL6.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL7.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL7.png deleted file mode 100644 index 59217da11ff..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL7.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL8.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL8.png deleted file mode 100644 index 3af97940056..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL8.png and /dev/null differ diff --git a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL9.png b/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL9.png deleted file mode 100644 index d1210901762..00000000000 Binary files a/src/main/resources/assets/miscutils/textures/blocks/iconsets/SC_TURBINE_IDEL9.png and /dev/null differ