Set custom subtitles for our sounds

This commit is contained in:
Sollace 2022-01-05 00:43:07 +02:00
parent eaa3c8a2a5
commit 188c3a5523
25 changed files with 637 additions and 80 deletions

View file

@ -10,17 +10,66 @@ public interface USounds {
SoundEvent ENTITY_PLAYER_BATPONY_SCREECH = register("entity.player.batpony.screech");
SoundEvent ENTITY_PLAYER_REBOUND = register("entity.player.rebound");
SoundEvent ENTITY_PLAYER_PEGASUS_WINGSFLAP = register("entity.player.pegasus.wingsflap");
SoundEvent ENTITY_PLAYER_PEGASUS_MOLT = register("entity.player.pegasus.molt");
SoundEvent ENTITY_PLAYER_CHANGELING_BUZZ = register("entity.player.changeling.buzz");
SoundEvent ENTITY_PLAYER_CHANGELING_TRANSFORM = register("entity.player.changeling.transform");
SoundEvent ENTITY_PLAYER_UNICORN_TELEPORT = register("entity.player.unicorn.teleport");
SoundEvent ENTITY_PLAYER_EARS_RINGING = register("entity.player.ears_ring");
SoundEvent ENTITY_PLAYER_HEARTBEAT = register("entity.player.heartbeat");
SoundEvent ENTITY_PLAYER_WOLOLO = register("entity.player.wololo");
SoundEvent ENTITY_PLAYER_WHISTLE = register("entity.player.whistle");
SoundEvent ENTITY_PLAYER_KICK = register("entity.player.kick");
SoundEvent ENTITY_ARTEFACT_AMBIENT = register("entity.artefact.ambient");
SoundEvent ENTITY_BUTTERFLY_HURT = register("entity.butterfly.hurt");
SoundEvent ENTITY_TWITTERMITE_AMBIENT = register("entity.twittermite.ambient");
SoundEvent ENTITY_TWITTERMITE_HURT = register("entity.twittermite.hurt");
SoundEvent ENTITY_TWITTERMITE_DEATH = register("entity.twittermite.death");
SoundEvent ENTITY_JAR_THROW = register("entity.jar.throw");
SoundEvent ENTITY_CRYSTAL_HEART_ACTIVATE = register("entity.crystal_heart.activate");
SoundEvent ENTITY_CRYSTAL_HEART_DEACTIVATE = register("entity.crystal_heart.deactivate");
SoundEvent ITEM_AMULET_CHARGING = register("item.amulet.charging");
SoundEvent ITEM_AMULET_RECHARGE = register("item.amulet.recharge");
SoundEvent ITEM_ICARUS_WINGS_PURIFY = register("item.icarus_wings.resonate");
SoundEvent ITEM_ICARUS_WINGS_CORRUPT = register("item.icarus_wings.corrupted");
SoundEvent ITEM_ICARUS_WINGS_WARN = register("item.icarus_wings.warn");
SoundEvent ITEM_ICARUS_WINGS_EXHAUSTED = register("item.icarus_wings.break");
SoundEvent ITEM_ALICORN_AMULET_CURSE = register("item.alicorn_amulet.curse");
SoundEvent ITEM_ALICORN_AMULET_HALLUCINATION = register("item.alicorn_amulet.hallucination");
SoundEvent ITEM_ALICORN_AMULET_AMBIENT = register("item.alicorn_amulet.ambient");
SoundEvent ITEM_APPLE_ROT = register("item.apple.rot");
SoundEvent ITEM_BRACELET_SIGN = register("item.bracelet.sign");
SoundEvent ITEM_MAGIC_AURA = register("item.magic.aura");
SoundEvent RECORD_CRUSADE = register("record.crusade");
SoundEvent RECORD_PET = register("record.pet");
SoundEvent RECORD_POPULAR = register("record.popular");
SoundEvent RECORD_FUNK = register("record.funk");
SoundEvent SPELL_CAST_FAIL = register("spell.cast.fail");
SoundEvent SPELL_CAST_SUCCESS = register("spell.cast.success");
SoundEvent SPELL_CAST_SHOOT = register("spell.cast.shoot");
SoundEvent SPELL_ILLUSION_DISPERSE = register("spell.illusion.disperse");
SoundEvent SPELL_FIRE_BOLT_SHOOT = register("spell.fire.shoot.bolt");
SoundEvent SPELL_SHIELD_BURN_PROJECTILE = register("spell.shield.projectile.burn");
SoundEvent SPELL_TRANSFORM_TRANSMUTE_ENTITY = register("spell.transform.transmute.entity");
SoundEvent AMBIENT_DARK_VORTEX_MOOD = register("ambient.dark_vortex.mood");
SoundEvent AMBIENT_DARK_VORTEX_ADDITIONS = register("ambient.dark_vortex.additions");
SoundEvent GUI_ABILITY_FAIL = register("gui.ability.fail");
SoundEvent GUI_SPELL_CRAFT_SUCCESS = register("gui.spellcraft.success");
SoundEvent RECORD_CRUSADE = register("music_disc.crusade");
SoundEvent RECORD_PET = register("music_disc.pet");
SoundEvent RECORD_POPULAR = register("music_disc.popular");
SoundEvent RECORD_FUNK = register("music_disc.funk");
static SoundEvent register(String name) {
Identifier id = new Identifier("unicopia", name);

View file

@ -9,6 +9,7 @@ import java.util.Optional;
import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.Race;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.data.Hit;
import com.minelittlepony.unicopia.entity.player.Pony;
import com.minelittlepony.unicopia.network.MsgPlayerAbility;
@ -17,7 +18,6 @@ import com.minelittlepony.unicopia.util.NbtSerialisable;
import com.minelittlepony.unicopia.util.Tickable;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.Identifier;
public class AbilityDispatcher implements Tickable, NbtSerialisable {
@ -211,7 +211,7 @@ public class AbilityDispatcher implements Tickable, NbtSerialisable {
if (data != null) {
Channel.CLIENT_PLAYER_ABILITY.send(new MsgPlayerAbility<>(ability, data, ActivationType.NONE));
} else {
player.getEntity().playSound(SoundEvents.BLOCK_NOTE_BLOCK_DIDGERIDOO, 1, 1);
player.getEntity().playSound(USounds.GUI_ABILITY_FAIL, 1, 1);
setCooldown(0);
}
}

View file

@ -3,6 +3,7 @@ package com.minelittlepony.unicopia.ability;
import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.data.Hit;
import com.minelittlepony.unicopia.ability.magic.SpellPredicate;
import com.minelittlepony.unicopia.ability.magic.spell.AbstractDisguiseSpell;
@ -18,7 +19,6 @@ import net.minecraft.entity.decoration.AbstractDecorationEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.predicate.entity.EntityPredicates;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvents;
/**
* Changeling ability to disguise themselves as other players.
@ -58,7 +58,7 @@ public class ChangelingDisguiseAbility extends ChangelingFeedAbility {
return null;
}).orElse(null));
player.getEntityWorld().playSound(null, player.getBlockPos(), SoundEvents.ENTITY_PARROT_IMITATE_RAVAGER, SoundCategory.PLAYERS, 1.4F, 0.4F);
player.getEntityWorld().playSound(null, player.getBlockPos(), USounds.ENTITY_PLAYER_CHANGELING_TRANSFORM, SoundCategory.PLAYERS, 1.4F, 0.4F);
iplayer.getSpellSlot().get(SpellType.CHANGELING_DISGUISE, true)
.orElseGet(() -> SpellType.CHANGELING_DISGUISE.withTraits().apply(iplayer))

View file

@ -5,6 +5,7 @@ import java.util.Random;
import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.Race;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.data.Hit;
import com.minelittlepony.unicopia.ability.magic.spell.HomingSpell;
import com.minelittlepony.unicopia.ability.magic.spell.Spell;
@ -20,7 +21,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.particle.ParticleTypes;
import net.minecraft.predicate.entity.EntityPredicates;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
@ -90,7 +90,7 @@ public class UnicornCastingAbility implements Ability<Hit> {
if (amount < 0) {
AmuletItem.consumeEnergy(stack, amount);
player.getMagicalReserves().getMana().add(amount * player.getMagicalReserves().getMana().getMax());
player.getWorld().playSoundFromEntity(null, player.getMaster(), SoundEvents.BLOCK_END_PORTAL_FRAME_FILL, SoundCategory.PLAYERS, 1, 1);
player.getWorld().playSoundFromEntity(null, player.getMaster(), USounds.ITEM_AMULET_RECHARGE, SoundCategory.PLAYERS, 1, 1);
}
}
} else {
@ -105,13 +105,13 @@ public class UnicornCastingAbility implements Ability<Hit> {
Spell s = spell.apply(player);
if (s == null) {
player.spawnParticles(ParticleTypes.LARGE_SMOKE, 6);
player.playSound(SoundEvents.ENTITY_ITEM_BREAK, 1, 0.5F);
player.playSound(USounds.SPELL_CAST_FAIL, 1, 0.5F);
} else {
player.setAnimation(Animation.ARMS_UP);
if (s instanceof HomingSpell) {
RayTraceHelper.doTrace(player.getMaster(), 600, 1, EntityPredicates.CAN_COLLIDE).getEntity().ifPresent(((HomingSpell)s)::setTarget);
}
player.playSound(SoundEvents.BLOCK_BEACON_POWER_SELECT, 0.05F, 2.2F);
player.playSound(USounds.SPELL_CAST_SUCCESS, 0.05F, 2.2F);
}
} else {
player.setAnimation(Animation.WOLOLO);
@ -146,7 +146,7 @@ public class UnicornCastingAbility implements Ability<Hit> {
Random rng = player.getWorld().random;
player.addParticle(i > 0.5F ? ParticleTypes.LARGE_SMOKE : ParticleTypes.CLOUD, eyes, VecHelper.supply(() -> (rng.nextGaussian() - 0.5) / 10));
player.playSound(SoundEvents.ENTITY_GUARDIAN_ATTACK, 1, i / 20);
player.playSound(USounds.ITEM_AMULET_CHARGING, 1, i / 20);
} else {
player.spawnParticles(MagicParticleEffect.UNICORN, 5);
}

View file

@ -1,6 +1,7 @@
package com.minelittlepony.unicopia.ability;
import com.minelittlepony.unicopia.Race;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.data.Hit;
import com.minelittlepony.unicopia.ability.data.Pos;
import com.minelittlepony.unicopia.ability.magic.Caster;
@ -19,7 +20,6 @@ import net.minecraft.network.packet.s2c.play.EntityPassengersSetS2CPacket;
import net.minecraft.predicate.entity.EntityPredicates;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.Identifier;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.hit.HitResult;
@ -136,7 +136,7 @@ public class UnicornTeleportAbility implements Ability<Pos> {
return;
}
teleportee.getWorld().playSound(null, teleportee.getOrigin(), SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.PLAYERS, 1, 1);
teleportee.getWorld().playSound(null, teleportee.getOrigin(), USounds.ENTITY_PLAYER_UNICORN_TELEPORT, SoundCategory.PLAYERS, 1, 1);
double distance = destination.distanceTo(teleportee) / 10;
@ -160,7 +160,7 @@ public class UnicornTeleportAbility implements Ability<Pos> {
player.fallDistance /= distance;
player.world.playSound(null, destination.pos(), SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.PLAYERS, 1, 1);
player.world.playSound(null, destination.pos(), USounds.ENTITY_PLAYER_UNICORN_TELEPORT, SoundCategory.PLAYERS, 1, 1);
}
private boolean enterable(World w, BlockPos pos) {

View file

@ -4,6 +4,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Optional;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.magic.Caster;
import com.minelittlepony.unicopia.ability.magic.spell.effect.SpellType;
import com.minelittlepony.unicopia.ability.magic.spell.trait.SpellTraits;
@ -13,7 +14,6 @@ import com.minelittlepony.unicopia.projectile.MagicProjectileEntity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.sound.SoundEvents;
import net.minecraft.world.World;
public final class ThrowableSpell extends AbstractDelegatingSpell {
@ -57,7 +57,7 @@ public final class ThrowableSpell extends AbstractDelegatingSpell {
return Optional.empty();
}
caster.playSound(SoundEvents.ITEM_CHORUS_FRUIT_TELEPORT, 0.7F, 0.4F / (world.random.nextFloat() * 0.4F + 0.8F));
caster.playSound(USounds.SPELL_CAST_SHOOT, 0.7F, 0.4F / (world.random.nextFloat() * 0.4F + 0.8F));
if (!caster.isClient()) {
MagicProjectileEntity projectile = new MagicProjectileEntity(world, entity);

View file

@ -2,6 +2,7 @@ package com.minelittlepony.unicopia.ability.magic.spell.effect;
import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.magic.Affine;
import com.minelittlepony.unicopia.ability.magic.Caster;
import com.minelittlepony.unicopia.ability.magic.spell.Situation;
@ -26,7 +27,6 @@ import net.minecraft.nbt.NbtCompound;
import net.minecraft.particle.ParticleTypes;
import net.minecraft.predicate.entity.EntityPredicates;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
@ -74,7 +74,7 @@ public class DarkVortexSpell extends AttractiveSpell {
setDirty();
if (age % 20 == 0) {
source.getWorld().playSound(null, source.getOrigin(), SoundEvents.AMBIENT_SOUL_SAND_VALLEY_ADDITIONS, SoundCategory.AMBIENT, 1, 1);
source.getWorld().playSound(null, source.getOrigin(), USounds.AMBIENT_DARK_VORTEX_ADDITIONS, SoundCategory.AMBIENT, 1, 1);
}
source.subtractEnergyCost(-accumulatedMass);
@ -224,9 +224,7 @@ public class DarkVortexSpell extends AttractiveSpell {
}
source.subtractEnergyCost(-getMass(target) * 10);
source.getWorld().playSound(null, source.getOrigin(), SoundEvents.AMBIENT_CRIMSON_FOREST_MOOD, SoundCategory.AMBIENT, 2, 0.02F);
source.getWorld().playSound(null, source.getOrigin(), USounds.AMBIENT_DARK_VORTEX_MOOD, SoundCategory.AMBIENT, 2, 0.02F);
} else {
double force = getAttractiveForce(source, target);

View file

@ -1,5 +1,6 @@
package com.minelittlepony.unicopia.ability.magic.spell.effect;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.magic.Caster;
import com.minelittlepony.unicopia.ability.magic.SpellPredicate;
import com.minelittlepony.unicopia.ability.magic.spell.AbstractAreaEffectSpell;
@ -9,8 +10,6 @@ import com.minelittlepony.unicopia.ability.magic.spell.trait.Trait;
import com.minelittlepony.unicopia.particle.MagicParticleEffect;
import com.minelittlepony.unicopia.util.shape.Sphere;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.math.Vec3d;
/**
@ -44,7 +43,7 @@ public class DisperseIllusionSpell extends AbstractAreaEffectSpell {
.filter(spell -> spell.isVulnerable(source, this))
.ifPresent(spell -> {
spell.onSuppressed(source, 1 + getTraits().get(Trait.STRENGTH));
source.getWorld().playSound(null, e.getOrigin(), SoundEvents.ENTITY_ZOMBIE_VILLAGER_CURE, SoundCategory.PLAYERS, 0.2F, 0.5F);
e.playSound(USounds.SPELL_ILLUSION_DISPERSE, 0.2F, 0.5F);
});
});

View file

@ -2,6 +2,7 @@ package com.minelittlepony.unicopia.ability.magic.spell.effect;
import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.magic.Caster;
import com.minelittlepony.unicopia.ability.magic.spell.HomingSpell;
import com.minelittlepony.unicopia.ability.magic.spell.ProjectileSpell;
@ -12,7 +13,6 @@ import com.minelittlepony.unicopia.projectile.MagicProjectileEntity;
import net.minecraft.entity.Entity;
import net.minecraft.item.Items;
import net.minecraft.predicate.entity.EntityPredicates;
import net.minecraft.sound.SoundEvents;
public class FireBoltSpell extends AbstractSpell implements ProjectileSpell, HomingSpell {
public static final SpellTraits DEFAULT_TRAITS = new SpellTraits.Builder()
@ -67,7 +67,7 @@ public class FireBoltSpell extends AbstractSpell implements ProjectileSpell, Hom
c.setHomingTarget(target);
});
caster.playSound(SoundEvents.ENTITY_BLAZE_SHOOT, 0.7F, 0.4F / (caster.getWorld().random.nextFloat() * 0.4F + 0.8F));
caster.playSound(USounds.SPELL_FIRE_BOLT_SHOOT, 0.7F, 0.4F / (caster.getWorld().random.nextFloat() * 0.4F + 0.8F));
}
return false;
}

View file

@ -1,6 +1,7 @@
package com.minelittlepony.unicopia.ability.magic.spell.effect;
import com.minelittlepony.unicopia.Affinity;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.ability.magic.Caster;
import com.minelittlepony.unicopia.ability.magic.spell.Situation;
@ -26,7 +27,6 @@ import net.minecraft.entity.decoration.ArmorStandEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.vehicle.AbstractMinecartEntity;
import net.minecraft.entity.vehicle.BoatEntity;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.math.Vec3d;
public class ShieldSpell extends AbstractSpell {
@ -151,7 +151,7 @@ public class ShieldSpell extends AbstractSpell {
if (ProjectileUtil.isFlyingProjectile(target)) {
if (!ProjectileUtil.isProjectileThrownBy(target, source.getMaster())) {
if (distance < 1) {
target.playSound(SoundEvents.ENTITY_ZOMBIE_VILLAGER_CURE, 0.1F, 1);
target.playSound(USounds.SPELL_SHIELD_BURN_PROJECTILE, 0.1F, 1);
target.remove(RemovalReason.DISCARDED);
} else {
ProjectileUtil.ricochet(target, pos, 0.9F);

View file

@ -6,6 +6,7 @@ import java.util.Optional;
import java.util.Random;
import java.util.Set;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.UTags;
import com.minelittlepony.unicopia.ability.magic.Caster;
import com.minelittlepony.unicopia.ability.magic.spell.Situation;
@ -19,7 +20,6 @@ import net.minecraft.entity.EntityType;
import net.minecraft.entity.SpawnGroup;
import net.minecraft.entity.mob.MobEntity;
import net.minecraft.particle.ParticleTypes;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.Util;
/**
@ -41,10 +41,10 @@ public class TransformationSpell extends AbstractSpell implements ProjectileSpel
return;
}
pickType(entity.getType(), entity.world.random).flatMap(type -> convert(entity, type)).ifPresentOrElse(e -> {
entity.playSound(SoundEvents.ENTITY_ITEM_PICKUP, 1, 1);
entity.playSound(USounds.SPELL_TRANSFORM_TRANSMUTE_ENTITY, 1, 1);
}, () -> {
ParticleUtils.spawnParticles(ParticleTypes.SMOKE, entity, 20);
entity.playSound(SoundEvents.BLOCK_NOTE_BLOCK_DIDGERIDOO, 1, 1);
entity.playSound(USounds.GUI_ABILITY_FAIL, 1, 1);
});
}

View file

@ -2,6 +2,7 @@ package com.minelittlepony.unicopia.client.render;
import java.util.Optional;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.client.minelittlepony.MineLPConnector;
import com.minelittlepony.unicopia.entity.player.Pony;
@ -10,7 +11,6 @@ import net.minecraft.client.render.entity.model.BipedEntityModel;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.sound.SoundEvent;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.Arm;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3f;
@ -175,12 +175,12 @@ public class PlayerPoser {
public enum Animation {
NONE(0),
WOLOLO(SoundEvents.ENTITY_EVOKER_PREPARE_WOLOLO, 40),
WOLOLO(USounds.ENTITY_PLAYER_WOLOLO, 40),
ARMS_FORWARD(5),
ARMS_UP(5),
WAVE_ONE(SoundEvents.ENTITY_PARROT_AMBIENT, 20),
WAVE_TWO(SoundEvents.ENTITY_PARROT_AMBIENT, 20),
KICK(SoundEvents.ENTITY_PHANTOM_FLAP, 5),
WAVE_ONE(USounds.ENTITY_PLAYER_WHISTLE, 20),
WAVE_TWO(USounds.ENTITY_PLAYER_WHISTLE, 20),
KICK(USounds.ENTITY_PLAYER_KICK, 5),
STOMP(5),
WIGGLE_NOSE(6);

View file

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import com.minelittlepony.unicopia.EquinePredicates;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.magic.spell.trait.SpellTraits;
import com.minelittlepony.unicopia.entity.player.Pony;
import com.minelittlepony.unicopia.item.UItems;
@ -28,7 +29,6 @@ import net.minecraft.screen.slot.CraftingResultSlot;
import net.minecraft.screen.slot.Slot;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.Identifier;
public class SpellbookScreenHandler extends ScreenHandler {
@ -432,7 +432,7 @@ public class SpellbookScreenHandler extends ScreenHandler {
public void setStack(ItemStack stack) {
super.setStack(stack);
if (!stack.isEmpty()) {
player.playSound(SoundEvents.BLOCK_END_PORTAL_FRAME_FILL, SoundCategory.MASTER, 1, 0.3F);
player.playSound(USounds.GUI_SPELL_CRAFT_SUCCESS, SoundCategory.MASTER, 1, 0.3F);
}
}

View file

@ -8,6 +8,7 @@ import java.util.function.Predicate;
import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.util.NbtSerialisable;
import net.minecraft.block.BlockState;
@ -26,7 +27,6 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.predicate.entity.EntityPredicates;
import net.minecraft.sound.SoundEvent;
import net.minecraft.sound.SoundEvents;
import net.minecraft.tag.BlockTags;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
@ -67,7 +67,7 @@ public class ButterflyEntity extends AmbientEntity {
@Nullable
@Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn) {
return SoundEvents.ENTITY_BAT_HURT;
return USounds.ENTITY_BUTTERFLY_HURT;
}
@Override

View file

@ -34,7 +34,6 @@ import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtHelper;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.sound.SoundEvent;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
@ -86,13 +85,13 @@ public class FairyEntity extends PathAwareEntity implements DynamicLightSource,
@Override
@Nullable
protected SoundEvent getHurtSound(DamageSource source) {
return SoundEvents.ENTITY_BAT_HURT;
return USounds.ENTITY_TWITTERMITE_HURT;
}
@Override
@Nullable
protected SoundEvent getDeathSound() {
return SoundEvents.ENTITY_BAT_DEATH;
return USounds.ENTITY_TWITTERMITE_DEATH;
}
@Override
@ -189,7 +188,7 @@ public class FairyEntity extends PathAwareEntity implements DynamicLightSource,
setStaying(getBlockPos());
}
playSound(SoundEvents.ENTITY_BAT_AMBIENT, getSoundVolume() / 3, getSoundPitch() * 3);
playSound(USounds.ENTITY_TWITTERMITE_AMBIENT, getSoundVolume() / 3, getSoundPitch() * 3);
return ActionResult.SUCCESS;
}

View file

@ -1,5 +1,6 @@
package com.minelittlepony.unicopia.entity;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.item.UItems;
import com.minelittlepony.unicopia.network.Channel;
import com.minelittlepony.unicopia.network.MsgSpawnProjectile;
@ -13,7 +14,6 @@ import net.minecraft.entity.data.TrackedDataHandlerRegistry;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.network.Packet;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.ActionResult;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
@ -129,7 +129,7 @@ public class FloatingArtefactEntity extends Entity {
if (world.getTime() % 80 == 0) {
State state = getState();
playSound(SoundEvents.BLOCK_BEACON_AMBIENT, state.getVolume(), state.getPitch());
playSound(USounds.ENTITY_ARTEFACT_AMBIENT, state.getVolume(), state.getPitch());
}
}

View file

@ -187,7 +187,7 @@ public class PlayerPhysics extends EntityPhysics<PlayerEntity> implements Tickab
if (typeChanged) {
pony.spawnParticles(ParticleTypes.CLOUD, 10);
entity.playSound(entity.world.getDimension().isUltrawarm() ? SoundEvents.BLOCK_BELL_USE : SoundEvents.BLOCK_BELL_RESONATE, 0.1125F, 1.5F);
entity.playSound(entity.world.getDimension().isUltrawarm() ? USounds.ITEM_ICARUS_WINGS_CORRUPT : USounds.ITEM_ICARUS_WINGS_PURIFY, 0.1125F, 1.5F);
}
entity.getAbilities().allowFlying = type.canFlyCreative(entity);
@ -319,7 +319,7 @@ public class PlayerPhysics extends EntityPhysics<PlayerEntity> implements Tickab
if (entity.world.random.nextInt(9000) == 0) {
entity.dropItem(UItems.PEGASUS_FEATHER);
entity.playSound(SoundEvents.ENTITY_CHICKEN_EGG, 0.3F, 1);
entity.playSound(USounds.ENTITY_PLAYER_PEGASUS_MOLT, 0.3F, 1);
UCriteria.SHED_FEATHER.trigger(entity);
}
}
@ -373,7 +373,7 @@ public class PlayerPhysics extends EntityPhysics<PlayerEntity> implements Tickab
AmuletItem.consumeEnergy(stack, energyConsumed);
if (AmuletItem.getEnergy(stack) < 9) {
entity.playSound(SoundEvents.BLOCK_CHAIN_STEP, 0.13F, 0.5F);
entity.playSound(USounds.ITEM_ICARUS_WINGS_WARN, 0.13F, 0.5F);
}
if (entity.world.random.nextInt(damageInterval) == 0) {
@ -381,7 +381,7 @@ public class PlayerPhysics extends EntityPhysics<PlayerEntity> implements Tickab
}
if (!getFlightType().canFly()) {
entity.playSound(SoundEvents.ITEM_SHIELD_BREAK, 1, 2);
entity.playSound(USounds.ITEM_ICARUS_WINGS_EXHAUSTED, 1, 2);
cancelFlight();
}
}

View file

@ -8,6 +8,7 @@ import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.Affinity;
import com.minelittlepony.unicopia.AwaitTickQueue;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.entity.IItemEntity;
import com.minelittlepony.unicopia.entity.ItemImpl;
import com.minelittlepony.unicopia.entity.ItemImpl.TickableItem;
@ -35,7 +36,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.particle.ParticleEffect;
import net.minecraft.particle.ParticleTypes;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvents;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.ActionResult;
@ -182,7 +182,7 @@ public class AlicornAmuletItem extends AmuletItem implements PlayerCharmTracker.
}
if (attachedTime == 1) {
world.playSound(null, player.getBlockPos(), SoundEvents.ENTITY_ELDER_GUARDIAN_CURSE, SoundCategory.PLAYERS, 3, 1);
world.playSound(null, player.getBlockPos(), USounds.ITEM_ALICORN_AMULET_CURSE, SoundCategory.PLAYERS, 3, 1);
}
// attempt to play 3 tricks every tick
@ -213,7 +213,7 @@ public class AlicornAmuletItem extends AmuletItem implements PlayerCharmTracker.
ItemEntity entity = (ItemEntity)item;
if (entity.world.random.nextInt(500) == 0) {
entity.world.playSound(null, entity.getBlockPos(), SoundEvents.AMBIENT_CAVE, SoundCategory.HOSTILE, 0.5F, 1);
entity.world.playSound(null, entity.getBlockPos(), USounds.ITEM_ALICORN_AMULET_AMBIENT, SoundCategory.HOSTILE, 0.5F, 1);
}
return ActionResult.PASS;
@ -222,7 +222,7 @@ public class AlicornAmuletItem extends AmuletItem implements PlayerCharmTracker.
public static class Trick {
private static final List<Trick> ALL = new ArrayList<>();
public static final Trick SPOOK = new Trick(0, 1050, player -> player.world.playSound(null, player.getBlockPos(), SoundEvents.AMBIENT_NETHER_WASTES_MOOD, SoundCategory.PLAYERS, 3, 1));
public static final Trick SPOOK = new Trick(0, 1050, player -> player.world.playSound(null, player.getBlockPos(), USounds.ITEM_ALICORN_AMULET_HALLUCINATION, SoundCategory.PLAYERS, 3, 1));
public static final Trick WITHER = new Trick(20000, 100, player -> {
StatusEffectInstance effect = new StatusEffectInstance(player.world.random.nextInt(32000) == 0 ? StatusEffects.WITHER : StatusEffects.HUNGER, 300, 3);
effect.setPermanent(true);

View file

@ -3,6 +3,7 @@ package com.minelittlepony.unicopia.item;
import java.util.List;
import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.entity.IItemEntity;
import com.minelittlepony.unicopia.entity.ItemImpl;
import com.minelittlepony.unicopia.item.toxin.Toxicity;
@ -14,7 +15,6 @@ import net.minecraft.entity.ItemEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.particle.ParticleTypes;
import net.minecraft.sound.SoundEvents;
import net.minecraft.text.Text;
import net.minecraft.util.ActionResult;
import net.minecraft.util.math.MathHelper;
@ -57,7 +57,7 @@ public class AppleItem extends Item implements ItemImpl.TickableItem {
entity.world.random.nextGaussian() - 0.5F,
entity.world.random.nextGaussian() - 0.5F);
}
entity.playSound(SoundEvents.ENTITY_ZOMBIE_DESTROY_EGG, 0.5F, 1.5F);
entity.playSound(USounds.ITEM_APPLE_ROT, 0.5F, 1.5F);
}
return ActionResult.PASS;

View file

@ -3,6 +3,7 @@ package com.minelittlepony.unicopia.item;
import java.util.ArrayList;
import java.util.List;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.UTags;
import com.minelittlepony.unicopia.entity.FloatingArtefactEntity;
import com.minelittlepony.unicopia.entity.UEntities;
@ -29,7 +30,6 @@ import net.minecraft.item.ItemUsageContext;
import net.minecraft.particle.ParticleTypes;
import net.minecraft.predicate.entity.EntityPredicates;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.ActionResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Box;
@ -66,7 +66,7 @@ public class CrystalHeartItem extends Item implements FloatingArtefactEntity.Art
entity.setStack(context.getStack().split(1));
((ServerWorld)world).spawnEntityAndPassengers(entity);
entity.playSound(SoundEvents.BLOCK_BEACON_ACTIVATE, 0.75F, 0.8F);
entity.playSound(USounds.ENTITY_CRYSTAL_HEART_ACTIVATE, 0.75F, 0.8F);
} else {
context.getStack().decrement(1);
}
@ -151,7 +151,7 @@ public class CrystalHeartItem extends Item implements FloatingArtefactEntity.Art
@Override
public ActionResult onArtifactDestroyed(FloatingArtefactEntity entity) {
entity.playSound(SoundEvents.BLOCK_BEACON_DEACTIVATE, 0.75F, 1);
entity.playSound(USounds.ENTITY_CRYSTAL_HEART_DEACTIVATE, 0.75F, 1);
entity.dropStack(new ItemStack(UItems.CRYSTAL_SHARD, 1 + entity.world.random.nextInt(5)), 0);
return ActionResult.SUCCESS;
}

View file

@ -6,6 +6,7 @@ import java.util.UUID;
import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.EquinePredicates;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.magic.Caster;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@ -17,7 +18,6 @@ import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.DyeableItem;
import net.minecraft.item.ItemStack;
import net.minecraft.sound.SoundEvents;
import net.minecraft.stat.Stats;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
@ -49,7 +49,7 @@ public class FriendshipBraceletItem extends WearableItem implements DyeableItem,
}
player.incrementStat(Stats.USED.getOrCreateStat(this));
player.playSound(SoundEvents.ITEM_BOOK_PUT, 1, 1);
player.playSound(USounds.ITEM_BRACELET_SIGN, 1, 1);
if (stack.isEmpty()) {
return TypedActionResult.consume(result);

View file

@ -1,6 +1,7 @@
package com.minelittlepony.unicopia.item;
import com.minelittlepony.unicopia.AwaitTickQueue;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.entity.IItemEntity;
import com.minelittlepony.unicopia.entity.ItemImpl;
import com.minelittlepony.unicopia.particle.ParticleUtils;
@ -21,7 +22,6 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvents;
import net.minecraft.stat.Stats;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
@ -51,7 +51,7 @@ public class JarItem extends Item implements ProjectileDelegate, ItemImpl.Tickab
ItemStack stack = player.getStackInHand(hand);
world.playSound(null, player.getX(), player.getY(), player.getZ(),
SoundEvents.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL,
USounds.ENTITY_JAR_THROW, SoundCategory.NEUTRAL,
0.5F,
0.4F / (world.random.nextFloat() * 0.4F + 0.8F));

View file

@ -1,6 +1,7 @@
package com.minelittlepony.unicopia.network.handler;
import com.minelittlepony.unicopia.Owned;
import com.minelittlepony.unicopia.USounds;
import com.minelittlepony.unicopia.ability.magic.spell.trait.Trait;
import com.minelittlepony.unicopia.client.ClientBlockDestructionManager;
import com.minelittlepony.unicopia.client.DiscoveryToast;
@ -15,7 +16,6 @@ import com.minelittlepony.unicopia.network.MsgUnlockTraits;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.Entity;
import net.minecraft.sound.SoundEvents;
public class ClientNetworkHandlerImpl implements ClientNetworkHandler {
@ -58,7 +58,7 @@ public class ClientNetworkHandlerImpl implements ClientNetworkHandler {
@Override
public void handleCancelAbility(MsgCancelPlayerAbility packet) {
client.player.playSound(SoundEvents.BLOCK_NOTE_BLOCK_DIDGERIDOO, 1, 1);
client.player.playSound(USounds.GUI_ABILITY_FAIL, 1, 1);
Pony.of(client.player).getAbilities().getStats().forEach(s -> s.setCooldown(0));
}

View file

@ -440,17 +440,46 @@
"death.attack.back_hole": "%1$s was sucked into a black hole",
"death.attack.back_hole": "%1$s got sucked into %2$s's black hole",
"unicopia.subtitle.flap_wings": "Wing Flaps",
"unicopia.subtitle.wind_rush": "Wind Gust",
"unicopia.subtitle.flap_wings": "Wing flaps",
"unicopia.subtitle.wind_rush": "Wind gusts",
"unicopia.subtitle.insects": "Insects Scurrying",
"unicopia.subtitle.slime_advance": "Squealch",
"unicopia.subtitle.slime_retract": "Sqonk",
"unicopia.subtitle.changeling_buzz": "Drone Buzzing",
"unicopia.subtitle.batpony_eeee": "Batpony Screeches",
"unicopia.subtitle.magic_aura": "Magic Humming",
"unicopia.subtitle.changeling_buzz": "Drone buzzing",
"unicopia.subtitle.batpony_eeee": "Batpony screeches",
"unicopia.subtitle.changeling.transform": "Changeling transforms",
"unicopia.subtitle.pegasus.molt": "Pegasus loses feather",
"unicopia.subtitle.unicorn.teleport": "Magic pops",
"unicopia.subtitle.player.wololo": "Wololo!",
"unicopia.subtitle.entity.player.whistle": "Player whistles",
"unicopia.subtitle.entity.player.kick": "Player kicks",
"unicopia.subtitle.magic_aura": "Magic humming",
"unicopia.subtitle.player.rebound": "Player Bounces Off Wall",
"unicopia.subtitle.ears_ring": "Ears Ringing",
"unicopia.subtitle.heartbeat": "Heart Beats",
"unicopia.subtitle.ears_ringing": "Ears ringing",
"unicopia.subtitle.heartbeat": "Heart beats",
"unicopia.subtitle.entity.artefact.ambient": "Magic hums",
"unicopia.subtitle.entity.butterfly.hurt": "Nutterfly hurts",
"unicopia.subtitle.entity.twittermite.ambient": "Twittermite squeaks",
"unicopia.subtitle.entity.twittermite.death": "Twittermite dies",
"unicopia.subtitle.entity.twittermite.hurt": "Twittermite hurts",
"unicopia.subtitle.entity.jar.throw": "Jar thrown",
"unicopia.subtitle.entity.crystal_heart.activate": "Crystal heart activates",
"unicopia.subtitle.entity.crystal_heart.deactivate": "Crystal heart deactivates",
"unicopia.subtitle.item.amulet.charging": "Amulet charges",
"unicopia.subtitle.item.amulet.recharge": "Amulet recharged",
"unicopia.subtitle.item.icarus_wings.resonate": "Icarus wings resonate",
"unicopia.subtitle.item.icarus_wings.corrupted": "Icarus wings corrupted",
"unicopia.subtitle.item.icarus_wings.warn": "Icarus wings breaking",
"unicopia.subtitle.item.icarus_wings.break": "Icarus wings breaks",
"unicopia.subtitle.item.alicorn_amulet.curse": "Alicorn Amulet curse begins",
"unicopia.subtitle.item.alicorn_amulet.ambient": "Alicorn Amulet ambient",
"unicopia.subtitle.item.apple.rot": "Apple rots",
"unicopia.subtitle.item.bracelet.sign": "Bracelet signed",
"unicopia.subtitle.spell.cast.fail": "Spellcast fails",
"unicopia.subtitle.spell.cast.success": "Spell casts",
"unicopia.subtitle.spell.cast.shoot": "Unicorn shoots",
"unicopia.subtitle.spell.illusion.disperse": "Changeling reveals",
"unicopia.subtitle.spell.fire.shoot.bolt": "Firebolt fires",
"unicopia.subtitle.spell.shield.projectile.burn": "Arrow burns",
"unicopia.subtitle.spell.transform.transmute.entity": "Magic pops",
"advancements.unicopia.root.title": "Unicopia",
"advancements.unicopia.root.description": "A world of magic and adventure",

View file

@ -67,29 +67,512 @@
"unicopia:wind/altitude_wind7"
]
},
"record.crusade": {
"music_disc.crusade": {
"category": "blocks",
"sounds": [
{ "name": "unicopia:record/crusade", "stream": true}
]
},
"record.popular": {
"music_disc.popular": {
"category": "blocks",
"sounds": [
{ "name": "unicopia:record/popular", "stream": true}
]
},
"record.pet": {
"music_disc.pet": {
"category": "blocks",
"stream": true,
"sounds": [
{ "name": "unicopia:record/pet", "stream": true}
]
},
"record.funk": {
"music_disc.funk": {
"category": "blocks",
"sounds": [
{ "name": "unicopia:record/funk", "stream": true, "attenuation_distance": 21120}
]
},
"entity.player.changeling.transform": {
"sounds": [
{
"name": "entity.ravager.ambient",
"pitch": 1.8,
"type": "event",
"volume": 0.2
}
],
"subtitle": "unicopia.subtitle.changeling.transform"
},
"entity.player.pegasus.molt": {
"sounds": [
"mob/chicken/plop"
],
"subtitle": "unicopia.subtitle.pegasus.molt"
},
"entity.player.unicorn.teleport": {
"sounds": [
"random/pop"
],
"subtitle": "unicopia.subtitle.unicorn.teleport"
},
"entity.player.wololo": {
"sounds": [
"mob/evocation_illager/prepare_wololo"
],
"subtitle": "unicopia.subtitle.player.wololo"
},
"entity.player.whistle": {
"sounds": [
{
"name": "mob/parrot/idle2"
},
{
"name": "mob/parrot/idle3"
},
{
"name": "mob/parrot/idle4"
}
],
"subtitle": "unicopia.subtitle.entity.player.whistle"
},
"entity.player.kick": {
"sounds": [
{
"name": "mob/phantom/flap1",
"volume": 0.9
},
{
"name": "mob/phantom/flap2",
"volume": 0.9
},
{
"name": "mob/phantom/flap3",
"volume": 0.9
},
{
"name": "mob/phantom/flap4",
"volume": 0.9
},
{
"name": "mob/phantom/flap5",
"volume": 0.9
},
{
"name": "mob/phantom/flap6",
"volume": 0.9
}
],
"subtitle": "unicopia.subtitle.entity.player.kick"
},
"entity.artefact.ambient": {
"sounds": [
{
"attenuation_distance": 7,
"name": "block/beacon/ambient",
"volume": 0.9
}
],
"subtitle": "unicopia.subtitle.entity.artefact.ambient"
},
"entity.butterfly.hurt": {
"sounds": [
"mob/bat/hurt1",
"mob/bat/hurt2",
"mob/bat/hurt3",
"mob/bat/hurt4"
],
"subtitle": "unicopia.subtitle.entity.butterfly.hurt"
},
"entity.twittermite.ambient": {
"sounds": [
"mob/bat/idle1",
"mob/bat/idle2",
"mob/bat/idle3",
"mob/bat/idle4"
],
"subtitle": "unicopia.subtitle.entity.twittermite.ambient"
},
"entity.twittermite.death": {
"sounds": [
"mob/bat/death"
],
"subtitle": "unicopia.subtitle.entity.twittermite.death"
},
"entity.twittermite.hurt": {
"sounds": [
"mob/bat/hurt1",
"mob/bat/hurt2",
"mob/bat/hurt3",
"mob/bat/hurt4"
],
"subtitle": "unicopia.subtitle.entity.twittermite.hurt"
},
"entity.jar.throw": {
"sounds": [
"random/bow"
],
"subtitle": "unicopia.subtitle.entity.jar.throw"
},
"entity.crystal_heart.activate": {
"sounds": [
"block/beacon/activate"
],
"subtitle": "unicopia.subtitle.entity.crystal_heart.activate"
},
"entity.crystal_heart.deactivate": {
"sounds": [
"block/beacon/deactivate"
],
"subtitle": "unicopia.subtitle.entity.crystal_heart.deactivate"
},
"item.amulet.charging": {
"sounds": [
"mob/guardian/attack_loop"
],
"subtitle": "unicopia.subtitle.item.amulet.charging"
},
"item.amulet.recharge": {
"sounds": [
"block/end_portal/eyeplace1",
"block/end_portal/eyeplace2",
"block/end_portal/eyeplace3"
],
"subtitle": "unicopia.subtitle.item.amulet.recharge"
},
"item.icarus_wings.resonate": {
"sounds": [
"block/bell/resonate",
{
"name": "block/bell/resonate",
"pitch": 0.85
},
{
"name": "block/bell/resonate",
"pitch": 0.9
}
],
"subtitle": "unicopia.subtitle.item.icarus_wings.resonate"
},
"item.icarus_wings.corrupted": {
"sounds": [
{
"name": "block/bell/bell_use01",
"pitch": 0.93,
"volume": 12.0
},
{
"name": "block/bell/bell_use01",
"pitch": 0.95,
"volume": 12.0
},
{
"name": "block/bell/bell_use01",
"pitch": 0.97,
"volume": 12.0
},
{
"name": "block/bell/bell_use02",
"pitch": 0.93,
"volume": 12.0
},
{
"name": "block/bell/bell_use02",
"pitch": 0.95,
"volume": 12.0
},
{
"name": "block/bell/bell_use02",
"pitch": 0.97,
"volume": 12.0
}
],
"subtitle": "unicopia.subtitle.item.icarus_wings.corrupted"
},
"item.icarus_wings.warn": {
"sounds": [
"block/chain/step1",
"block/chain/step2",
"block/chain/step3",
"block/chain/step4",
"block/chain/step5",
"block/chain/step6"
],
"subtitle": "unicopia.subtitle.item.icarus_wings.warn"
},
"item.icarus_wings.break": {
"sounds": [
"random/break"
],
"subtitle": "unicopia.subtitle.item.icarus_wings.break"
},
"item.alicorn_amulet.curse": {
"sounds": [
"mob/guardian/curse"
],
"subtitle": "unicopia.subtitle.item.alicorn_amulet.curse"
},
"item.alicorn_amulet.hallucination": {
"sounds": [
"ambient/nether/nether_wastes/mood1",
"ambient/nether/nether_wastes/mood2",
"ambient/nether/nether_wastes/mood3",
"ambient/nether/nether_wastes/mood4",
"ambient/nether/nether_wastes/mood5"
]
},
"item.alicorn_amulet.ambient": {
"sounds": [
"ambient/cave/cave1",
"ambient/cave/cave2",
"ambient/cave/cave3",
"ambient/cave/cave4",
"ambient/cave/cave5",
"ambient/cave/cave6",
"ambient/cave/cave7",
"ambient/cave/cave8",
"ambient/cave/cave9",
"ambient/cave/cave10",
"ambient/cave/cave11",
"ambient/cave/cave12",
"ambient/cave/cave13",
"ambient/cave/cave14",
"ambient/cave/cave15",
"ambient/cave/cave16",
"ambient/cave/cave17",
"ambient/cave/cave18",
"ambient/cave/cave19"
],
"subtitle": "unicopia.subtitle.item.alicorn_amulet.ambient"
},
"item.apple.rot": {
"sounds": [
"mob/turtle/egg/jump_egg1",
"mob/turtle/egg/jump_egg2",
"mob/turtle/egg/jump_egg3",
"mob/turtle/egg/jump_egg4"
],
"subtitle": "unicopia.subtitle.item.apple.rot"
},
"item.bracelet.sign": {
"sounds": [
"item/book/close_put1",
"item/book/close_put2"
],
"subtitle": "unicopia.subtitle.item.bracelet.sign"
},
"spell.cast.fail": {
"sounds": [
"random/break"
],
"subtitle": "unicopia.subtitle.spell.cast.fail"
},
"spell.cast.success": {
"sounds": [
"block/beacon/power1",
"block/beacon/power2",
"block/beacon/power3"
],
"subtitle": "unicopia.subtitle.spell.cast.success"
},
"spell.cast.shoot": {
"sounds": [
"mob/endermen/portal",
"mob/endermen/portal2"
],
"subtitle": "unicopia.subtitle.spell.cast.shoot"
},
"spell.illusion.disperse": {
"sounds": [
"mob/zombie/remedy"
],
"subtitle": "unicopia.subtitle.spell.illusion.disperse"
},
"spell.fire.shoot.bolt": {
"sounds": [
"mob/ghast/fireball4"
],
"subtitle": "unicopia.subtitle.spell.fire.shoot.bolt"
},
"spell.shield.projectile.burn": {
"sounds": [
"mob/zombie/remedy"
],
"subtitle": "unicopia.subtitle.spell.shield.projectile.burn"
},
"spell.transform.transmute.entity": {
"sounds": [
"random/pop"
],
"subtitle": "unicopia.subtitle.spell.transform.transmute.entity"
},
"ambient.dark_vortex.mood": {
"sounds": [
"ambient/nether/crimson_forest/mood1",
"ambient/nether/crimson_forest/mood2",
"ambient/nether/crimson_forest/mood3"
]
},
"ambient.dark_vortex.additions": {
"sounds": [
{
"name": "ambient/nether/soulsand_valley/sand1",
"volume": 0.2,
"weight": 25
},
{
"name": "ambient/nether/soulsand_valley/sand2",
"volume": 0.2,
"weight": 25
},
{
"name": "ambient/nether/soulsand_valley/sand3",
"volume": 0.4,
"weight": 2
},
{
"name": "ambient/nether/soulsand_valley/voices1",
"volume": 0.4,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/voices2",
"volume": 0.4,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/voices3",
"volume": 0.4,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/voices4",
"volume": 0.8,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/voices5",
"volume": 0.4,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/voices5",
"pitch": 0.7,
"volume": 0.15,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/whisper1",
"volume": 0.9,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/whisper2",
"volume": 0.9,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/whisper3",
"volume": 0.9,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/whisper4",
"volume": 0.9,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/whisper5",
"volume": 0.9,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/whisper6",
"volume": 0.9,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/whisper7",
"volume": 0.9,
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/whisper8",
"weight": 5
},
{
"name": "ambient/nether/soulsand_valley/wind1",
"volume": 0.3,
"weight": 25
},
{
"name": "ambient/nether/soulsand_valley/wind1",
"pitch": 0.75,
"volume": 0.3,
"weight": 25
},
{
"name": "ambient/nether/soulsand_valley/wind2",
"volume": 0.25,
"weight": 25
},
{
"name": "ambient/nether/soulsand_valley/wind2",
"pitch": 0.75,
"volume": 0.3,
"weight": 25
},
{
"name": "ambient/nether/soulsand_valley/wind3",
"volume": 0.25,
"weight": 25
},
{
"name": "ambient/nether/soulsand_valley/wind3",
"pitch": 0.75,
"volume": 0.3,
"weight": 25
},
{
"name": "ambient/nether/soulsand_valley/wind4",
"volume": 0.3,
"weight": 25
},
{
"name": "ambient/nether/soulsand_valley/wind4",
"pitch": 0.75,
"volume": 0.3,
"weight": 25
},
{
"name": "ambient/nether/soulsand_valley/with1",
"volume": 0.6,
"weight": 4
}
]
},
"gui.ability.fail": {
"sounds": [
"note/didgeridoo"
]
},
"gui.spellcraft.success": {
"sounds": [
"block/end_portal/eyeplace1",
"block/end_portal/eyeplace2",
"block/end_portal/eyeplace3"
]
}
}