Skip to content

Commit

Permalink
Categorize sounds to NEUTRAL to enable muting
Browse files Browse the repository at this point in the history
Categorize easyrider sound output to Neutral to make it mutable by lowering Friendly Creatures volume slider. Sound otherwise plays on Master Volume slider.
  • Loading branch information
PlNG authored Nov 22, 2020
1 parent 142c472 commit b56c095
Show file tree
Hide file tree
Showing 9 changed files with 37 additions and 28 deletions.
13 changes: 7 additions & 6 deletions src/nu/nerd/easyrider/EasyRider.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.bukkit.OfflinePlayer;
import org.bukkit.Particle;
import org.bukkit.Sound;
import org.bukkit.SoundCategory;
import org.bukkit.World;
import org.bukkit.World.Environment;
import org.bukkit.attribute.Attribute;
Expand Down Expand Up @@ -307,7 +308,7 @@ public void onEntityTame(EntityTameEvent event) {
SavedHorse savedHorse = DB.findOrAddHorse(abstractHorse);
DB.observe(savedHorse, abstractHorse);

owner.playSound(owner.getLocation(), Sound.BLOCK_DISPENSER_DISPENSE, 1f, 1f);
owner.playSound(owner.getLocation(), Sound.BLOCK_DISPENSER_DISPENSE, SoundCategory.NEUTRAL, 1f, 1f);
owner.sendMessage(ChatColor.GOLD + "This " + Util.entityTypeName(abstractHorse) + " has been locked.");
getLogger().info(owner.getName() + " tamed " + Util.entityTypeName(abstractHorse) + " " + entity.getUniqueId().toString());
}
Expand Down Expand Up @@ -954,7 +955,7 @@ protected void notifyLevelUp(Player player, SavedHorse savedHorse, AbstractHorse
" in " + ability.getDisplayName() + ".");
Location loc = horse.getLocation().add(0, 1, 0);
loc.getWorld().spawnParticle(Particle.VILLAGER_HAPPY, loc, 100, 2.0f, 1.0f, 2.0f);
loc.getWorld().playSound(loc, Sound.ENTITY_PLAYER_LEVELUP, 2.0f, 1.0f);
loc.getWorld().playSound(loc, Sound.ENTITY_PLAYER_LEVELUP, SoundCategory.NEUTRAL, 2.0f, 1.0f);
}

// ------------------------------------------------------------------------
Expand Down Expand Up @@ -1002,7 +1003,7 @@ protected void handleDrinking(AbstractHorse abstractHorse, SavedHorse savedHorse
savedHorse.setHydration(1.0);
player.sendMessage(ChatColor.GOLD + savedHorse.getMessageName() + " drinks until it is no longer thirsty!");
Location loc = abstractHorse.getLocation();
loc.getWorld().playSound(loc, Sound.ENTITY_GENERIC_DRINK, 2.0f, 1.0f);
loc.getWorld().playSound(loc, Sound.ENTITY_GENERIC_DRINK, SoundCategory.NEUTRAL, 2.0f, 1.0f);
}
}
}
Expand Down Expand Up @@ -1088,7 +1089,7 @@ protected void handleFeeding(AbstractHorse abstractHorse, SavedHorse savedHorse,
player.getEquipment().setItemInMainHand(new ItemStack(Material.BUCKET, 1));
savedHorse.setHydration(savedHorse.getHydration() + EasyRider.CONFIG.BUCKET_HYDRATION);
Location loc = abstractHorse.getLocation();
loc.getWorld().playSound(loc, Sound.ENTITY_GENERIC_DRINK, 2.0f, 1.0f);
loc.getWorld().playSound(loc, Sound.ENTITY_GENERIC_DRINK, SoundCategory.NEUTRAL, 2.0f, 1.0f);
}

