From a708d0ad7de777bf53199e2f28ceade6c08283b1 Mon Sep 17 00:00:00 2001 From: Alexander Anishin Date: Sun, 13 Oct 2024 18:34:45 +0300 Subject: Fixed dust output of Ore Drilling Plant (#3350) Co-authored-by: Martin Robertz --- src/main/java/gregtech/common/blocks/TileEntityOres.java | 8 ++++++++ .../machines/multi/MTEOreDrillingPlantBase.java | 13 +++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/main/java/gregtech/common/blocks/TileEntityOres.java b/src/main/java/gregtech/common/blocks/TileEntityOres.java index 9ddcbcc19c..0dbdcec1a2 100644 --- a/src/main/java/gregtech/common/blocks/TileEntityOres.java +++ b/src/main/java/gregtech/common/blocks/TileEntityOres.java @@ -452,6 +452,14 @@ public class TileEntityOres extends TileEntity implements IAllSidedTexturedTileE return rList; } + public ArrayList getSilkTouchDrops(Block aDroppedOre) { + final boolean tShouldSilkTouch = TileEntityOres.shouldSilkTouch; + TileEntityOres.shouldSilkTouch = true; + final ArrayList tDrops = getDrops(aDroppedOre, 0); + TileEntityOres.shouldSilkTouch = tShouldSilkTouch; + return tDrops; + } + @Override public ITexture[] getTexture(Block aBlock) { if (mMetadataForCachedTexture == mMetaData && mCachedTexture != null) return mCachedTexture; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEOreDrillingPlantBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEOreDrillingPlantBase.java index 6acc48c772..116ab720f9 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEOreDrillingPlantBase.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEOreDrillingPlantBase.java @@ -543,12 +543,17 @@ public abstract class MTEOreDrillingPlantBase extends MTEDrillerBase implements } if (oreBlock instanceof BlockOresAbstract) { TileEntity tTileEntity = getBaseMetaTileEntity().getTileEntity(posX, posY, posZ); - if (tTileEntity instanceof TileEntityOres && ((TileEntityOres) tTileEntity).mMetaData >= 16000) { - // GTLog.out.println("Running Small Ore"); - return oreBlock.getDrops(getBaseMetaTileEntity().getWorld(), posX, posY, posZ, blockMeta, mTier + 3); + if (tTileEntity instanceof TileEntityOres tTileEntityOres) { + if (tTileEntityOres.mMetaData >= 16000) { + // Small ore + return oreBlock + .getDrops(getBaseMetaTileEntity().getWorld(), posX, posY, posZ, blockMeta, mTier + 3); + } else { + return tTileEntityOres.getSilkTouchDrops(oreBlock); + } } } - // GTLog.out.println("Running Normal Ore"); + // Regular ore return oreBlock.getDrops(getBaseMetaTileEntity().getWorld(), posX, posY, posZ, blockMeta, 0); } -- cgit