mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
Merge pull request #1310 from MellowArpeggiation/master
Add missing audio and fix door loop audio
This commit is contained in:
commit
c1625f3272
@ -104,7 +104,6 @@ import com.hbm.render.util.RenderOverhead;
|
||||
import com.hbm.render.util.RenderOverhead.Marker;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.sound.AudioWrapperClient;
|
||||
import com.hbm.sound.AudioWrapperClientStartStop;
|
||||
import com.hbm.tileentity.TileEntityDoorGeneric;
|
||||
import com.hbm.tileentity.bomb.*;
|
||||
import com.hbm.tileentity.conductor.*;
|
||||
@ -2009,14 +2008,6 @@ public class ClientProxy extends ServerProxy {
|
||||
audio.setKeepAlive(keepAlive);
|
||||
return audio;
|
||||
}
|
||||
|
||||
/** Only used for doors */
|
||||
@Override
|
||||
public AudioWrapper getLoopedSoundStartStop(World world, String sound, String start, String stop, float x, float y, float z, float volume, float pitch) {
|
||||
AudioWrapperClientStartStop audio = new AudioWrapperClientStartStop(world, sound == null ? null : new ResourceLocation(sound), start, stop, volume * 5);
|
||||
audio.updatePosition(x, y, z);
|
||||
return audio;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playSound(String sound, Object data) { }
|
||||
|
||||
@ -45,7 +45,6 @@ public class ServerProxy {
|
||||
|
||||
public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch) { return null; }
|
||||
public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch, int keepAlive) { return null; }
|
||||
public AudioWrapper getLoopedSoundStartStop(World world, String sound, String start, String stop, float x, float y, float z, float volume, float pitch) { return null; }
|
||||
|
||||
public void playSound(String sound, Object data) { }
|
||||
|
||||
|
||||
@ -1,54 +0,0 @@
|
||||
package com.hbm.sound;
|
||||
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
/** Only used for doors */
|
||||
public class AudioWrapperClientStartStop extends AudioWrapperClient {
|
||||
|
||||
public String start;
|
||||
public String stop;
|
||||
public World world;
|
||||
public float ssVol;
|
||||
public float x, y, z;
|
||||
|
||||
public AudioWrapperClientStartStop(World world, ResourceLocation source, String start, String stop, float vol){
|
||||
super(source);
|
||||
if(sound != null){
|
||||
sound.setVolume(vol);
|
||||
}
|
||||
this.ssVol = vol;
|
||||
this.world = world;
|
||||
this.start = start;
|
||||
this.stop = stop;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePosition(float x, float y, float z){
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
super.updatePosition(x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startSound(){
|
||||
if(start != null){
|
||||
world.playSound(x, y, z, start, ssVol * 0.2F, 1, false);
|
||||
}
|
||||
super.startSound();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopSound(){
|
||||
if(stop != null){
|
||||
world.playSound(x, y, z, stop, ssVol * 0.2F, 1, false);
|
||||
}
|
||||
super.stopSound();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getVolume(){
|
||||
return ssVol;
|
||||
}
|
||||
}
|
||||
@ -243,27 +243,49 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn
|
||||
public void handleNewState(byte state){
|
||||
|
||||
if(this.state != state) {
|
||||
if(this.state == 0 && state == 3){
|
||||
if(audio == null){
|
||||
audio = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getOpenSoundLoop(), getDoorType().getOpenSoundStart(), getDoorType().getOpenSoundEnd(), xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1);
|
||||
DoorDecl doorType = getDoorType();
|
||||
|
||||
if(this.state == 0 && state == 3){ // Door transitioning to open
|
||||
if(audio != null) audio.stopSound();
|
||||
|
||||
if(doorType.getOpenSoundLoop() != null){
|
||||
audio = MainRegistry.proxy.getLoopedSound(doorType.getOpenSoundLoop(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F);
|
||||
audio.startSound();
|
||||
}
|
||||
if(audio2 == null && getDoorType().getSoundLoop2() != null){
|
||||
audio2 = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getSoundLoop2(), null, null, xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1);
|
||||
|
||||
if(doorType.getOpenSoundStart() != null){
|
||||
worldObj.playSound(xCoord, yCoord, zCoord, doorType.getOpenSoundStart(), doorType.getSoundVolume(), 1F, false);
|
||||
}
|
||||
|
||||
if(doorType.getSoundLoop2() != null){
|
||||
if(audio2 != null) audio2.stopSound();
|
||||
|
||||
audio2 = MainRegistry.proxy.getLoopedSound(doorType.getSoundLoop2(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F);
|
||||
audio2.startSound();
|
||||
}
|
||||
}
|
||||
if(this.state == 1 && state == 2){
|
||||
if(audio == null){
|
||||
audio = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getCloseSoundLoop(), getDoorType().getCloseSoundStart(), getDoorType().getCloseSoundEnd(), xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1);
|
||||
|
||||
if(this.state == 1 && state == 2){ // Door transitioning to closed
|
||||
if(audio != null) audio.stopSound();
|
||||
|
||||
if(doorType.getCloseSoundLoop() != null){
|
||||
audio = MainRegistry.proxy.getLoopedSound(doorType.getCloseSoundLoop(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F);
|
||||
audio.startSound();
|
||||
}
|
||||
if(audio2 == null && getDoorType().getSoundLoop2() != null){
|
||||
audio2 = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getSoundLoop2(), null, null, xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1);
|
||||
|
||||
if(doorType.getCloseSoundStart() != null){
|
||||
worldObj.playSound(xCoord, yCoord, zCoord, doorType.getCloseSoundStart(), doorType.getSoundVolume(), 1F, false);
|
||||
}
|
||||
|
||||
if(doorType.getSoundLoop2() != null){
|
||||
if(audio2 != null) audio2.stopSound();
|
||||
|
||||
audio2 = MainRegistry.proxy.getLoopedSound(doorType.getSoundLoop2(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F);
|
||||
audio2.startSound();
|
||||
}
|
||||
}
|
||||
if((this.state == 3 && state == 1) || (this.state == 2 && state == 0)){
|
||||
|
||||
if((this.state == 3 && state == 1) || (this.state == 2 && state == 0)){ // Door finished any transition
|
||||
if(audio != null){
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
@ -273,6 +295,18 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn
|
||||
audio2 = null;
|
||||
}
|
||||
}
|
||||
|
||||
if(this.state == 3 && state == 1){ // Door finished transitioning to open
|
||||
if(doorType.getOpenSoundEnd() != null){
|
||||
worldObj.playSound(xCoord, yCoord, zCoord, doorType.getOpenSoundEnd(), doorType.getSoundVolume(), 1F, false);
|
||||
}
|
||||
}
|
||||
|
||||
if(this.state == 2 && state == 0){ // Door finished transitioning to closed
|
||||
if(doorType.getCloseSoundEnd() != null){
|
||||
worldObj.playSound(xCoord, yCoord, zCoord, doorType.getCloseSoundEnd(), doorType.getSoundVolume(), 1F, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
this.state = state;
|
||||
|
||||
@ -14,8 +14,10 @@ import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.inventory.fluid.trait.FT_Coolable;
|
||||
import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.NBTPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.tileentity.INBTPacketReceiver;
|
||||
import com.hbm.tileentity.TileEntityLoadedBase;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
@ -50,11 +52,16 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc
|
||||
|
||||
public FluidTank[] tanks;
|
||||
|
||||
private AudioWrapper audio;
|
||||
private float audioDesync;
|
||||
|
||||
public TileEntityChungus() {
|
||||
|
||||
tanks = new FluidTank[2];
|
||||
tanks[0] = new FluidTank(Fluids.STEAM, 1000000000, 0);
|
||||
tanks[1] = new FluidTank(Fluids.SPENTSTEAM, 1000000000, 1);
|
||||
|
||||
Random rand = new Random();
|
||||
audioDesync = rand.nextFloat() * 0.05F;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,9 +126,9 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc
|
||||
}
|
||||
|
||||
if(turnTimer > 0) {
|
||||
|
||||
this.fanAcceleration = Math.max(0F, Math.min(25F, this.fanAcceleration += 0.1F));
|
||||
|
||||
// Fan accelerates with a random offset to ensure the audio doesn't perfectly align, makes for a more pleasant hum
|
||||
this.fanAcceleration = Math.max(0F, Math.min(25F, this.fanAcceleration += 0.075F + audioDesync));
|
||||
|
||||
Random rand = worldObj.rand;
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset);
|
||||
ForgeDirection side = dir.getRotation(ForgeDirection.UP);
|
||||
@ -133,9 +140,29 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc
|
||||
zCoord + 0.5 + dir.offsetZ * (rand.nextDouble() + 1.25) + rand.nextGaussian() * side.offsetZ * 0.65,
|
||||
-dir.offsetX * 0.2, 0, -dir.offsetZ * 0.2);
|
||||
}
|
||||
}
|
||||
if(turnTimer < 0) {
|
||||
|
||||
|
||||
if(audio == null) {
|
||||
audio = MainRegistry.proxy.getLoopedSound("hbm:block.chungusTurbineRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 1.0F);
|
||||
audio.startSound();
|
||||
}
|
||||
|
||||
float turbineSpeed = this.fanAcceleration / 25F;
|
||||
audio.updateVolume(getVolume(0.5f * turbineSpeed));
|
||||
audio.updatePitch(0.25F + 0.75F * turbineSpeed);
|
||||
} else {
|
||||
this.fanAcceleration = Math.max(0F, Math.min(25F, this.fanAcceleration -= 0.1F));
|
||||
|
||||
if(audio != null) {
|
||||
if(this.fanAcceleration > 0) {
|
||||
float turbineSpeed = this.fanAcceleration / 25F;
|
||||
audio.updateVolume(getVolume(0.5f * turbineSpeed));
|
||||
audio.updatePitch(0.25F + 0.75F * turbineSpeed);
|
||||
} else {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -286,6 +313,26 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc
|
||||
public String getComponentName() {
|
||||
return "ntm_turbine";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChunkUnload() {
|
||||
super.onChunkUnload();
|
||||
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidate() {
|
||||
super.invalidate();
|
||||
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Callback(direct = true)
|
||||
@Optional.Method(modid = "OpenComputers")
|
||||
|
||||
@ -24,6 +24,7 @@ import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
@ -63,6 +64,10 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser
|
||||
public float lastRotor;
|
||||
public boolean isOn;
|
||||
|
||||
private float rotorSpeed = 0F;
|
||||
|
||||
private AudioWrapper audio;
|
||||
|
||||
public TileEntityITER() {
|
||||
super(5);
|
||||
tanks = new FluidTank[2];
|
||||
@ -181,16 +186,38 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser
|
||||
/// END Notif packets ///
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
this.lastRotor = this.rotor;
|
||||
this.rotor += this.rotorSpeed;
|
||||
|
||||
if(this.rotor >= 360) {
|
||||
this.rotor -= 360;
|
||||
this.lastRotor -= 360;
|
||||
}
|
||||
|
||||
if(this.isOn && this.power >= this.powerReq) {
|
||||
if(this.isOn && this.power >= powerReq) {
|
||||
this.rotorSpeed = Math.max(0F, Math.min(15F, this.rotorSpeed + 0.05F));
|
||||
|
||||
if(audio == null) {
|
||||
audio = MainRegistry.proxy.getLoopedSound("hbm:block.fusionReactorRunning", xCoord, yCoord, zCoord, 1.0F, 30F, 1.0F);
|
||||
audio.startSound();
|
||||
}
|
||||
|
||||
float rotorSpeed = this.rotorSpeed / 15F;
|
||||
audio.updateVolume(getVolume(0.5f * rotorSpeed));
|
||||
audio.updatePitch(0.25F + 0.75F * rotorSpeed);
|
||||
} else {
|
||||
this.rotorSpeed = Math.max(0F, Math.min(15F, this.rotorSpeed - 0.1F));
|
||||
|
||||
this.rotor += 15F;
|
||||
|
||||
if(this.rotor >= 360) {
|
||||
this.rotor -= 360;
|
||||
this.lastRotor -= 360;
|
||||
if(audio != null) {
|
||||
if(this.rotorSpeed > 0) {
|
||||
float rotorSpeed = this.rotorSpeed / 15F;
|
||||
audio.updateVolume(getVolume(0.5f * rotorSpeed));
|
||||
audio.updatePitch(0.25F + 0.75F * rotorSpeed);
|
||||
} else {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -477,6 +504,26 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChunkUnload() {
|
||||
super.onChunkUnload();
|
||||
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidate() {
|
||||
super.invalidate();
|
||||
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
|
||||
@ -8,6 +8,8 @@ import com.hbm.inventory.fluid.trait.FT_Heatable;
|
||||
import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingStep;
|
||||
import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.tileentity.INBTPacketReceiver;
|
||||
import com.hbm.tileentity.TileEntityLoadedBase;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
@ -37,6 +39,8 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements
|
||||
|
||||
private int[] heat = new int[10];
|
||||
private long fissureScanTime;
|
||||
|
||||
private AudioWrapper audio;
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
@ -91,6 +95,16 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements
|
||||
double z = worldObj.rand.nextGaussian() * 2;
|
||||
worldObj.spawnParticle("cloud", xCoord + 0.5 + x, yCoord + 6 + y, zCoord + 0.5 + z, 0, 0, 0);
|
||||
}
|
||||
|
||||
if(audio == null) {
|
||||
audio = MainRegistry.proxy.getLoopedSound("hbm:block.hephaestusRunning", xCoord, yCoord + 5F, zCoord, 0.75F, 10F, 1.0F);
|
||||
audio.startSound();
|
||||
}
|
||||
} else {
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
|
||||
if(this.rot >= 360F) {
|
||||
@ -234,6 +248,26 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements
|
||||
return dir != ForgeDirection.UNKNOWN && dir != ForgeDirection.UP && dir != ForgeDirection.DOWN;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChunkUnload() {
|
||||
super.onChunkUnload();
|
||||
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidate() {
|
||||
super.invalidate();
|
||||
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
|
||||
AxisAlignedBB bb = null;
|
||||
|
||||
@Override
|
||||
|
||||
@ -2,6 +2,7 @@ package com.hbm.tileentity.machine;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.handler.CompatHandler;
|
||||
@ -16,6 +17,8 @@ import com.hbm.inventory.fluid.trait.FT_Coolable;
|
||||
import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType;
|
||||
import com.hbm.inventory.gui.GUIMachineLargeTurbine;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
@ -51,6 +54,9 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
|
||||
public float rotor;
|
||||
public float lastRotor;
|
||||
public float fanAcceleration = 0F;
|
||||
|
||||
private AudioWrapper audio;
|
||||
private float audioDesync;
|
||||
|
||||
public TileEntityMachineLargeTurbine() {
|
||||
super(7);
|
||||
@ -58,6 +64,9 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
|
||||
tanks = new FluidTank[2];
|
||||
tanks[0] = new FluidTank(Fluids.STEAM, 512000, 0);
|
||||
tanks[1] = new FluidTank(Fluids.SPENTSTEAM, 10240000, 1);
|
||||
|
||||
Random rand = new Random();
|
||||
audioDesync = rand.nextFloat() * 0.05F;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -129,11 +138,30 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
|
||||
}
|
||||
|
||||
if(shouldTurn) {
|
||||
// Fan accelerates with a random offset to ensure the audio doesn't perfectly align, makes for a more pleasant hum
|
||||
this.fanAcceleration = Math.max(0F, Math.min(15F, this.fanAcceleration += 0.075F + audioDesync));
|
||||
|
||||
this.fanAcceleration = Math.max(0F, Math.min(15F, this.fanAcceleration += 0.1F));
|
||||
}
|
||||
if(!shouldTurn) {
|
||||
if(audio == null) {
|
||||
audio = MainRegistry.proxy.getLoopedSound("hbm:block.largeTurbineRunning", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F);
|
||||
audio.startSound();
|
||||
}
|
||||
|
||||
float turbineSpeed = this.fanAcceleration / 15F;
|
||||
audio.updateVolume(getVolume(0.4f * turbineSpeed));
|
||||
audio.updatePitch(0.25F + 0.75F * turbineSpeed);
|
||||
} else {
|
||||
this.fanAcceleration = Math.max(0F, Math.min(15F, this.fanAcceleration -= 0.1F));
|
||||
|
||||
if(audio != null) {
|
||||
if(this.fanAcceleration > 0) {
|
||||
float turbineSpeed = this.fanAcceleration / 15F;
|
||||
audio.updateVolume(getVolume(0.4f * turbineSpeed));
|
||||
audio.updatePitch(0.25F + 0.75F * turbineSpeed);
|
||||
} else {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -293,6 +321,26 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
|
||||
public String getComponentName() {
|
||||
return "ntm_turbine";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChunkUnload() {
|
||||
super.onChunkUnload();
|
||||
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidate() {
|
||||
super.invalidate();
|
||||
|
||||
if(audio != null) {
|
||||
audio.stopSound();
|
||||
audio = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Callback(direct = true)
|
||||
@Optional.Method(modid = "OpenComputers")
|
||||
|
||||
@ -51,6 +51,8 @@
|
||||
"block.turbinegasStartup": {"category": "block", "sounds": [{"name": "block/turbinegasStartup", "stream": true}]},
|
||||
"block.turbinegasRunning": {"category": "block", "sounds": [{"name": "block/turbinegasRunning", "stream": false}]},
|
||||
"block.turbinegasShutdown": {"category": "block", "sounds": [{"name": "block/turbinegasShutdown", "stream": true}]},
|
||||
"block.chungusTurbineRunning": {"category": "block", "sounds": [{"name": "block/chungusTurbine", "stream": false}]},
|
||||
"block.largeTurbineRunning": {"category": "block", "sounds": [{"name": "block/largeTurbine", "stream": false}]},
|
||||
"block.damage": {"category": "block", "sounds": ["block/dam1", "block/dam2", "block/dam3", "block/dam4"]},
|
||||
"block.electricHum": {"category": "block", "sounds": [{"name": "block/electricHum", "stream": false}]},
|
||||
"block.boiler": {"category": "block", "sounds": [{"name": "block/boiler", "stream": false}]},
|
||||
@ -59,7 +61,9 @@
|
||||
"block.hornFarSingle": {"category": "block", "sounds": [{"name": "block/hornFarSingle", "stream": false}]},
|
||||
"block.hornFarDual": {"category": "block", "sounds": [{"name": "block/hornFarDual", "stream": false}]},
|
||||
"block.reactorLoop": {"category": "block", "sounds": [{"name": "block/reactorLoop", "stream": false}]},
|
||||
"block.fusionReactorRunning": {"category": "block", "sounds": [{"name": "block/fusionReactorSpin", "stream": false}]},
|
||||
"block.fel": {"category": "block", "sounds": [{"name": "block/fel", "stream": false}]},
|
||||
"block.hephaestusRunning": {"category": "block", "sounds": [{"name": "block/hephaestusRunning", "stream": false}]},
|
||||
|
||||
"door.TransitionSealOpen": {"category": "block", "sounds": [{"name": "block/door/transition_seal_open", "stream": true}]},
|
||||
"door.wghStart": {"category": "block", "sounds": [{"name": "block/door/wgh_start", "stream": true}]},
|
||||
|
||||
BIN
src/main/resources/assets/hbm/sounds/block/chungusTurbine.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/chungusTurbine.ogg
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/sounds/block/fusionReactorSpin.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/fusionReactorSpin.ogg
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/sounds/block/hephaestusRunning.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/hephaestusRunning.ogg
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/sounds/block/largeTurbine.ogg
Normal file
BIN
src/main/resources/assets/hbm/sounds/block/largeTurbine.ogg
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user