diff options
author | Maxim <maxim235@gmx.de> | 2023-02-26 18:40:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-26 18:40:37 +0100 |
commit | f04ae276af1346fb8ca5a022b21f5f372960ae13 (patch) | |
tree | ebb03d039ebc5fc7aa5d369789a1ba6592334597 /src/main/java/gregtech/common/tileentities/machines | |
parent | 2651ea95e7af46b2d599f9e6eab25345595c9459 (diff) | |
download | GT5-Unofficial-f04ae276af1346fb8ca5a022b21f5f372960ae13.tar.gz GT5-Unofficial-f04ae276af1346fb8ca5a022b21f5f372960ae13.tar.bz2 GT5-Unofficial-f04ae276af1346fb8ca5a022b21f5f372960ae13.zip |
Multiblock Sounds (#1768)
* Added methods to allow multiblocks to play sounds
* Implemented first few sounds
* Added sound to PA
* Introduced static variables for sound indexes
Diffstat (limited to 'src/main/java/gregtech/common/tileentities/machines')
5 files changed, 51 insertions, 5 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java index 4374e3ad7e..ca9c31f350 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java @@ -127,11 +127,13 @@ public class GT_MetaTileEntity_ImplosionCompressor } @Override - public void startSoundLoop(byte aIndex, double aX, double aY, double aZ) { - super.startSoundLoop(aIndex, aX, aY, aZ); - if (aIndex == 20) { - GT_Utility.doSoundAtClient(SoundResource.RANDOM_EXPLODE, 10, 1.0F, aX, aY, aZ); - } + protected int getTimeBetweenProcessSounds() { + return 10; + } + + @Override + protected SoundResource getProcessStartSound() { + return SoundResource.RANDOM_EXPLODE; } @Override diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java index dc56ffcb3f..fa8619492f 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java @@ -27,6 +27,7 @@ import net.minecraftforge.fluids.FluidStack; import com.google.common.collect.ImmutableList; +import gregtech.api.enums.SoundResource; import gregtech.api.interfaces.IHatchElement; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -276,6 +277,11 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D } @Override + protected SoundResource getProcessStartSound() { + return SoundResource.IC2_MACHINES_PUMP_OP; + } + + @Override public String[] getInfoData() { List<String> l = new ArrayList<>( Arrays.asList( diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java index 1f5bdf690e..46b91ec2cf 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java @@ -27,6 +27,7 @@ import com.google.common.collect.ImmutableList; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SoundResource; import gregtech.api.interfaces.IHatchElement; import gregtech.api.objects.GT_ChunkManager; import gregtech.api.objects.ItemData; @@ -403,6 +404,11 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile } @Override + protected SoundResource getProcessStartSound() { + return SoundResource.IC2_MACHINES_MINER_OP; + } + + @Override public String[] getInfoData() { final int diameter = chunkRadiusConfig * 2; return new String[] { diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java index d8d1f6b656..7d12b28218 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java @@ -49,6 +49,7 @@ import com.gtnewhorizons.modularui.common.widget.textfield.TextFieldWidget; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SoundResource; import gregtech.api.enums.Textures.BlockIcons; import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; @@ -1073,6 +1074,11 @@ public class GT_MetaTileEntity_PCBFactory extends } @Override + protected SoundResource getProcessStartSound() { + return SoundResource.IC2_MACHINES_MAGNETIZER_LOOP; + } + + @Override public boolean useModularUI() { return true; } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java index 5e330d6742..f5f485b53e 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java @@ -38,6 +38,7 @@ import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; import gregtech.GT_Mod; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.SoundResource; import gregtech.api.enums.Textures; import gregtech.api.enums.Textures.BlockIcons; import gregtech.api.gui.modularui.GT_UITextures; @@ -151,6 +152,31 @@ public class GT_MetaTileEntity_ProcessingArray } @Override + public void startSoundLoop(byte aIndex, double aX, double aY, double aZ) { + super.startSoundLoop(aIndex, aX, aY, aZ); + SoundResource sound = SoundResource.get(aIndex < 0 ? aIndex + 256 : 0); + if (sound != null) { + GT_Utility.doSoundAtClient(sound, getTimeBetweenProcessSounds(), 1.0F, aX, aY, aZ); + } + } + + @Override + protected boolean checkRecipe() { + startRecipeProcessing(); + boolean result = checkRecipe(mInventory[1]); + if (result) { + int length = mInventory[1].getUnlocalizedName().length(); + String aMachineName = mInventory[1].getUnlocalizedName().substring(17, length - 8); + SoundResource sound = GT_ProcessingArray_Manager.getSoundResource(aMachineName); + if (sound != null) { + sendLoopStart((byte) sound.id); + } + } + endRecipeProcessing(); + return result; + } + + @Override public boolean checkRecipe(ItemStack aStack) { if (mLockedToSingleRecipe && mSingleRecipeCheck != null) { return processLockedRecipe(); |