aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
authorMaxim <maxim235@gmx.de>2023-02-26 18:40:37 +0100
committerGitHub <noreply@github.com>2023-02-26 18:40:37 +0100
commitf04ae276af1346fb8ca5a022b21f5f372960ae13 (patch)
treeebb03d039ebc5fc7aa5d369789a1ba6592334597 /src/main/java/gregtech/common
parent2651ea95e7af46b2d599f9e6eab25345595c9459 (diff)
downloadGT5-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')
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java12
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java26
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();