if (savedHorse.isFullyHydrated()) {
Expand Down Expand Up @@ -1142,7 +1143,7 @@ protected void consumeGoldenFood(SavedHorse savedHorse, AbstractHorse horse, int
}

Location loc = horse.getLocation();
loc.getWorld().playSound(loc, Sound.ENTITY_HORSE_EAT, 2.0f, 1.0f);
loc.getWorld().playSound(loc, Sound.ENTITY_HORSE_EAT, SoundCategory.NEUTRAL, 2.0f, 1.0f);

if (CONFIG.HEALTH.getFractionalLevel(savedHorse) > CONFIG.HEALTH.getMaxLevel()) {
savedHorse.onOverfed(player, horse);
Expand Down Expand Up @@ -1253,4 +1254,4 @@ protected void addCommandExecutor(ExecutorBase executor) {
*/
protected DisguiseProvider _disguiseProvider;

} // class EasyRider
} // class EasyRider
11 changes: 6 additions & 5 deletions src/nu/nerd/easyrider/commands/HorseFreeExecutor.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.Sound;
import org.bukkit.SoundCategory;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.AbstractHorse;
Expand Down Expand Up @@ -72,9 +73,9 @@ public void onPlayerInteractEntity(PlayerInteractEntityEvent event, SavedHorse s
sender.sendMessage(ChatColor.GOLD + "This " + entityTypeName + ", " +
Util.limitString(savedHorse.getUuid().toString(), 20) +
", has been freed.");
sendingPlayer.playSound(sendingPlayer.getLocation(), Sound.UI_BUTTON_CLICK, 1.0f, 1.0f);
sendingPlayer.playSound(sendingPlayer.getLocation(), Sound.UI_BUTTON_CLICK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
} else {
sendingPlayer.playSound(sendingPlayer.getLocation(), Sound.ENTITY_ITEM_BREAK, 1.0f, 1.0f);
sendingPlayer.playSound(sendingPlayer.getLocation(), Sound.ENTITY_ITEM_BREAK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
sender.sendMessage(ChatColor.RED + "You don't own that " + entityTypeName + "!");
if (sender.hasPermission("easyrider.bypass")) {
sender.sendMessage(ChatColor.RED + "Use /horse-bypass to bypass access checks.");
Expand All @@ -90,7 +91,7 @@ public void onPlayerInteractEntity(PlayerInteractEntityEvent event, SavedHorse s
owningPlayer = Bukkit.getOfflinePlayer(args[0]);
if (owningPlayer == null) {
sender.sendMessage(ChatColor.RED + "There is no known player named " + args[0] + ".");
sendingPlayer.playSound(sendingPlayer.getLocation(), Sound.ENTITY_ITEM_BREAK, 1.0f, 1.0f);
sendingPlayer.playSound(sendingPlayer.getLocation(), Sound.ENTITY_ITEM_BREAK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
return true;
}

Expand All @@ -117,10 +118,10 @@ public void onPlayerInteractEntity(PlayerInteractEntityEvent event, SavedHorse s
sender.sendMessage(ChatColor.GOLD + "The " + entityTypeName + ", " +
Util.limitString(savedHorse.getUuid().toString(), 20) +
", has been freed.");
sendingPlayer.playSound(sendingPlayer.getLocation(), Sound.UI_BUTTON_CLICK, 1.0f, 1.0f);
sendingPlayer.playSound(sendingPlayer.getLocation(), Sound.UI_BUTTON_CLICK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
}
}

return true;
}
} // class HorseFreeExecutor
} // class HorseFreeExecutor
7 changes: 4 additions & 3 deletions src/nu/nerd/easyrider/commands/HorseGPSExecutor.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.bukkit.Location;
import org.bukkit.OfflinePlayer;
import org.bukkit.Sound;
import org.bukkit.SoundCategory;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.AbstractHorse;
Expand Down Expand Up @@ -150,10 +151,10 @@ protected void pointTo(Player player, SavedHorse savedHorse) {
Location playerLoc = player.getLocation();
Location horseLoc = savedHorse.getLocation();
if (horseLoc == null) {
playerLoc.getWorld().playSound(playerLoc, Sound.ENTITY_ITEM_BREAK, 1.0f, 1.0f);
playerLoc.getWorld().playSound(playerLoc, Sound.ENTITY_ITEM_BREAK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
player.sendMessage(ChatColor.GOLD + "The specified animal could not be found.");
} else {
playerLoc.getWorld().playSound(playerLoc, Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0f, 1.0f);
playerLoc.getWorld().playSound(playerLoc, Sound.ENTITY_EXPERIENCE_ORB_PICKUP, SoundCategory.NEUTRAL, 1.0f, 1.0f);

// Send VoxelMap compatible coordinates.
// The mod uses lowercase name, x, y, z, no trailing space after
Expand Down Expand Up @@ -240,4 +241,4 @@ protected void pointTo(Player player, SavedHorse savedHorse) {
*/
protected Set<String> DEFAULT_WORLD_NAMES = new HashSet(Arrays.asList("world", "world_nether", "world_the_end"));

} // class HorseGPSExecutor
} // class HorseGPSExecutor
3 changes: 2 additions & 1 deletion src/nu/nerd/easyrider/commands/HorseInfoExecutor.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import org.bukkit.ChatColor;
import org.bukkit.Sound;
import org.bukkit.SoundCategory;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.AbstractHorse;
Expand Down Expand Up @@ -103,7 +104,7 @@ protected void showLevels(Player player, AbstractHorse abstractHorse) {
showAttribute(player, EasyRider.CONFIG.JUMP, abstractHorse);
player.sendMessage(ChatColor.GOLD + "Strength: " + ChatColor.GRAY + llama.getStrength());
}
player.playSound(player.getLocation(), Sound.UI_BUTTON_CLICK, 1.0f, 1.0f);
player.playSound(player.getLocation(), Sound.UI_BUTTON_CLICK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
}

// ------------------------------------------------------------------------
Expand Down
5 changes: 3 additions & 2 deletions src/nu/nerd/easyrider/commands/HorseNextExecutor.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import org.bukkit.ChatColor;
import org.bukkit.Sound;
import org.bukkit.SoundCategory;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.AbstractHorse;
Expand Down Expand Up @@ -86,7 +87,7 @@ protected void showNext(Player player, AbstractHorse abstractHorse) {
} else {
player.sendMessage(ChatColor.RED + "That " + Util.entityTypeName(abstractHorse) + " cannot be trained.");
}
player.playSound(player.getLocation(), Sound.UI_BUTTON_CLICK, 1.0f, 1.0f);
player.playSound(player.getLocation(), Sound.UI_BUTTON_CLICK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
}

// ------------------------------------------------------------------------
Expand Down Expand Up @@ -120,4 +121,4 @@ protected void showLevel(Player player, Ability ability, SavedHorse savedHorse)
levelColour + "Level " + String.format("%5.3f", fractionalLevel) +
ChatColor.GOLD + " - " + nextEffort);
}
} // class HorseNextExecutor
} // class HorseNextExecutor
7 changes: 4 additions & 3 deletions src/nu/nerd/easyrider/commands/HorseSetLevelExecutor.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import org.bukkit.ChatColor;
import org.bukkit.Sound;
import org.bukkit.SoundCategory;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.AbstractHorse;
Expand Down Expand Up @@ -81,10 +82,10 @@ public void onPlayerInteractEntity(PlayerInteractEntityEvent event, SavedHorse s
ability.setEffort(savedHorse, ability.getEffortForLevel(newLevel));
ability.updateAttribute(savedHorse, abstractHorse);
showLevel(player, "New ", ability, savedHorse);
player.playSound(player.getLocation(), Sound.UI_BUTTON_CLICK, 1.0f, 1.0f);
player.playSound(player.getLocation(), Sound.UI_BUTTON_CLICK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
} else {
player.sendMessage(ChatColor.RED + "That " + Util.entityTypeName(abstractHorse) + " cannot be trained.");
player.playSound(player.getLocation(), Sound.ENTITY_ITEM_BREAK, 1.0f, 1.0f);
player.playSound(player.getLocation(), Sound.ENTITY_ITEM_BREAK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
}
}
});
Expand Down Expand Up @@ -112,4 +113,4 @@ protected void showLevel(Player player, String prefix, Ability ability, SavedHor
ChatColor.YELLOW + ability.getFormattedValue(savedHorse) +
ChatColor.GRAY + " (" + ability.getFormattedEffort(savedHorse) + ")");
}
} // class HorseSetLevelExecutor
} // class HorseSetLevelExecutor
7 changes: 4 additions & 3 deletions src/nu/nerd/easyrider/commands/HorseSwapExecutor.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import org.bukkit.ChatColor;
import org.bukkit.Sound;
import org.bukkit.SoundCategory;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.AbstractHorse;
Expand Down Expand Up @@ -68,10 +69,10 @@ public void onPlayerInteractEntity(PlayerInteractEntityEvent event, SavedHorse n
sender.sendMessage(ChatColor.GOLD + "Horse " +
originalHorse.getUuid() + " has swapped stats with " +
newHorse.getUuid() + ".");
player.playSound(player.getLocation(), Sound.UI_BUTTON_CLICK, 1.0f, 1.0f);
player.playSound(player.getLocation(), Sound.UI_BUTTON_CLICK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
} else {
player.sendMessage(ChatColor.RED + "That animal is not trainable.");
player.playSound(player.getLocation(), Sound.ENTITY_ITEM_BREAK, 1.0f, 1.0f);
player.playSound(player.getLocation(), Sound.ENTITY_ITEM_BREAK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
}
}
});
Expand All @@ -93,4 +94,4 @@ public void onPlayerInteractEntity(PlayerInteractEntityEvent event, SavedHorse n
}
return false;
}
} // class HorseSwapExecutor
} // class HorseSwapExecutor
5 changes: 3 additions & 2 deletions src/nu/nerd/easyrider/commands/HorseTameExecutor.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.Sound;
import org.bukkit.SoundCategory;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.AbstractHorse;
Expand Down Expand Up @@ -63,11 +64,11 @@ public void onPlayerInteractEntity(PlayerInteractEntityEvent event, SavedHorse s
"The " + Util.entityTypeName(abstractHorse) + ", " +
Util.limitString(savedHorse.getUuid().toString(), 20) +
", now belongs to " + newOwner.getName() + ".");
player.playSound(player.getLocation(), Sound.UI_BUTTON_CLICK, 1.0f, 1.0f);
player.playSound(player.getLocation(), Sound.UI_BUTTON_CLICK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
}
});
}

