aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2024-09-28 20:16:09 +0900
committerGitHub <noreply@github.com>2024-09-28 11:16:09 +0000
commit6b1f145f5028f1bc92cf478e5963224e7d94b5cd (patch)
tree2227de40c6c806bd59c430e973a07dda8d9f1c1f /src/main/java/gregtech/api
parent254a3bc734648c97e136f67d714dcf5a4f8a3df9 (diff)
downloadGT5-Unofficial-6b1f145f5028f1bc92cf478e5963224e7d94b5cd.tar.gz
GT5-Unofficial-6b1f145f5028f1bc92cf478e5963224e7d94b5cd.tar.bz2
GT5-Unofficial-6b1f145f5028f1bc92cf478e5963224e7d94b5cd.zip
Unify machine sound loop to use SoundResource (#3289)
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/enums/SoundResource.java16
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java11
2 files changed, 22 insertions, 5 deletions
diff --git a/src/main/java/gregtech/api/enums/SoundResource.java b/src/main/java/gregtech/api/enums/SoundResource.java
index 9de5c56015..f262dc2619 100644
--- a/src/main/java/gregtech/api/enums/SoundResource.java
+++ b/src/main/java/gregtech/api/enums/SoundResource.java
@@ -2,6 +2,7 @@ package gregtech.api.enums;
import static gregtech.api.enums.Mods.GregTech;
import static gregtech.api.enums.Mods.IndustrialCraft2;
+import static gregtech.api.enums.Mods.TecTech;
import java.util.EnumSet;
import java.util.Locale;
@@ -100,6 +101,10 @@ public enum SoundResource {
GT_MACHINES_QUANTUM_FORCE_TRANSFORMER_LOOP(264, GregTech.ID, "machines.MTEQuantumForceTransformer"),
GT_MACHINES_ADV_EBF_LOOP(265, GregTech.ID, "machines.MTEAdvEBF"),
GT_MACHINES_LARGE_TURBINES_LOOP(266, GregTech.ID, "machines.MTELargeTurbine"),
+ TECTECH_MACHINES_FX_LOW_FREQ(267, TecTech.ID, "fx_lo_freq"),
+ TECTECH_MACHINES_FX_HIGH_FREQ(268, TecTech.ID, "fx_hi_freq"),
+ TECTECH_MACHINES_NOISE(269, TecTech.ID, "fx_noise"),
+ TECTECH_MACHINES_FX_WHOOUM(270, TecTech.ID, "fx_whooum"),
GUI_BUTTON_DOWN(-1, GregTech.ID, "gui.buttonDown"),
GUI_BUTTON_UP(-1, GregTech.ID, "gui.buttonUp"),
@@ -346,7 +351,16 @@ public enum SoundResource {
static {
EnumSet.allOf(SoundResource.class)
- .forEach(sound -> { if (sound.id >= 0) ID_SOUND_MAP.put(sound.id, sound); });
+ .forEach(sound -> {
+ if (sound.id < 0) {
+ return;
+ }
+
+ if (ID_SOUND_MAP.containsKey(sound.id)) {
+ throw new IllegalStateException(String.format("Sound ID %s is already occupied!", sound.id));
+ }
+ ID_SOUND_MAP.put(sound.id, sound);
+ });
EnumSet.allOf(SoundResource.class)
.forEach(sound -> RESOURCE_STR_SOUND_MAP.put(sound.resourceLocation.toString(), sound));
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
index b677f6ae24..5da5bff57d 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
@@ -32,7 +32,6 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatComponentTranslation;
import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.util.Constants;
@@ -677,10 +676,14 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
}
@SideOnly(Side.CLIENT)
- protected void doActivitySound(ResourceLocation activitySound) {
+ protected void doActivitySound(SoundResource activitySound) {
if (getBaseMetaTileEntity().isActive() && activitySound != null) {
if (activitySoundLoop == null) {
- activitySoundLoop = new GTSoundLoop(activitySound, getBaseMetaTileEntity(), false, true);
+ activitySoundLoop = new GTSoundLoop(
+ activitySound.resourceLocation,
+ getBaseMetaTileEntity(),
+ false,
+ true);
Minecraft.getMinecraft()
.getSoundHandler()
.playSound(activitySoundLoop);
@@ -710,7 +713,7 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
* @return Sound that will be looped for as long as the machine is doing a recipe
*/
@SideOnly(Side.CLIENT)
- protected ResourceLocation getActivitySoundLoop() {
+ protected SoundResource getActivitySoundLoop() {
return null;
}