diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBase.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBase.java index ab3683d64..e1cf8b46b 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBase.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBase.java @@ -1,5 +1,6 @@ package mineplex.core.disguise.disguises; +import org.bukkit.Location; import org.bukkit.craftbukkit.v1_6_R2.entity.CraftEntity; import net.minecraft.server.v1_6_R2.DataWatcher; @@ -40,6 +41,16 @@ public abstract class DisguiseBase return new Packet40EntityMetadata(Entity.id, DataWatcher, true); } + public void playHurtSound() + { + Entity.world.makeSound(Entity, getHurtSound(), getVolume(), getPitch()); + } + + public void playHurtSound(Location location) + { + Entity.world.makeSound(location.getX(), location.getY(), location.getZ(), getHurtSound(), getVolume(), getPitch()); + } + public void UpdateEntity(Entity entity) { Entity = entity; @@ -54,4 +65,10 @@ public abstract class DisguiseBase { return Entity.id; } + + protected abstract String getHurtSound(); + + protected abstract float getVolume(); + + protected abstract float getPitch(); } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBat.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBat.java index 17d6bcfea..ebf77039c 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBat.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBat.java @@ -12,7 +12,21 @@ public class DisguiseBat extends DisguiseAmbient @Override public Packet GetSpawnPacket() { - // TODO Auto-generated method stub return null; } + + public String getHurtSound() + { + return "mob.bat.hurt"; + } + + protected float getVolume() + { + return 0.1F; + } + + protected float getPitch() + { + return super.getPitch() * 0.95F; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBlaze.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBlaze.java index d3e50d624..a27b023a7 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBlaze.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseBlaze.java @@ -31,4 +31,9 @@ public class DisguiseBlaze extends DisguiseMonster DataWatcher.watch(16, Byte.valueOf(b0)); } + + public String getHurtSound() + { + return "mob.blaze.hit"; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseChicken.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseChicken.java index 66e4d3c0f..fbebe6472 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseChicken.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseChicken.java @@ -12,4 +12,9 @@ public class DisguiseChicken extends DisguiseAnimal { return 93; } + + public String getHurtSound() + { + return "mob.chicken.hurt"; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseCreeper.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseCreeper.java index 3666a6aeb..1d71e8f7a 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseCreeper.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseCreeper.java @@ -35,4 +35,9 @@ public class DisguiseCreeper extends DisguiseMonster { DataWatcher.watch(16, Byte.valueOf((byte)i)); } + + protected String getHurtSound() + { + return "mob.creeper.say"; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseEnderman.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseEnderman.java index f04fee281..1255ff3c8 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseEnderman.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseEnderman.java @@ -56,4 +56,9 @@ public class DisguiseEnderman extends DisguiseMonster { return 58; } + + protected String getHurtSound() + { + return "mob.endermen.hit"; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseIronGolem.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseIronGolem.java index 0e849767c..8fbb0a554 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseIronGolem.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseIronGolem.java @@ -29,4 +29,9 @@ public class DisguiseIronGolem extends DisguiseGolem else DataWatcher.watch(16, Byte.valueOf((byte)(b0 & 0xFFFFFFFE))); } + + protected String getHurtSound() + { + return "mob.irongolem.hit"; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseLiving.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseLiving.java index 3c6b2a53c..c2bfb4f56 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseLiving.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseLiving.java @@ -1,7 +1,11 @@ package mineplex.core.disguise.disguises; +import java.util.Random; + public abstract class DisguiseLiving extends DisguiseBase { + private static Random _random = new Random(); + public DisguiseLiving(org.bukkit.entity.Entity entity) { super(entity); @@ -16,9 +20,24 @@ public abstract class DisguiseLiving extends DisguiseBase { super.UpdateDataWatcher(); - //DataWatcher.watch(6, Entity.getDataWatcher().getFloat(6)); - //DataWatcher.watch(7, Entity.getDataWatcher().getInt(7)); - //DataWatcher.watch(8, Entity.getDataWatcher().getByte(8)); - //DataWatcher.watch(9, Entity.getDataWatcher().getByte(9)); + DataWatcher.watch(6, Entity.getDataWatcher().getFloat(6)); + DataWatcher.watch(7, Entity.getDataWatcher().getInt(7)); + DataWatcher.watch(8, Entity.getDataWatcher().getByte(8)); + DataWatcher.watch(9, Entity.getDataWatcher().getByte(9)); } + + protected String getHurtSound() + { + return "damage.hit"; + } + + protected float getVolume() + { + return 1.0F; + } + + protected float getPitch() + { + return (_random.nextFloat() - _random.nextFloat()) * 0.2F + 1.0F; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguisePigZombie.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguisePigZombie.java index a98b272de..cc36af9a4 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguisePigZombie.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguisePigZombie.java @@ -12,4 +12,9 @@ public class DisguisePigZombie extends DisguiseZombie { return 57; } + + protected String getHurtSound() + { + return "mob.zombiepig.zpighurt"; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSkeleton.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSkeleton.java index 81fe8d11b..47e794979 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSkeleton.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSkeleton.java @@ -26,4 +26,9 @@ public class DisguiseSkeleton extends DisguiseMonster { return DataWatcher.getByte(13); } + + protected String getHurtSound() + { + return "mob.skeleton.hurt"; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSlime.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSlime.java index 14f57e58a..2e7c38c49 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSlime.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSlime.java @@ -151,4 +151,14 @@ public class DisguiseSlime extends DisguiseInsentient } } } + + protected String getHurtSound() + { + return "mob.slime." + (GetSize() > 1 ? "big" : "small"); + } + + protected float getVolume() + { + return 0.4F * (float)GetSize(); + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSpider.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSpider.java index aaf23c1eb..84afbfae7 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSpider.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSpider.java @@ -31,4 +31,9 @@ public class DisguiseSpider extends DisguiseMonster { return 52; } + + protected String getHurtSound() + { + return "mob.spider.say"; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSquid.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSquid.java index 0de9388ea..30d075c75 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSquid.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseSquid.java @@ -31,4 +31,14 @@ public class DisguiseSquid extends DisguiseMonster { return 94; } + + protected String getHurtSound() + { + return null; + } + + protected float getVolume() + { + return 0.4F; + } } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseZombie.java b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseZombie.java index bdc49a6f7..ba0ad9a54 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseZombie.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/disguise/disguises/DisguiseZombie.java @@ -38,4 +38,9 @@ public class DisguiseZombie extends DisguiseMonster { DataWatcher.watch(13, Byte.valueOf((byte)(villager ? 1 : 0))); } + + protected String getHurtSound() + { + return "mob.zombie.hurt"; + } } diff --git a/Plugins/Mineplex.Minecraft.Game.Core/src/mineplex/minecraft/game/core/damage/DamageManager.java b/Plugins/Mineplex.Minecraft.Game.Core/src/mineplex/minecraft/game/core/damage/DamageManager.java index 167d9db4f..d0238f957 100644 --- a/Plugins/Mineplex.Minecraft.Game.Core/src/mineplex/minecraft/game/core/damage/DamageManager.java +++ b/Plugins/Mineplex.Minecraft.Game.Core/src/mineplex/minecraft/game/core/damage/DamageManager.java @@ -367,7 +367,7 @@ public class DamageManager extends MiniPlugin if (_disguiseManager.isDisguised(damagee)) { - //_disguiseManager.getDisguise(damagee).playHurtSound(damagee.getLocation()); + _disguiseManager.getDisguise(damagee).playHurtSound(); return; } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWebShot.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWebShot.java index fe1545eeb..1275d6dbc 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWebShot.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/kit/perks/PerkWebShot.java @@ -13,7 +13,6 @@ import org.bukkit.event.player.PlayerInteractEvent; import mineplex.core.common.util.C; import mineplex.core.common.util.F; import mineplex.core.common.util.UtilAction; -import mineplex.core.common.util.UtilAlg; import mineplex.core.common.util.UtilBlock; import mineplex.core.common.util.UtilInv; import mineplex.core.common.util.UtilPlayer;