From 544b567e926307f8a9ab603fe88895099591e7f0 Mon Sep 17 00:00:00 2001 From: MistPhizzle Date: Sat, 27 Sep 2014 20:48:14 -0400 Subject: [PATCH] Firebending Sounds Most Firebending abilities will now have a sound, FireBurst sounds ridiculous at the moment. --- src/com/projectkorra/ProjectKorra/Methods.java | 7 +++++++ .../projectkorra/ProjectKorra/firebending/Combustion.java | 3 +++ .../projectkorra/ProjectKorra/firebending/FireBlast.java | 7 ++++++- src/com/projectkorra/ProjectKorra/firebending/FireJet.java | 3 +++ .../projectkorra/ProjectKorra/firebending/Fireball.java | 4 ++++ 5 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/com/projectkorra/ProjectKorra/Methods.java b/src/com/projectkorra/ProjectKorra/Methods.java index feebac0d..74566d02 100644 --- a/src/com/projectkorra/ProjectKorra/Methods.java +++ b/src/com/projectkorra/ProjectKorra/Methods.java @@ -18,6 +18,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Random; import java.util.Set; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; @@ -127,6 +128,8 @@ import org.bukkit.entity.TNTPrimed; public class Methods { static ProjectKorra plugin; + + public static Random rand = new Random(); private static final ItemStack pickaxe = new ItemStack(Material.DIAMOND_PICKAXE); @@ -1972,6 +1975,10 @@ public class Methods { loc.getWorld().playEffect(loc, Effect.MOBSPAWNER_FLAMES, 0, 15); } + public static void playFirebendingSound(Location loc) { + loc.getWorld().playSound(loc, Sound.FIRE, 1, 10); + } + public static void playMetalbendingSound(Location loc) { loc.getWorld().playSound(loc, Sound.IRONGOLEM_HIT, 1, 10); } diff --git a/src/com/projectkorra/ProjectKorra/firebending/Combustion.java b/src/com/projectkorra/ProjectKorra/firebending/Combustion.java index 6e279937..cf10cbb8 100644 --- a/src/com/projectkorra/ProjectKorra/firebending/Combustion.java +++ b/src/com/projectkorra/ProjectKorra/firebending/Combustion.java @@ -159,6 +159,9 @@ public class Combustion { private void advanceLocation() { ParticleEffect.FIREWORKS_SPARK.display(location, (float) Math.random(), (float) Math.random(), (float) Math.random(), 0, 5); ParticleEffect.FLAME.display(location, (float) Math.random(), (float) Math.random(), (float) Math.random(), 0, 2); + if (Methods.rand.nextInt(4) == 0) { + Methods.playFirebendingSound(location); + } location = location.add(direction.clone().multiply(speedfactor)); } diff --git a/src/com/projectkorra/ProjectKorra/firebending/FireBlast.java b/src/com/projectkorra/ProjectKorra/firebending/FireBlast.java index 390d4028..3414f5f6 100644 --- a/src/com/projectkorra/ProjectKorra/firebending/FireBlast.java +++ b/src/com/projectkorra/ProjectKorra/firebending/FireBlast.java @@ -2,6 +2,7 @@ package com.projectkorra.ProjectKorra.firebending; import java.util.ArrayList; import java.util.List; +import java.util.Random; import java.util.concurrent.ConcurrentHashMap; import org.bukkit.Effect; @@ -24,6 +25,8 @@ import com.projectkorra.ProjectKorra.waterbending.WaterManipulation; public class FireBlast { + Random rand = new Random(); + public static ConcurrentHashMap instances = new ConcurrentHashMap(); private static double speed = ProjectKorra.plugin.getConfig().getDouble("Abilities.Fire.FireBlast.Speed"); private static double pushfactor = ProjectKorra.plugin.getConfig().getDouble("Abilities.Fire.FireBlast.Push"); @@ -164,7 +167,9 @@ public class FireBlast { private void advanceLocation() { location.getWorld().playEffect(location, Effect.MOBSPAWNER_FLAMES, 0, (int) range); location = location.add(direction.clone().multiply(speedfactor)); - + if (rand.nextInt(4) == 0) { + Methods.playFirebendingSound(location); + } } private void ignite(Location location) { diff --git a/src/com/projectkorra/ProjectKorra/firebending/FireJet.java b/src/com/projectkorra/ProjectKorra/firebending/FireJet.java index 726baa4e..aba5e520 100644 --- a/src/com/projectkorra/ProjectKorra/firebending/FireJet.java +++ b/src/com/projectkorra/ProjectKorra/firebending/FireJet.java @@ -73,6 +73,9 @@ public class FireJet { // player.setAllowFlight(canfly); instances.remove(player); } else { + if (Methods.rand.nextInt(2) == 0) { + Methods.playFirebendingSound(player.getLocation()); + } player.getWorld().playEffect(player.getLocation(), Effect.MOBSPAWNER_FLAMES, 1); double timefactor; if (AvatarState.isAvatarState(player) && isToggle) { diff --git a/src/com/projectkorra/ProjectKorra/firebending/Fireball.java b/src/com/projectkorra/ProjectKorra/firebending/Fireball.java index dbc31dc0..523f7814 100644 --- a/src/com/projectkorra/ProjectKorra/firebending/Fireball.java +++ b/src/com/projectkorra/ProjectKorra/firebending/Fireball.java @@ -164,6 +164,10 @@ public class Fireball { private void fireball() { for (Block block : Methods.getBlocksAroundPoint(location, radius)) { block.getWorld().playEffect(block.getLocation(), Effect.MOBSPAWNER_FLAMES, 0, 20); + if (Methods.rand.nextInt(4) == 0) { + Methods.playFirebendingSound(location); + } + } for (Entity entity : Methods.getEntitiesAroundPoint(location, 2 * radius)) {