From f067577599d6c05965f88f9423ddbe77d93ce6ed Mon Sep 17 00:00:00 2001 From: Calclavia Date: Fri, 24 Jan 2014 22:51:05 +0800 Subject: [PATCH] Added hammer sound effect --- .../api/events/LaserEvent.java | 4 ++-- .../archaic/engineering/ItemHammer.java | 2 ++ .../resonantinduction/core/SoundHandler.java | 2 +- .../electrical/armbot/TileArmbot.java | 4 ++-- .../mechanical/fluid/tank/BlockTank.java | 4 ++-- .../assets/resonantinduction/sound/hammer.ogg | Bin 0 -> 12664 bytes 6 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 src/main/resources/assets/resonantinduction/sound/hammer.ogg diff --git a/src/main/java/resonantinduction/api/events/LaserEvent.java b/src/main/java/resonantinduction/api/events/LaserEvent.java index 87482999..b9915db3 100644 --- a/src/main/java/resonantinduction/api/events/LaserEvent.java +++ b/src/main/java/resonantinduction/api/events/LaserEvent.java @@ -20,7 +20,7 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.Cancelable; import net.minecraftforge.event.Event; import universalelectricity.api.vector.Vector3; -import calclavia.lib.utility.WorldUtility; +import calclavia.lib.utility.inventory.InventoryUtility; /** * An event triggered by entities or tiles that create lasers @@ -266,7 +266,7 @@ public class LaserEvent extends Event items = event.items; for (ItemStack stack : items) { - WorldUtility.dropItemStack(world, vec.translate(0.5), stack, false); + InventoryUtility.dropItemStack(world, vec.translate(0.5), stack); } } } diff --git a/src/main/java/resonantinduction/archaic/engineering/ItemHammer.java b/src/main/java/resonantinduction/archaic/engineering/ItemHammer.java index 86cd90ff..075f19cb 100644 --- a/src/main/java/resonantinduction/archaic/engineering/ItemHammer.java +++ b/src/main/java/resonantinduction/archaic/engineering/ItemHammer.java @@ -8,6 +8,7 @@ import net.minecraftforge.oredict.OreDictionary; import resonantinduction.api.recipe.MachineRecipes; import resonantinduction.api.recipe.MachineRecipes.RecipeType; import resonantinduction.api.recipe.RecipeUtils.Resource; +import resonantinduction.core.Reference; import resonantinduction.core.prefab.item.ItemRI; import universalelectricity.api.vector.Vector3; import calclavia.lib.utility.inventory.InventoryUtility; @@ -54,6 +55,7 @@ public class ItemHammer extends ItemRI } } + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, Reference.PREFIX + "hammer", 0.5f, 0.8f + (0.2f * world.rand.nextFloat())); player.addExhaustion(1); stack.damageItem(1, player); } diff --git a/src/main/java/resonantinduction/core/SoundHandler.java b/src/main/java/resonantinduction/core/SoundHandler.java index 8a40bb2b..263b1b87 100644 --- a/src/main/java/resonantinduction/core/SoundHandler.java +++ b/src/main/java/resonantinduction/core/SoundHandler.java @@ -17,7 +17,7 @@ public class SoundHandler { public static final SoundHandler INSTANCE = new SoundHandler(); - public static final String[] SOUND_FILES = { "grinder1.ogg", "grinder2.ogg", "grinder3.ogg", "grinder4.ogg", "electricshock1.ogg", "electricshock2.ogg", "electricshock3.ogg", "electricshock4.ogg", "electricshock5.ogg", "electricshock6.ogg", "electricshock7.ogg" }; + public static final String[] SOUND_FILES = { "hammer.ogg", "grinder1.ogg", "grinder2.ogg", "grinder3.ogg", "grinder4.ogg", "electricshock1.ogg", "electricshock2.ogg", "electricshock3.ogg", "electricshock4.ogg", "electricshock5.ogg", "electricshock6.ogg", "electricshock7.ogg" }; @ForgeSubscribe public void loadSoundEvents(SoundLoadEvent event) diff --git a/src/main/java/resonantinduction/electrical/armbot/TileArmbot.java b/src/main/java/resonantinduction/electrical/armbot/TileArmbot.java index be2d2894..02855c3b 100644 --- a/src/main/java/resonantinduction/electrical/armbot/TileArmbot.java +++ b/src/main/java/resonantinduction/electrical/armbot/TileArmbot.java @@ -26,7 +26,7 @@ import calclavia.lib.network.IPacketReceiverWithID; import calclavia.lib.network.PacketHandler; import calclavia.lib.prefab.tile.TileElectrical; import calclavia.lib.utility.MathUtility; -import calclavia.lib.utility.WorldUtility; +import calclavia.lib.utility.inventory.InventoryUtility; import com.builtbroken.common.Pair; import com.google.common.io.ByteArrayDataInput; @@ -365,7 +365,7 @@ public class TileArmbot extends TileElectrical implements IMultiBlock, IArmbot, if (this.getHeldObject() instanceof ItemStack) { Vector3 handPosition = this.getHandPos(); - WorldUtility.dropItemStack(worldObj, handPosition, (ItemStack) this.getHeldObject(), false); + InventoryUtility.dropItemStack(worldObj, handPosition, (ItemStack) this.getHeldObject()); } this.grabbedObject = null; this.sendGrabItemToClient(); diff --git a/src/main/java/resonantinduction/mechanical/fluid/tank/BlockTank.java b/src/main/java/resonantinduction/mechanical/fluid/tank/BlockTank.java index 5cfdfc24..e0f0d5bf 100644 --- a/src/main/java/resonantinduction/mechanical/fluid/tank/BlockTank.java +++ b/src/main/java/resonantinduction/mechanical/fluid/tank/BlockTank.java @@ -16,7 +16,7 @@ import resonantinduction.mechanical.fluid.pipe.ItemBlockFluidContainer; import resonantinduction.mechanical.fluid.prefab.BlockFluidNetwork; import universalelectricity.api.vector.Vector3; import calclavia.lib.utility.FluidUtility; -import calclavia.lib.utility.WorldUtility; +import calclavia.lib.utility.inventory.InventoryUtility; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -132,7 +132,7 @@ public class BlockTank extends BlockFluidNetwork } else { - WorldUtility.dropItemStack(world, new Vector3(x, y, z), dropStack, false); + InventoryUtility.dropItemStack(world, new Vector3(x, y, z), dropStack); } world.setBlockToAir(x, y, z); } diff --git a/src/main/resources/assets/resonantinduction/sound/hammer.ogg b/src/main/resources/assets/resonantinduction/sound/hammer.ogg new file mode 100644 index 0000000000000000000000000000000000000000..01e00b90d46e320040d01c32ee44e723a7386ae2 GIT binary patch literal 12664 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 literal 0 HcmV?d00001