return true;
}
} // class HorseTameExecutor
} // class HorseTameExecutor
7 changes: 4 additions & 3 deletions src/nu/nerd/easyrider/db/SavedHorse.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.bukkit.Location;
import org.bukkit.OfflinePlayer;
import org.bukkit.Sound;
import org.bukkit.SoundCategory;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeInstance;
import org.bukkit.configuration.ConfigurationSection;
Expand Down Expand Up @@ -864,7 +865,7 @@ public void onRidden(int relativeTick, AbstractHorse horse) {
_messageRateLimiter.run(() -> {
rider.sendMessage(ChatColor.RED + getMessageName() +
" is too dehydrated to benefit from training. Give it a drink of water.");
rider.playSound(rider.getLocation(), Sound.ENTITY_ITEM_BREAK, 1.0f, 1.0f);
rider.playSound(rider.getLocation(), Sound.ENTITY_ITEM_BREAK, SoundCategory.NEUTRAL, 1.0f, 1.0f);
})) {
long newMessageCoolDown = Math.min(Math.max(MIN_MESSAGE_COOLDOWN_MILLIS,
_messageRateLimiter.getCoolDownMillis() * 2),
Expand Down Expand Up @@ -897,7 +898,7 @@ public void onOverfed(Player player, AbstractHorse horse) {
player.sendMessage(ChatColor.RED + getMessageName()
+ " has exceeded the maximum possible health. Feeding it more gold will not increase its health.");
Location loc = horse.getLocation();
loc.getWorld().playSound(loc, Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0f, 1.0f);
loc.getWorld().playSound(loc, Sound.ENTITY_EXPERIENCE_ORB_PICKUP, SoundCategory.NEUTRAL, 1.0f, 1.0f);
});
}

Expand Down Expand Up @@ -1276,4 +1277,4 @@ public boolean equals(Object obj) {
// @Transient
private final RateLimiter _overfedRateLimiter = new RateLimiter(5000);

} // class SavedHorse
} // class SavedHorse

0 comments on commit b56c095

Please sign in to comment.