From d4213b9258f63506059fc42469b4f1be3ac541dc Mon Sep 17 00:00:00 2001 From: Maxim Date: Wed, 12 Apr 2023 19:19:16 +0200 Subject: Fix MuTE sound (#1878) * Only play interrupt sound, when machine stop was due to power * Change power switch button sound to proper one --- .../api/multitileentity/machine/MultiTileBasicMachine.java | 10 ++++++---- .../multitileentity/multiblock/base/MultiBlockController.java | 9 ++++++--- 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'src/main') diff --git a/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java b/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java index 680116e95a..e50236c93b 100644 --- a/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java +++ b/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java @@ -455,7 +455,7 @@ public abstract class MultiTileBasicMachine extends TickableMultiTileEntity impl protected void runMachine(long tick) { if (acceptsFuel() && isActive()) { if (!consumeFuel()) { - stopMachine(); + stopMachine(true); return; } } @@ -561,7 +561,7 @@ public abstract class MultiTileBasicMachine extends TickableMultiTileEntity impl } if (logic.removeEnergyUnsafe(eut)) { - stopMachine(); + stopMachine(true); } } @@ -766,11 +766,13 @@ public abstract class MultiTileBasicMachine extends TickableMultiTileEntity impl } } - protected void stopMachine() { + protected void stopMachine(boolean powerShutDown) { progressTime = 0; setActive(false); disableWorking(); - setSound(GregTechTileClientEvents.STOP_SOUND_LOOP, INTERRUPT_SOUND_INDEX); + if (powerShutDown) { + setSound(GregTechTileClientEvents.STOP_SOUND_LOOP, INTERRUPT_SOUND_INDEX); + } issueClientUpdate(); } diff --git a/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockController.java b/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockController.java index 088b640dbd..1355ac13a6 100644 --- a/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockController.java +++ b/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockController.java @@ -71,6 +71,7 @@ import gnu.trove.list.array.TIntArrayList; import gregtech.api.enums.GT_Values; import gregtech.api.enums.GT_Values.NBT; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SoundResource; import gregtech.api.enums.TextureSet; import gregtech.api.fluid.FluidTankGT; import gregtech.api.gui.modularui.GT_UITextures; @@ -402,7 +403,7 @@ public abstract class MultiBlockController> ex public void setExtendedFacing(ExtendedFacing newExtendedFacing) { if (extendedFacing != newExtendedFacing) { onStructureChange(); - if (structureOkay) stopMachine(); + if (structureOkay) stopMachine(false); extendedFacing = newExtendedFacing; structureOkay = false; if (isServerSide()) { @@ -503,7 +504,7 @@ public abstract class MultiBlockController> ex if (structureOkay) { runMachine(tick); } else { - stopMachine(); + stopMachine(false); } } else { doActivitySound(getActivitySoundLoop()); @@ -1526,7 +1527,9 @@ public abstract class MultiBlockController> ex enableWorking(); } }) - .setPlayClickSound(true); + .setPlayClickSoundResource( + () -> isAllowedToWork() ? SoundResource.GUI_BUTTON_UP.resourceLocation + : SoundResource.GUI_BUTTON_DOWN.resourceLocation); button.setBackground(() -> { List ret = new ArrayList<>(); ret.add(GT_UITextures.BUTTON_STANDARD); -- cgit