Added Tesla sound fxs
This commit is contained in:
parent
c686e325b9
commit
8436e0aa50
10 changed files with 43 additions and 3 deletions
BIN
resources/assets/resonantinduction/sound/electricshock1.ogg
Normal file
BIN
resources/assets/resonantinduction/sound/electricshock1.ogg
Normal file
Binary file not shown.
BIN
resources/assets/resonantinduction/sound/electricshock2.ogg
Normal file
BIN
resources/assets/resonantinduction/sound/electricshock2.ogg
Normal file
Binary file not shown.
BIN
resources/assets/resonantinduction/sound/electricshock3.ogg
Normal file
BIN
resources/assets/resonantinduction/sound/electricshock3.ogg
Normal file
Binary file not shown.
BIN
resources/assets/resonantinduction/sound/electricshock4.ogg
Normal file
BIN
resources/assets/resonantinduction/sound/electricshock4.ogg
Normal file
Binary file not shown.
BIN
resources/assets/resonantinduction/sound/electricshock5.ogg
Normal file
BIN
resources/assets/resonantinduction/sound/electricshock5.ogg
Normal file
Binary file not shown.
BIN
resources/assets/resonantinduction/sound/electricshock6.ogg
Normal file
BIN
resources/assets/resonantinduction/sound/electricshock6.ogg
Normal file
Binary file not shown.
BIN
resources/assets/resonantinduction/sound/electricshock7.ogg
Normal file
BIN
resources/assets/resonantinduction/sound/electricshock7.ogg
Normal file
Binary file not shown.
|
@ -5,6 +5,7 @@ package resonantinduction;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import resonantinduction.base.Vector3;
|
import resonantinduction.base.Vector3;
|
||||||
import resonantinduction.contractor.TileEntityEMContractor;
|
import resonantinduction.contractor.TileEntityEMContractor;
|
||||||
import resonantinduction.fx.FXElectricBolt;
|
import resonantinduction.fx.FXElectricBolt;
|
||||||
|
@ -28,6 +29,8 @@ public class ClientProxy extends CommonProxy
|
||||||
@Override
|
@Override
|
||||||
public void registerRenderers()
|
public void registerRenderers()
|
||||||
{
|
{
|
||||||
|
MinecraftForge.EVENT_BUS.register(SoundHandler.INSTANCE);
|
||||||
|
|
||||||
RenderingRegistry.registerBlockHandler(BlockRenderingHandler.INSTANCE);
|
RenderingRegistry.registerBlockHandler(BlockRenderingHandler.INSTANCE);
|
||||||
|
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTesla.class, new RenderTesla());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTesla.class, new RenderTesla());
|
||||||
|
|
32
src/resonantinduction/SoundHandler.java
Normal file
32
src/resonantinduction/SoundHandler.java
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package resonantinduction;
|
||||||
|
|
||||||
|
import net.minecraftforge.client.event.sound.SoundLoadEvent;
|
||||||
|
import net.minecraftforge.event.ForgeSubscribe;
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Calclavia
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public class SoundHandler
|
||||||
|
{
|
||||||
|
public static final SoundHandler INSTANCE = new SoundHandler();
|
||||||
|
|
||||||
|
public static final String[] SOUND_FILES = { "electricshock1.ogg", "electricshock2.ogg", "electricshock3.ogg", "electricshock4.ogg", "electricshock5.ogg", "electricshock6.ogg", "electricshock7.ogg" };
|
||||||
|
|
||||||
|
@ForgeSubscribe
|
||||||
|
public void loadSoundEvents(SoundLoadEvent event)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < SOUND_FILES.length; i++)
|
||||||
|
{
|
||||||
|
event.manager.soundPoolSounds.addSound(ResonantInduction.PREFIX + SOUND_FILES[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
ResonantInduction.LOGGER.fine("Loaded sound fxs");
|
||||||
|
}
|
||||||
|
}
|
|
@ -78,8 +78,10 @@ public class TileEntityTesla extends TileEntityBase implements ITesla, IPacketRe
|
||||||
|
|
||||||
for (ITesla tesla : transferTeslaCoils)
|
for (ITesla tesla : transferTeslaCoils)
|
||||||
{
|
{
|
||||||
tesla.transfer(transferEnergy * (1 - (this.worldObj.rand.nextFloat() * 0.1f)));
|
if (this.ticks % 20 == 0)
|
||||||
this.transfer(-transferEnergy);
|
{
|
||||||
|
this.worldObj.playSoundEffect(this.xCoord + 0.5, this.yCoord + 0.5, this.zCoord + 0.5, ResonantInduction.PREFIX + "electricshock", this.getEnergyStored() / 10, (float) (1 - 0.2 * (this.dyeID / 16)));
|
||||||
|
}
|
||||||
|
|
||||||
Vector3 teslaVector = new Vector3((TileEntity) tesla);
|
Vector3 teslaVector = new Vector3((TileEntity) tesla);
|
||||||
|
|
||||||
|
@ -89,6 +91,9 @@ public class TileEntityTesla extends TileEntityBase implements ITesla, IPacketRe
|
||||||
}
|
}
|
||||||
|
|
||||||
ResonantInduction.proxy.renderElectricShock(this.worldObj, new Vector3(this.getTopTelsa()).translate(new Vector3(0.5)), teslaVector.translate(new Vector3(0.5)), (float) dyeColors[this.dyeID].x, (float) dyeColors[this.dyeID].y, (float) dyeColors[this.dyeID].z);
|
ResonantInduction.proxy.renderElectricShock(this.worldObj, new Vector3(this.getTopTelsa()).translate(new Vector3(0.5)), teslaVector.translate(new Vector3(0.5)), (float) dyeColors[this.dyeID].x, (float) dyeColors[this.dyeID].y, (float) dyeColors[this.dyeID].z);
|
||||||
|
|
||||||
|
tesla.transfer(transferEnergy * (1 - (this.worldObj.rand.nextFloat() * 0.1f)));
|
||||||
|
this.transfer(-transferEnergy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue