diff --git a/README.md b/README.md index 30962d0c8..9cc9b8044 100644 --- a/README.md +++ b/README.md @@ -134,4 +134,8 @@ Not found your language or want to maintain translations? Feel free to translate Feimos Avacuoss +Assets & Special Thanks: + + Calamity Mod Team - for amazing sound design inspiration and sound assets. + Tyro.net - https://tools.wwwtyro.net/space-3d/index.html Space background in Codex diff --git a/build.gradle b/build.gradle index 5bf8073e5..988986d6d 100644 --- a/build.gradle +++ b/build.gradle @@ -232,13 +232,6 @@ task noSounds(type: Jar) { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } -task noVoice(type: Jar) { - archiveClassifier.set('novoice') - from sourceSets.main.output - exclude("assets/valoria/sounds/voice/**") - duplicatesStrategy = DuplicatesStrategy.EXCLUDE -} - task noMusicJar(type: Jar) { archiveClassifier.set('nomusic') from sourceSets.main.output diff --git a/src/main/java/com/idark/valoria/Events.java b/src/main/java/com/idark/valoria/Events.java index 2e303a0c2..d20445340 100644 --- a/src/main/java/com/idark/valoria/Events.java +++ b/src/main/java/com/idark/valoria/Events.java @@ -207,25 +207,27 @@ public static void onTooltip(ItemTooltipEvent event){ } } - int foodRot = ValoriaUtils.getCurrentNBTValue("ValoriaRot", stack); - if(foodRot > 0) { - String stageKey; - ChatFormatting color; - - if (foodRot >= 60) { - stageKey = "tooltip.valoria.stage.rotting"; - color = ChatFormatting.RED; - } else if (foodRot >= 30) { - stageKey = "tooltip.valoria.stage.stale"; - color = ChatFormatting.YELLOW; - } else { - stageKey = "tooltip.valoria.stage.fresh"; - color = ChatFormatting.GREEN; - } - - var status = Component.translatable(stageKey).withStyle(color); - var line = Component.translatable("tooltip.valoria.rot_status", status, foodRot).withStyle(ChatFormatting.GRAY); - tooltip.add(1, line); + if(stack.hasTag() && stack.getTag().contains("ValoriaRot")){ + int foodRot = ValoriaUtils.getCurrentNBTValue("ValoriaRot", stack); + if(foodRot > 0){ + String stageKey; + ChatFormatting color; + + if(foodRot >= 60){ + stageKey = "tooltip.valoria.stage.rotting"; + color = ChatFormatting.RED; + }else if(foodRot >= 30){ + stageKey = "tooltip.valoria.stage.stale"; + color = ChatFormatting.YELLOW; + }else{ + stageKey = "tooltip.valoria.stage.fresh"; + color = ChatFormatting.GREEN; + } + + var status = Component.translatable(stageKey).withStyle(color); + var line = Component.translatable("tooltip.valoria.rot_status", status, foodRot).withStyle(ChatFormatting.GRAY); + tooltip.add(1, line); + } } } diff --git a/src/main/java/com/idark/valoria/Valoria.java b/src/main/java/com/idark/valoria/Valoria.java index e56bae355..89c6e0e7c 100644 --- a/src/main/java/com/idark/valoria/Valoria.java +++ b/src/main/java/com/idark/valoria/Valoria.java @@ -232,27 +232,25 @@ public static void registerCaps(RegisterCapabilitiesEvent event){ } @SubscribeEvent - public static void commonSetup(FMLCommonSetupEvent event){ - event.enqueueWork(() -> { - SpawnPlacements.register(EntityTypeRegistry.GOBLIN.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Goblin::checkGoblinSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.DRAUGR.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, DraugrEntity::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.SWAMP_WANDERER.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, SwampWandererEntity::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.SCOURGE.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, ScourgeEntity::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.SHADEWOOD_SPIDER.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, ShadewoodSpider::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.DEVIL.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Devil::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.HAUNTED_MERCHANT.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, HauntedMerchant::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.TROLL.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Troll::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.CORRUPTED_TROLL.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Troll::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.SORCERER.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, SorcererEntity::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.ENT.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Ent::checkEntSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.NATURE_GOLEM.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, NatureGolem::checkSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.RIVER_GOLEM.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, RiverGolem::checkSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.MAGGOT.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, MaggotEntity::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.CORRUPTED.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Corrupted::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.KING_CRAB.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, KingCrabEntity::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.WICKED_SCORPION.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, WickedScorpion::checkMonsterSpawnRules); - SpawnPlacements.register(EntityTypeRegistry.SCAVENGER.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Scavenger::checkAnimalSpawnRules); - }); + public static void onPlacementRegistry(SpawnPlacementRegisterEvent event){ + event.register(EntityTypeRegistry.GOBLIN.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Goblin::checkGoblinSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.DRAUGR.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, DraugrEntity::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.SWAMP_WANDERER.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, SwampWandererEntity::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.SCOURGE.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, ScourgeEntity::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.SHADEWOOD_SPIDER.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, ShadewoodSpider::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.DEVIL.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Devil::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.HAUNTED_MERCHANT.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, HauntedMerchant::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.TROLL.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Troll::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.CORRUPTED_TROLL.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Troll::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.SORCERER.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, SorcererEntity::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.ENT.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Ent::checkEntSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.NATURE_GOLEM.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, NatureGolem::checkMobSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.RIVER_GOLEM.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, RiverGolem::checkMobSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.MAGGOT.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, MaggotEntity::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.CORRUPTED.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Corrupted::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.KING_CRAB.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, KingCrabEntity::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.WICKED_SCORPION.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, WickedScorpion::checkMonsterSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); + event.register(EntityTypeRegistry.SCAVENGER.get(), SpawnPlacements.Type.ON_GROUND, Types.MOTION_BLOCKING_NO_LEAVES, Scavenger::checkAnimalSpawnRules, SpawnPlacementRegisterEvent.Operation.OR); } @SubscribeEvent @@ -321,10 +319,12 @@ public static void attachAttribute(EntityAttributeModificationEvent event){ event.add(EntityTypeRegistry.WICKED_CRYSTAL.get(), AttributeReg.ELEMENTAL_RESISTANCE.get(), 15); event.add(EntityTypeRegistry.DRYADOR.get(), AttributeReg.INFERNAL_RESISTANCE.get(), -25); event.add(EntityTypeRegistry.DRYADOR.get(), AttributeReg.NATURE_RESISTANCE.get(), 50); + event.add(EntityTypeRegistry.DRYADOR.get(), AttributeReg.NATURE_DAMAGE.get(), 2); event.add(EntityTypeRegistry.NECROMANCER.get(), AttributeReg.INFERNAL_RESISTANCE.get(), -25); event.add(EntityTypeRegistry.NECROMANCER.get(), AttributeReg.NIHILITY_RESISTANCE.get(), 15); event.add(EntityTypeRegistry.DEVIL.get(), AttributeReg.DEPTH_RESISTANCE.get(), -15); event.add(EntityTypeRegistry.DEVIL.get(), AttributeReg.INFERNAL_RESISTANCE.get(), 25); + event.add(EntityTypeRegistry.DEVIL.get(), AttributeReg.INFERNAL_DAMAGE.get(), 2); event.add(EntityTypeRegistry.SHADEWOOD_SPIDER.get(), AttributeReg.NATURE_RESISTANCE.get(), 15); event.add(EntityTypeRegistry.SHADEWOOD_SPIDER.get(), AttributeReg.NIHILITY_RESISTANCE.get(), 25); event.add(EntityTypeRegistry.SHADEWOOD_SPIDER.get(), AttributeReg.NIHILITY_DAMAGE.get(), 1); @@ -336,11 +336,13 @@ public static void attachAttribute(EntityAttributeModificationEvent event){ event.add(EntityTypeRegistry.CORRUPTED_TROLL.get(), AttributeReg.NIHILITY_RESISTANCE.get(), 35); event.add(EntityTypeRegistry.CORRUPTED_TROLL.get(), AttributeReg.NIHILITY_DAMAGE.get(), 3); event.add(EntityTypeRegistry.ENT.get(), AttributeReg.NATURE_RESISTANCE.get(), 35); + event.add(EntityTypeRegistry.ENT.get(), AttributeReg.NATURE_DAMAGE.get(), 2); event.add(EntityTypeRegistry.ENT.get(), AttributeReg.INFERNAL_RESISTANCE.get(), -25); event.add(EntityTypeRegistry.NATURE_GOLEM.get(), AttributeReg.NATURE_RESISTANCE.get(), 50); event.add(EntityTypeRegistry.NATURE_GOLEM.get(), AttributeReg.INFERNAL_RESISTANCE.get(), -15); event.add(EntityTypeRegistry.RIVER_GOLEM.get(), AttributeReg.NATURE_RESISTANCE.get(), 15); event.add(EntityTypeRegistry.RIVER_GOLEM.get(), AttributeReg.DEPTH_RESISTANCE.get(), 50); + event.add(EntityTypeRegistry.RIVER_GOLEM.get(), AttributeReg.DEPTH_DAMAGE.get(), 2); event.add(EntityTypeRegistry.RIVER_GOLEM.get(), AttributeReg.INFERNAL_RESISTANCE.get(), -65); event.add(EntityTypeRegistry.SORCERER.get(), AttributeReg.ELEMENTAL_RESISTANCE.get(), 25); event.add(EntityTypeRegistry.CORRUPTED.get(), AttributeReg.INFERNAL_RESISTANCE.get(), -45); @@ -355,11 +357,14 @@ public static void attachAttribute(EntityAttributeModificationEvent event){ event.add(EntityTypeRegistry.UNDEAD.get(), AttributeReg.NIHILITY_RESISTANCE.get(), -25); event.add(EntityTypeRegistry.SCOURGE.get(), AttributeReg.NIHILITY_RESISTANCE.get(), -25); event.add(EntityTypeRegistry.SCOURGE.get(), AttributeReg.DEPTH_RESISTANCE.get(), 25); + event.add(EntityTypeRegistry.SCOURGE.get(), AttributeReg.DEPTH_DAMAGE.get(), 2); event.add(EntityTypeRegistry.SWAMP_WANDERER.get(), AttributeReg.NIHILITY_RESISTANCE.get(), -25); event.add(EntityTypeRegistry.SWAMP_WANDERER.get(), AttributeReg.DEPTH_RESISTANCE.get(), 25); + event.add(EntityTypeRegistry.SWAMP_WANDERER.get(), AttributeReg.DEPTH_DAMAGE.get(), 2); event.add(EntityTypeRegistry.DRAUGR.get(), AttributeReg.INFERNAL_RESISTANCE.get(), -15); event.add(EntityTypeRegistry.KING_CRAB.get(), AttributeReg.INFERNAL_RESISTANCE.get(), -25); event.add(EntityTypeRegistry.KING_CRAB.get(), AttributeReg.DEPTH_RESISTANCE.get(), 50); + event.add(EntityTypeRegistry.KING_CRAB.get(), AttributeReg.DEPTH_DAMAGE.get(), 2); event.add(EntityType.DROWNED, AttributeReg.DEPTH_RESISTANCE.get(), 25); event.add(EntityType.DROWNED, AttributeReg.INFERNAL_RESISTANCE.get(), -25); diff --git a/src/main/java/com/idark/valoria/client/model/animations/GolemAnimation.java b/src/main/java/com/idark/valoria/client/model/animations/GolemAnimation.java index 2b158f0d7..fe73b56e4 100644 --- a/src/main/java/com/idark/valoria/client/model/animations/GolemAnimation.java +++ b/src/main/java/com/idark/valoria/client/model/animations/GolemAnimation.java @@ -44,121 +44,98 @@ public class GolemAnimation { new Keyframe(2.2083F, KeyframeAnimations.posVec(-0.3F, -0.77F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), new Keyframe(3.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) )) + .addAnimation("right_leg", new AnimationChannel(AnimationChannel.Targets.ROTATION, + new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) + .addAnimation("right_leg", new AnimationChannel(AnimationChannel.Targets.POSITION, + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + )) .build(); - public static final AnimationDefinition WALK = AnimationDefinition.Builder.withLength(3.5F).looping() + public static final AnimationDefinition WALK = AnimationDefinition.Builder.withLength(3.25F).looping() .addAnimation("head", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.3333F, KeyframeAnimations.degreeVec(2.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.6667F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.25F, KeyframeAnimations.degreeVec(-10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.5833F, KeyframeAnimations.degreeVec(7.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.9167F, KeyframeAnimations.degreeVec(17.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.5833F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.1667F, KeyframeAnimations.degreeVec(-10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.5F, KeyframeAnimations.degreeVec(10.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.0F, KeyframeAnimations.degreeVec(12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.75F, KeyframeAnimations.degreeVec(-22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.degreeVec(20.15F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.degreeVec(-22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.degreeVec(12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) )) .addAnimation("head", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, -5.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.3333F, KeyframeAnimations.posVec(0.0F, 0.2F, -2.8F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.6667F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.25F, KeyframeAnimations.posVec(0.0F, 0.0F, 2.6F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.5833F, KeyframeAnimations.posVec(0.0F, 0.0F, -5.4F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.9167F, KeyframeAnimations.posVec(0.0F, -0.5F, -7.4F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.5833F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.1667F, KeyframeAnimations.posVec(0.0F, 0.0F, 2.6F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.5F, KeyframeAnimations.posVec(0.0F, 0.0F, -5.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -3.0F, -7.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.75F, KeyframeAnimations.posVec(0.0F, -2.0F, 9.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, -1.4F, -9.4F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.posVec(0.0F, -2.0F, 9.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.posVec(0.0F, -3.0F, -7.0F), AnimationChannel.Interpolations.CATMULLROM) )) .addAnimation("body", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(7.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.3333F, KeyframeAnimations.degreeVec(7.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.6667F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.25F, KeyframeAnimations.degreeVec(-7.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.5833F, KeyframeAnimations.degreeVec(7.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.9167F, KeyframeAnimations.degreeVec(11.72F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.5833F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.1667F, KeyframeAnimations.degreeVec(-7.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.5F, KeyframeAnimations.degreeVec(7.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.0F, KeyframeAnimations.degreeVec(12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.75F, KeyframeAnimations.degreeVec(-15.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.degreeVec(15.15F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.degreeVec(-15.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.degreeVec(12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) )) .addAnimation("body", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, -2.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.6667F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.25F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.5833F, KeyframeAnimations.posVec(0.0F, 0.0F, -3.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.9167F, KeyframeAnimations.posVec(0.0F, 0.0F, -2.69F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.5833F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.1667F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.5F, KeyframeAnimations.posVec(0.0F, 0.0F, -2.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, -3.0F, -3.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.75F, KeyframeAnimations.posVec(0.0F, -1.0F, 4.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, -0.74F, -3.58F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.posVec(0.0F, -1.0F, 4.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.posVec(0.0F, -3.0F, -3.0F), AnimationChannel.Interpolations.CATMULLROM) )) .addAnimation("left_arm", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.3333F, KeyframeAnimations.degreeVec(30.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.6667F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.25F, KeyframeAnimations.degreeVec(-29.9455F, -1.2926F, -4.8304F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.9167F, KeyframeAnimations.degreeVec(19.0602F, -1.3291F, -4.9763F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.5833F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.1667F, KeyframeAnimations.degreeVec(-29.9455F, -1.2926F, -4.8304F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.5F, KeyframeAnimations.degreeVec(22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.0F, KeyframeAnimations.degreeVec(54.8974F, 2.8654F, -4.0992F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.75F, KeyframeAnimations.degreeVec(2.0048F, 3.1586F, -11.6049F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.degreeVec(-45.5F, 3.16F, -11.6F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.degreeVec(2.0048F, 3.1586F, -11.6049F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.degreeVec(54.8974F, 2.8654F, -4.0992F), AnimationChannel.Interpolations.CATMULLROM) )) .addAnimation("left_arm", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 1.0F, -2.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.3333F, KeyframeAnimations.posVec(0.0F, 1.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.6667F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.25F, KeyframeAnimations.posVec(0.8F, 1.6F, -1.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.5833F, KeyframeAnimations.posVec(0.9F, 1.74F, -4.12F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.9167F, KeyframeAnimations.posVec(0.8F, 1.6F, -2.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.5833F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.1667F, KeyframeAnimations.posVec(0.8F, 1.6F, -1.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.5F, KeyframeAnimations.posVec(0.0F, 1.0F, -2.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.0F, KeyframeAnimations.posVec(0.8F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.75F, KeyframeAnimations.posVec(1.8F, 1.0F, 5.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.posVec(0.8F, 1.0F, -9.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.posVec(1.8F, 1.0F, 5.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.posVec(0.8F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) )) .addAnimation("right_arm", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.0F, KeyframeAnimations.degreeVec(-22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.3333F, KeyframeAnimations.degreeVec(-30.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.6667F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.25F, KeyframeAnimations.degreeVec(29.9455F, -1.2926F, 4.8304F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.9167F, KeyframeAnimations.degreeVec(-19.0602F, -1.3291F, 4.9763F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.5833F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.1667F, KeyframeAnimations.degreeVec(29.9455F, -1.2926F, 4.8304F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.5F, KeyframeAnimations.degreeVec(-22.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.0F, KeyframeAnimations.degreeVec(-54.8821F, 3.2728F, 0.2124F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.75F, KeyframeAnimations.degreeVec(22.246F, -2.5323F, 3.4008F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.degreeVec(52.8929F, -6.1377F, 3.051F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.degreeVec(-27.754F, -2.5323F, 3.4008F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.degreeVec(-54.8821F, 3.2728F, 0.2124F), AnimationChannel.Interpolations.CATMULLROM) )) .addAnimation("right_arm", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 1.0F, -5.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.3333F, KeyframeAnimations.posVec(0.0F, 1.0F, -5.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.6667F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.25F, KeyframeAnimations.posVec(-0.8F, 2.6F, 3.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.5833F, KeyframeAnimations.posVec(-0.9F, 1.74F, -2.88F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.9167F, KeyframeAnimations.posVec(-0.8F, 1.6F, -6.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.5833F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.1667F, KeyframeAnimations.posVec(-0.8F, 2.6F, 3.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.5F, KeyframeAnimations.posVec(0.0F, 1.0F, -5.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.0F, KeyframeAnimations.posVec(-0.4F, -1.0F, -9.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.75F, KeyframeAnimations.posVec(-0.4F, -1.0F, 7.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.posVec(-0.8F, 1.0F, -2.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.posVec(-0.4F, 0.0F, 3.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.posVec(-0.4F, -1.0F, -9.0F), AnimationChannel.Interpolations.CATMULLROM) )) .addAnimation("left_leg", new AnimationChannel(AnimationChannel.Targets.ROTATION, - new Keyframe(0.6667F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.25F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.5833F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.0F, KeyframeAnimations.degreeVec(12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.4583F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.75F, KeyframeAnimations.degreeVec(27.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) )) .addAnimation("left_leg", new AnimationChannel(AnimationChannel.Targets.POSITION, - new Keyframe(0.6667F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.25F, KeyframeAnimations.posVec(0.0F, 2.0F, -9.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(1.5833F, KeyframeAnimations.posVec(0.0F, 0.0F, -8.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.4583F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, 3.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(0.75F, KeyframeAnimations.posVec(0.0F, 4.0F, 1.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, 0.0F, -9.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 3.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.posVec(0.0F, 0.0F, 3.0F), AnimationChannel.Interpolations.CATMULLROM) )) .addAnimation("right_leg", new AnimationChannel(AnimationChannel.Targets.ROTATION, new Keyframe(0.0F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.3333F, KeyframeAnimations.degreeVec(12.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.6667F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.4583F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.1667F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.75F, KeyframeAnimations.degreeVec(20.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.degreeVec(27.5F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.degreeVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM) )) .addAnimation("right_leg", new AnimationChannel(AnimationChannel.Targets.POSITION, new Keyframe(0.0F, KeyframeAnimations.posVec(0.0F, 0.0F, -8.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(0.6667F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(2.4583F, KeyframeAnimations.posVec(0.0F, 0.0F, 0.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.1667F, KeyframeAnimations.posVec(0.0F, 2.0F, -9.0F), AnimationChannel.Interpolations.CATMULLROM), - new Keyframe(3.5F, KeyframeAnimations.posVec(0.0F, 0.0F, -8.0F), AnimationChannel.Interpolations.CATMULLROM) + new Keyframe(0.75F, KeyframeAnimations.posVec(0.0F, 0.0F, 5.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(1.5F, KeyframeAnimations.posVec(0.0F, 0.0F, 7.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(2.5F, KeyframeAnimations.posVec(0.0F, 4.0F, -1.0F), AnimationChannel.Interpolations.CATMULLROM), + new Keyframe(3.25F, KeyframeAnimations.posVec(0.0F, 0.0F, -8.0F), AnimationChannel.Interpolations.CATMULLROM) )) .build(); diff --git a/src/main/java/com/idark/valoria/client/model/entity/RiverGolemModel.java b/src/main/java/com/idark/valoria/client/model/entity/RiverGolemModel.java index 03c816d84..ef2ff3515 100644 --- a/src/main/java/com/idark/valoria/client/model/entity/RiverGolemModel.java +++ b/src/main/java/com/idark/valoria/client/model/entity/RiverGolemModel.java @@ -74,7 +74,11 @@ public static LayerDefinition createBodyLayer() { public void setupAnim(T e, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { super.setupAnim(e, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch); this.animateIdle(e.idleAnimationState, GolemAnimation.IDLE, limbSwingAmount, ageInTicks, 1); + this.animateWalk(GolemAnimation.WALK, limbSwing, limbSwingAmount, 6, 6); + this.animate(e.attackAnimationState, GolemAnimation.ATTACK1, ageInTicks); this.animate(e.stompAttackAnimationState, GolemAnimation.ATTACK2, ageInTicks); + this.animate(e.attackSlapAnimationState, GolemAnimation.ATTACK3, ageInTicks); + this.animate(e.groundPunchAnimationState, GolemAnimation.ATTACK4, ageInTicks); } } \ No newline at end of file diff --git a/src/main/java/com/idark/valoria/client/ui/menus/AlchemyStationMenu.java b/src/main/java/com/idark/valoria/client/ui/menus/AlchemyStationMenu.java index e876358bb..5a386dcdc 100644 --- a/src/main/java/com/idark/valoria/client/ui/menus/AlchemyStationMenu.java +++ b/src/main/java/com/idark/valoria/client/ui/menus/AlchemyStationMenu.java @@ -191,9 +191,6 @@ public void tryUpgrade(ServerPlayer player, ResourceLocation recipeId){ AlchemyUpgradeRecipe recipe = recipeHolder.get(); if(checkAndSetAvailability(recipe)){ consumeMaterials(recipe); - ItemStack result = recipe.getResultItem(RegistryAccess.EMPTY).copy(); - player.getInventory().placeItemBackInInventory(result); - PacketHandler.sendToTracking(player.serverLevel(), pos, new AlchemyUpgradeParticlePacket(this.blockLevel + 1, pos.getX(), pos.getY(), pos.getZ())); PacketHandler.sendToServer(new AlchemyUpgradePacket(this.blockLevel)); this.broadcastChanges(); diff --git a/src/main/java/com/idark/valoria/client/ui/screen/AlchemyStationScreen.java b/src/main/java/com/idark/valoria/client/ui/screen/AlchemyStationScreen.java index 55e528bd6..cc464b1ff 100644 --- a/src/main/java/com/idark/valoria/client/ui/screen/AlchemyStationScreen.java +++ b/src/main/java/com/idark/valoria/client/ui/screen/AlchemyStationScreen.java @@ -197,6 +197,23 @@ protected void renderLabels(GuiGraphics pGuiGraphics, int pMouseX, int pMouseY){ @Override protected void renderTooltip(GuiGraphics guiGraphics, int mouseX, int mouseY){ super.renderTooltip(guiGraphics, mouseX, mouseY); + if(canUpgrade()){ + int x = width / 2; + int y = height / 2; + if(isHover(mouseX, mouseY, x - 45, y - 27, 80, 20)){ + var optRecipe = menu.getUpgrade(getUpgradeLoc()); + if(optRecipe.isPresent()){ + List tooltip = new ArrayList<>(); + tooltip.add(Component.translatable("menu.valoria.upgrade").withStyle(ChatFormatting.YELLOW)); + Optional comp = Optional.of(new MaterialListComponent(optRecipe.get().getInputs())); + + this.menu.checkAndSetAvailability(optRecipe.get()); + guiGraphics.renderTooltip(this.font, tooltip, comp, mouseX, mouseY); + return; + } + } + } + if(this.hoveredRecipe != null){ if(hoveredRecipe.isVisible()){ var recipe = hoveredRecipe.recipe; @@ -227,22 +244,6 @@ protected void renderTooltip(GuiGraphics guiGraphics, int mouseX, int mouseY){ } } - if(canUpgrade()){ - int x = width / 2; - int y = height / 2; - if(isHover(mouseX, mouseY, x - 45, y - 27, 80, 20)){ - var optRecipe = menu.getUpgrade(getUpgradeLoc()); - if(optRecipe.isPresent()){ - List tooltip = new ArrayList<>(); - tooltip.add(Component.translatable("menu.valoria.upgrade").withStyle(ChatFormatting.YELLOW)); - Optional comp = Optional.of(new MaterialListComponent(optRecipe.get().getInputs())); - - this.menu.checkAndSetAvailability(optRecipe.get()); - guiGraphics.renderTooltip(this.font, tooltip, comp, mouseX, mouseY); - } - } - } - for(AlchemyCategories category : AlchemyCategories.values()){ int x = getGuiLeft() - 19; int y = (getGuiTop() + 6) + category.ordinal() * slotSize; @@ -283,12 +284,16 @@ protected void renderBg(GuiGraphics gui, float partialTick, int mouseX, int mous } if(canUpgrade()){ + gui.pose().pushPose(); + gui.pose().translate(0, 0, 300); + if(isHover(mouseX, mouseY, x - 45, y - 27, 80, 20)){ gui.blit(TEXTURE, x - 46, y - 28, 59, 216, 82, 22); } gui.blit(TEXTURE, x - 45, y - 27, 60, 196, 80, 20); gui.drawCenteredString(Minecraft.getInstance().font, Component.translatable("menu.valoria.upgrade"), x - 5, y - 22, CommonColors.WHITE); + gui.pose().popPose(); } for(AlchemyCategories category : AlchemyCategories.values()){ diff --git a/src/main/java/com/idark/valoria/core/compat/jei/categories/AlchemyRecipeCategory.java b/src/main/java/com/idark/valoria/core/compat/jei/categories/AlchemyRecipeCategory.java index 8bbe28f7b..ff0880a5b 100644 --- a/src/main/java/com/idark/valoria/core/compat/jei/categories/AlchemyRecipeCategory.java +++ b/src/main/java/com/idark/valoria/core/compat/jei/categories/AlchemyRecipeCategory.java @@ -30,8 +30,6 @@ public AlchemyRecipeCategory(IGuiHelper helper){ public void setRecipe(IRecipeLayoutBuilder builder, AlchemyRecipe recipe, IFocusGroup focuses){ ItemStack resultStack = recipe.getResultItem(RegistryAccess.EMPTY); builder.addSlot(RecipeIngredientRole.OUTPUT, 48, 14).addItemStack(resultStack); - - // Added to look for item Uses by pressing "U" for(var input : recipe.getInputs()){ builder.addSlot(RecipeIngredientRole.INPUT, Integer.MAX_VALUE, Integer.MAX_VALUE).addItemStacks(Arrays.stream(input.getFirst().getItems()).toList()); } diff --git a/src/main/java/com/idark/valoria/core/network/packets/AlchemyUpgradePacket.java b/src/main/java/com/idark/valoria/core/network/packets/AlchemyUpgradePacket.java index c617a8e4e..6f9d8eea1 100644 --- a/src/main/java/com/idark/valoria/core/network/packets/AlchemyUpgradePacket.java +++ b/src/main/java/com/idark/valoria/core/network/packets/AlchemyUpgradePacket.java @@ -5,7 +5,6 @@ import com.idark.valoria.registries.block.types.*; import net.minecraft.network.*; import net.minecraft.server.level.*; -import net.minecraft.sounds.*; import net.minecraft.world.level.*; import net.minecraft.world.level.block.state.*; import net.minecraftforge.network.NetworkEvent.*; @@ -34,7 +33,6 @@ public static void handle(AlchemyUpgradePacket packet, Supplier ctx){ Level level = player.level(); if (player.containerMenu instanceof AlchemyStationMenu heavyMenu) { player.closeContainer(); - level.playSound(null, heavyMenu.getPos(), SoundEvents.UI_TOAST_CHALLENGE_COMPLETE, SoundSource.BLOCKS); BlockState state = level.getBlockState(heavyMenu.getPos()); if(state.getBlock() instanceof AlchemyStationBlock stationBlock){ BlockState toState = switch(stationBlock.level) { diff --git a/src/main/java/com/idark/valoria/registries/BlockRegistry.java b/src/main/java/com/idark/valoria/registries/BlockRegistry.java index c1b70b0c0..d5858dcb5 100644 --- a/src/main/java/com/idark/valoria/registries/BlockRegistry.java +++ b/src/main/java/com/idark/valoria/registries/BlockRegistry.java @@ -148,9 +148,9 @@ public static void load(IEventBus eventBus){ jewelerTable = registerBlock("jeweler_table", () -> new JewelerBlock(BlockBehaviour.Properties.copy(Blocks.CRAFTING_TABLE).strength(1f, 1f))); stoneCrusher = registerBlock("stone_crusher", () -> new CrusherBlock(BlockBehaviour.Properties.copy(Blocks.STONE).strength(1f, 2f))); alchemyStationTier1 = registerBlock("alchemy_station_tier_1", () -> new AlchemyStationBlock(1, props(Blocks.IRON_BLOCK, MapColor.COLOR_BLACK).noOcclusion())); - alchemyStationTier2 = registerBlock("alchemy_station_tier_2", () -> new AlchemyStationBlock(2, props(Blocks.IRON_BLOCK, MapColor.COLOR_BLACK).noOcclusion())); - alchemyStationTier3 = registerBlock("alchemy_station_tier_3", () -> new AlchemyStationBlock(3, props(Blocks.IRON_BLOCK, MapColor.COLOR_BLACK).noOcclusion())); - alchemyStationTier4 = registerBlock("alchemy_station_tier_4", () -> new AlchemyStationBlock(4, props(Blocks.IRON_BLOCK, MapColor.COLOR_BLACK).noOcclusion())); + alchemyStationTier2 = registerBlock("alchemy_station_tier_2", () -> new AlchemyStationBlock(SoundsRegistry.UI_ALCHEMY_NETHER_UPGRADE.get(), 2, props(Blocks.IRON_BLOCK, MapColor.COLOR_BLACK).noOcclusion())); + alchemyStationTier3 = registerBlock("alchemy_station_tier_3", () -> new AlchemyStationBlock(SoundsRegistry.UI_ALCHEMY_ELEMENTAL_UPGRADE.get(),3, props(Blocks.IRON_BLOCK, MapColor.COLOR_BLACK).noOcclusion())); + alchemyStationTier4 = registerBlock("alchemy_station_tier_4", () -> new AlchemyStationBlock(SoundsRegistry.UI_ALCHEMY_NIHILITY_UPGRADE.get(),4, props(Blocks.IRON_BLOCK, MapColor.COLOR_BLACK).noOcclusion())); heavyWorkbench = registerBlock("heavy_workbench", () -> new HeavyWorkbenchBlock(props(Blocks.IRON_BLOCK, MapColor.COLOR_BLACK).noOcclusion())); soulInfuser = registerBlock("soul_infuser", () -> new SoulInfuserBlock(BlockBehaviour.Properties.copy(Blocks.IRON_BLOCK).mapColor(MapColor.COLOR_GREEN).strength(3f, 1f).lightLevel(s -> 4).noOcclusion())); elementalManipulator = registerBlock("elemental_manipulator", () -> new ManipulatorBlock(BlockBehaviour.Properties.copy(Blocks.IRON_BLOCK).mapColor(MapColor.COLOR_GREEN).strength(3f, 1f).lightLevel(s -> 4).noOcclusion())); diff --git a/src/main/java/com/idark/valoria/registries/EntityStatsRegistry.java b/src/main/java/com/idark/valoria/registries/EntityStatsRegistry.java index b1a7bc39d..eefa6dc6f 100644 --- a/src/main/java/com/idark/valoria/registries/EntityStatsRegistry.java +++ b/src/main/java/com/idark/valoria/registries/EntityStatsRegistry.java @@ -33,9 +33,9 @@ public class EntityStatsRegistry{ public static AttributeSupplier DRAUGR = register(30, 5).add(Attributes.ARMOR, 5).add(Attributes.ARMOR_TOUGHNESS, 2).add(Attributes.FOLLOW_RANGE, 20).build(); public static AttributeSupplier SWAMP_WANDERER = register(35, 8).add(Attributes.KNOCKBACK_RESISTANCE, Tmp.rnd.nextDouble() * 0.05F).add(Attributes.SPAWN_REINFORCEMENTS_CHANCE, Tmp.rnd.nextDouble() * 0.25D + 0.5D).build(); public static AttributeSupplier SCOURGE = register(45, 6, 0.15).add(Attributes.KNOCKBACK_RESISTANCE, new Random().nextDouble() * 0.05F).add(Attributes.SPAWN_REINFORCEMENTS_CHANCE, Tmp.rnd.nextDouble() * 0.25D + 0.5D).build(); - public static AttributeSupplier ENT = register(75, 10, 0.15).add(Attributes.ARMOR, 5).add(Attributes.ARMOR_TOUGHNESS, 2).add(Attributes.KNOCKBACK_RESISTANCE, 1).build(); - public static AttributeSupplier NATURE_GOLEM = register(125, 10, 0.15).add(Attributes.ARMOR, 5).add(Attributes.ARMOR_TOUGHNESS, 2).add(Attributes.KNOCKBACK_RESISTANCE, 1).build(); - public static AttributeSupplier RIVER_GOLEM = register(125, 10, 0.15).add(Attributes.ARMOR, 5).add(Attributes.ARMOR_TOUGHNESS, 2).add(Attributes.KNOCKBACK_RESISTANCE, 1).build(); + public static AttributeSupplier ENT = register(75, 10, 0.15).add(Attributes.ARMOR, 5).add(Attributes.ARMOR_TOUGHNESS, 2).add(Attributes.KNOCKBACK_RESISTANCE, 0.5).build(); + public static AttributeSupplier NATURE_GOLEM = register(125, 10, 0.15).add(Attributes.ARMOR, 5).add(Attributes.ARMOR_TOUGHNESS, 2).add(Attributes.KNOCKBACK_RESISTANCE, 0.75).build(); + public static AttributeSupplier RIVER_GOLEM = register(125, 10, 0.15).add(Attributes.ARMOR, 5).add(Attributes.ARMOR_TOUGHNESS, 2).add(Attributes.KNOCKBACK_RESISTANCE, 0.75).build(); public static AttributeSupplier SORCERER = register(25, 1.5).build(); public static AttributeSupplier MAGGOT = register(6, 3.5).build(); public static AttributeSupplier KING_CRAB = register(100, 10).add(Attributes.FOLLOW_RANGE, 20).build(); diff --git a/src/main/java/com/idark/valoria/registries/ItemsRegistry.java b/src/main/java/com/idark/valoria/registries/ItemsRegistry.java index 16dbf7b0a..62d90df6c 100644 --- a/src/main/java/com/idark/valoria/registries/ItemsRegistry.java +++ b/src/main/java/com/idark/valoria/registries/ItemsRegistry.java @@ -964,7 +964,7 @@ public void appendHoverText(ItemStack stack, Level world, List toolti whiskeyBottle = registerItem("whiskey_bottle", () -> new PlaceableDrinkItem(BlockRegistry.whiskeyBottle.get(), 64, ItemsRegistry.bottle.get(), new MobEffectInstance(EffectsRegistry.TIPSY.get(), 450, 1), new MobEffectInstance(MobEffects.CONFUSION, 125))); cokeBottle = registerItem("coke_bottle", () -> new PlaceableDrinkItem(BlockRegistry.cokeBottle.get(), 64, ItemsRegistry.bottle.get(), new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 250))); toxinsBottle = registerItem("toxins_bottle", () -> new PoisonItem(10, new Item.Properties().rarity(Rarity.RARE))); - necromancerMusicDisc = registerItem("music_disc_necromancer", () -> new RecordItem(15, SoundsRegistry.MUSIC_NECROMANCER::get, (new Properties()).stacksTo(1).rarity(Rarity.RARE), 97)); + necromancerMusicDisc = registerItem("music_disc_necromancer", () -> new RecordItem(15, SoundsRegistry.MUSIC_NECROMANCER, (new Properties()).stacksTo(1).rarity(Rarity.RARE), 1940)); // spawn eggs pumpkinContract = registerItem("pumpkin_contract", () -> new TexturedSpawnEggItem(EntityTypeRegistry.HAUNTED_MERCHANT, new Item.Properties())); diff --git a/src/main/java/com/idark/valoria/registries/SoundsRegistry.java b/src/main/java/com/idark/valoria/registries/SoundsRegistry.java index babcdca68..9a79210e1 100644 --- a/src/main/java/com/idark/valoria/registries/SoundsRegistry.java +++ b/src/main/java/com/idark/valoria/registries/SoundsRegistry.java @@ -21,6 +21,9 @@ public class SoundsRegistry{ public static final RegistryObject UI_CLICK = registerSound("ui.click"); public static final RegistryObject UI_ALCHEMY_BREW = registerSound("ui.alchemy.brew"); + public static final RegistryObject UI_ALCHEMY_NETHER_UPGRADE = registerSound("ui.alchemy.nether_upgrade"); + public static final RegistryObject UI_ALCHEMY_ELEMENTAL_UPGRADE = registerSound("ui.alchemy.elemental_upgrade"); + public static final RegistryObject UI_ALCHEMY_NIHILITY_UPGRADE = registerSound("ui.alchemy.nihility_upgrade"); public static final RegistryObject HALLOWEEN_SLICE_LEGACY = registerSound("item.halloween_slice_legacy.use"); // calamity public static final RegistryObject HALLOWEEN_SLICE = registerSound("item.halloween_slice.use"); @@ -94,6 +97,14 @@ public class SoundsRegistry{ public static final RegistryObject GOBLIN_HURT = registerSound("mob.goblin.hurt"); public static final RegistryObject GOBLIN_DEATH = registerSound("mob.goblin.death"); + public static final RegistryObject ELEMENTAL_GOLEM_ATTACK_1 = registerSound("mob.elemental_golem.attack.1"); + public static final RegistryObject ELEMENTAL_GOLEM_ATTACK_2 = registerSound("mob.elemental_golem.attack.2"); + public static final RegistryObject ELEMENTAL_GOLEM_ATTACK_3 = registerSound("mob.elemental_golem.attack.3"); + public static final RegistryObject ELEMENTAL_GOLEM_ATTACK_4 = registerSound("mob.elemental_golem.attack.4"); + public static final RegistryObject ELEMENTAL_GOLEM_HURT = registerSound("mob.elemental_golem.hurt"); + public static final RegistryObject ELEMENTAL_GOLEM_DEATH = registerSound("mob.elemental_golem.death"); + public static final RegistryObject ELEMENTAL_GOLEM_STEP = registerSound("mob.elemental_golem.step"); + public static final RegistryObject STOMP = registerSound("mob.dryador.stomp"); public static final RegistryObject TROLL_DISAPPEAR = registerSound("mob.troll.disappear"); diff --git a/src/main/java/com/idark/valoria/registries/block/types/AlchemyStationBlock.java b/src/main/java/com/idark/valoria/registries/block/types/AlchemyStationBlock.java index 3fd799aa4..5dddd3223 100644 --- a/src/main/java/com/idark/valoria/registries/block/types/AlchemyStationBlock.java +++ b/src/main/java/com/idark/valoria/registries/block/types/AlchemyStationBlock.java @@ -4,6 +4,7 @@ import net.minecraft.core.*; import net.minecraft.network.chat.*; import net.minecraft.server.level.*; +import net.minecraft.sounds.*; import net.minecraft.world.*; import net.minecraft.world.entity.*; import net.minecraft.world.entity.player.*; @@ -27,19 +28,28 @@ public class AlchemyStationBlock extends HorizontalDirectionalBlock implements S private static final Component CONTAINER_TITLE = Component.translatable("menu.valoria.alchemy_station"); public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; public final int level; + private final SoundEvent upgradeSound; public AlchemyStationBlock(int level, Properties pProperties){ super(pProperties); this.level = level; + this.upgradeSound = null; this.registerDefaultState(this.stateDefinition.any().setValue(PART, WorkbenchPart.BOTTOM_LEFT).setValue(WATERLOGGED, false)); } - + + public AlchemyStationBlock(SoundEvent upgradeSound, int level, Properties pProperties){ + super(pProperties); + this.level = level; + this.upgradeSound = upgradeSound; + this.registerDefaultState(this.stateDefinition.any().setValue(PART, WorkbenchPart.BOTTOM_LEFT).setValue(WATERLOGGED, false)); + } + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder){ pBuilder.add(WATERLOGGED, PART, FACING); } @Override - public @org.jetbrains.annotations.Nullable PushReaction getPistonPushReaction(BlockState state){ + public PushReaction getPistonPushReaction(BlockState state){ return PushReaction.BLOCK; } @@ -199,6 +209,16 @@ public void upgrade(BlockPos pPos, BlockState pState, Level pLevel, BlockState t .setValue(FACING, mainFacing) .setValue(PART, WorkbenchPart.TOP_LEFT) .setValue(WATERLOGGED, waterTopLeft), 3); + + if(to.getBlock() instanceof AlchemyStationBlock alchemyStationBlock) { + if(alchemyStationBlock.getUpgradeSound() == null) return; + pLevel.playSound(null, mainPos, alchemyStationBlock.getUpgradeSound(), SoundSource.BLOCKS); + } + } + + @Nullable + public SoundEvent getUpgradeSound() { + return upgradeSound; } public void playerWillDestroy(Level pLevel, BlockPos pPos, BlockState pState, Player pPlayer){ diff --git a/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemGroundPunchAttack.java b/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemGroundPunchAttack.java index bd62f657b..69462cd80 100644 --- a/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemGroundPunchAttack.java +++ b/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemGroundPunchAttack.java @@ -3,6 +3,7 @@ import com.idark.valoria.*; import com.idark.valoria.registries.*; import net.minecraft.resources.*; +import net.minecraft.sounds.*; import net.minecraft.world.effect.*; import net.minecraft.world.entity.*; import net.minecraft.world.entity.ai.targeting.*; @@ -27,10 +28,15 @@ public ResourceLocation getId(){ return Valoria.loc("ground_punch"); } + @Override + public SoundEvent getAttackSound(){ + return SoundsRegistry.ELEMENTAL_GOLEM_ATTACK_4.get(); + } + @Override public void start(AttackSystemMob systemMob){ mob.setAggressive(true); - mob.level().broadcastEntityEvent(mob, (byte)62); + mob.level().broadcastEntityEvent(mob, (byte)64); this.ticksUntilNextPathRecalc = 0; this.mob.getNavigation().moveTo(mob.getTarget(), speedModifier); diff --git a/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemMeleeAttack.java b/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemMeleeAttack.java index faac874ca..e0e66c12f 100644 --- a/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemMeleeAttack.java +++ b/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemMeleeAttack.java @@ -1,9 +1,10 @@ package com.idark.valoria.registries.entity.ai.attacks; import com.idark.valoria.*; +import com.idark.valoria.registries.*; import net.minecraft.resources.*; +import net.minecraft.sounds.*; import net.minecraft.world.entity.*; -import pro.komaru.tridot.common.registry.entity.system.*; import pro.komaru.tridot.common.registry.entity.system.generic.*; public class GolemMeleeAttack extends TridotMeleeAttack{ @@ -17,13 +18,7 @@ public ResourceLocation getId(){ } @Override - public void start(AttackSystemMob systemMob){ - mob.setAggressive(true); - mob.level().broadcastEntityEvent(mob, (byte)61); - - this.ticksUntilNextPathRecalc = 0; - this.mob.getNavigation().moveTo(mob.getTarget(), speedModifier); - storeTargetPosition(); + public SoundEvent getAttackSound(){ + return SoundsRegistry.ELEMENTAL_GOLEM_ATTACK_1.get(); } - } diff --git a/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemMeleeSlapAttack.java b/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemMeleeSlapAttack.java new file mode 100644 index 000000000..591ec2f56 --- /dev/null +++ b/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemMeleeSlapAttack.java @@ -0,0 +1,36 @@ +package com.idark.valoria.registries.entity.ai.attacks; + +import com.idark.valoria.*; +import com.idark.valoria.registries.*; +import net.minecraft.resources.*; +import net.minecraft.sounds.*; +import net.minecraft.world.entity.*; +import pro.komaru.tridot.common.registry.entity.system.*; +import pro.komaru.tridot.common.registry.entity.system.generic.*; + +public class GolemMeleeSlapAttack extends TridotMeleeAttack{ + public GolemMeleeSlapAttack(PathfinderMob mob, float speedMod, float range, int attackDelay, int attackDuration, int cooldown){ + super(mob, speedMod, range, attackDelay, attackDuration, cooldown); + } + + @Override + public ResourceLocation getId(){ + return Valoria.loc("golem_melee_slap_attack"); + } + + @Override + public SoundEvent getAttackSound(){ + return SoundsRegistry.ELEMENTAL_GOLEM_ATTACK_3.get(); + } + + @Override + public void start(AttackSystemMob systemMob){ + mob.setAggressive(true); + mob.level().broadcastEntityEvent(mob, (byte)62); + + this.ticksUntilNextPathRecalc = 0; + this.mob.getNavigation().moveTo(mob.getTarget(), speedModifier); + storeTargetPosition(); + } + +} diff --git a/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemStompAttack.java b/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemStompAttack.java index e6e20dc90..61073c1d6 100644 --- a/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemStompAttack.java +++ b/src/main/java/com/idark/valoria/registries/entity/ai/attacks/GolemStompAttack.java @@ -1,8 +1,10 @@ package com.idark.valoria.registries.entity.ai.attacks; import com.idark.valoria.*; +import com.idark.valoria.registries.*; import com.idark.valoria.registries.entity.living.elemental.*; import net.minecraft.resources.*; +import net.minecraft.sounds.*; import net.minecraft.world.entity.*; import net.minecraft.world.entity.ai.targeting.*; import net.minecraft.world.item.enchantment.*; @@ -42,7 +44,12 @@ public void tick(){ public void start(AttackSystemMob systemMob){ super.start(systemMob); mob.setAggressive(true); - mob.level().broadcastEntityEvent(mob, (byte)60); + mob.level().broadcastEntityEvent(mob, (byte)61); + } + + @Override + public SoundEvent getAttackSound(){ + return SoundsRegistry.ELEMENTAL_GOLEM_ATTACK_2.get(); } @Override diff --git a/src/main/java/com/idark/valoria/registries/entity/living/elemental/AbstractElementalGolem.java b/src/main/java/com/idark/valoria/registries/entity/living/elemental/AbstractElementalGolem.java index e0044a866..4d7672e1c 100644 --- a/src/main/java/com/idark/valoria/registries/entity/living/elemental/AbstractElementalGolem.java +++ b/src/main/java/com/idark/valoria/registries/entity/living/elemental/AbstractElementalGolem.java @@ -1,10 +1,14 @@ package com.idark.valoria.registries.entity.living.elemental; +import com.idark.valoria.registries.*; +import net.minecraft.core.*; import net.minecraft.nbt.*; import net.minecraft.network.syncher.*; import net.minecraft.server.level.*; +import net.minecraft.sounds.*; import net.minecraft.util.*; import net.minecraft.util.valueproviders.*; +import net.minecraft.world.damagesource.*; import net.minecraft.world.entity.*; import net.minecraft.world.entity.ai.attributes.*; import net.minecraft.world.entity.ai.goal.*; @@ -12,6 +16,8 @@ import net.minecraft.world.entity.monster.*; import net.minecraft.world.entity.player.*; import net.minecraft.world.level.*; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.state.*; import org.jetbrains.annotations.*; import pro.komaru.tridot.client.gfx.*; import pro.komaru.tridot.client.gfx.particle.*; @@ -66,18 +72,46 @@ public boolean canSpawnSprintParticle() { private void setupAnimationStates(){ if(this.idleAnimationTimeout <= 0){ - this.idleAnimationTimeout = 40; + this.idleAnimationTimeout = 60; this.idleAnimationState.start(this.tickCount); }else{ --this.idleAnimationTimeout; } } + @Override + protected void playStepSound(BlockPos pPos, BlockState pState) { + this.playSound(SoundsRegistry.ELEMENTAL_GOLEM_STEP.get(), 1, 1); + } + + @Override + protected SoundEvent getHurtSound(DamageSource pDamageSource){ + return SoundsRegistry.ELEMENTAL_GOLEM_HURT.get(); + } + + @Override + protected SoundEvent getDeathSound(){ + return SoundsRegistry.ELEMENTAL_GOLEM_DEATH.get(); + } + @Override public void handleEntityEvent(byte pId){ - if(pId == 4){ + if(pId == 3) { + var opt = new BlockParticleOptions(TridotParticles.BLOCK.get(), Blocks.STONE.defaultBlockState()); + + ParticleBuilder.create(opt) + .setRenderType(TridotRenderTypes.TRANSLUCENT_BLOCK_PARTICLE) + .setSpinData(SpinParticleData.create().randomOffset().randomSpin(0.5f).build()) + .setScaleData(GenericParticleData.create(0.45f, 0.02f, 0).build()) + .setSpriteData(SpriteParticleData.CRUMBS_RANDOM) + .setLifetime(30) + .randomVelocity(0.45, 0.75, 0.45) + .randomOffset(0.065, 0.065) + .setGravity(0.75f) + .repeat(this.level(), this.getX(), this.getY(), this.getZ(), 32); + } else if(pId == 4){ this.attackAnimationState.start(this.tickCount); - } else if(pId == 60){ + } else if(pId == 61){ this.stompAttackAnimationState.start(this.tickCount); var opt = new BlockParticleOptions(TridotParticles.BLOCK.get(), this.level().getBlockState(this.blockPosition().below())); @@ -92,9 +126,9 @@ public void handleEntityEvent(byte pId){ .randomOffset(0.125, 0.125) .setGravity(0.75f) .repeat(this.level(), this.getX(), this.getY(), this.getZ(), 64); - }else if(pId == 61){ - this.attackSlapAnimationState.start(this.tickCount); }else if(pId == 62){ + this.attackSlapAnimationState.start(this.tickCount); + }else if(pId == 64){ this.groundPunchAnimationState.start(this.tickCount); var opt = new BlockParticleOptions(TridotParticles.BLOCK.get(), this.level().getBlockState(this.blockPosition().below())); diff --git a/src/main/java/com/idark/valoria/registries/entity/living/elemental/Ent.java b/src/main/java/com/idark/valoria/registries/entity/living/elemental/Ent.java index 3cf6243aa..e5fc06917 100644 --- a/src/main/java/com/idark/valoria/registries/entity/living/elemental/Ent.java +++ b/src/main/java/com/idark/valoria/registries/entity/living/elemental/Ent.java @@ -14,6 +14,7 @@ import net.minecraft.world.entity.ai.goal.*; import net.minecraft.world.entity.ai.goal.target.*; import net.minecraft.world.entity.monster.*; +import net.minecraft.world.entity.player.*; import net.minecraft.world.level.*; import net.minecraft.world.level.pathfinder.*; import org.jetbrains.annotations.*; @@ -47,7 +48,7 @@ public Ent(EntityType pEntityType, Level pLevel){ this.setPathfindingMalus(BlockPathTypes.DAMAGE_FIRE, 0.0F); this.setPathfindingMalus(BlockPathTypes.DANGER_FIRE, 0.0F); - this.selector.addAttack(new TridotMeleeAttack(this, 1, 3, 5, 20, 35)); + this.selector.addAttack(new TridotMeleeAttack(this, 1, 3, 5, 25, 35)); } public void tick(){ @@ -203,10 +204,13 @@ public LivingEntity.Fallsounds getFallSounds(){ @Override protected void registerGoals(){ super.registerGoals(); + this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(1, new ExecuteAttackGoal(this)); - this.goalSelector.addGoal(0, new WaterAvoidingRandomStrollGoal(this, 1.0D)); + this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 10.0F)); + this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D)); - this.targetSelector.addGoal(1, new HurtByTargetGoal(this).setAlertOthers()); + this.targetSelector.addGoal(0, (new HurtByTargetGoal(this)).setAlertOthers()); this.targetSelector.addGoal(4, new ResetUniversalAngerTargetGoal<>(this, true)); } diff --git a/src/main/java/com/idark/valoria/registries/entity/living/elemental/NatureGolem.java b/src/main/java/com/idark/valoria/registries/entity/living/elemental/NatureGolem.java index 2187be059..643732865 100644 --- a/src/main/java/com/idark/valoria/registries/entity/living/elemental/NatureGolem.java +++ b/src/main/java/com/idark/valoria/registries/entity/living/elemental/NatureGolem.java @@ -3,11 +3,9 @@ import com.idark.valoria.*; import com.idark.valoria.registries.*; import com.idark.valoria.registries.entity.ai.attacks.*; -import net.minecraft.core.*; import net.minecraft.nbt.*; import net.minecraft.network.syncher.*; import net.minecraft.resources.*; -import net.minecraft.tags.*; import net.minecraft.util.*; import net.minecraft.util.ByIdMap.*; import net.minecraft.world.*; @@ -15,7 +13,6 @@ import net.minecraft.world.level.*; import net.minecraft.world.level.pathfinder.*; import org.jetbrains.annotations.*; -import pro.komaru.tridot.common.registry.entity.system.generic.*; import java.util.function.*; @@ -30,8 +27,8 @@ public NatureGolem(EntityType type, Level pLev this.setPathfindingMalus(BlockPathTypes.DAMAGE_OTHER, 8.0F); this.setPathfindingMalus(BlockPathTypes.POWDER_SNOW, 8.0F); - this.selector.addAttack(new TridotMeleeAttack(this, 1, 2, 0, 10, 20)); - this.selector.addAttack(new GolemMeleeAttack(this, 1, 2, 0, 10, 40)); + this.selector.addAttack(new GolemMeleeAttack(this, 1, 2, 0, 10, 20)); + this.selector.addAttack(new GolemMeleeSlapAttack(this, 1, 2, 0, 10, 40)); this.selector.addAttack(new GolemStompAttack(this, 4, 2, 0, 20, 60)); this.selector.addAttack(new GolemGroundPunchAttack(this, 1, 4, 0, 15, 120)); } @@ -49,10 +46,6 @@ public NatureGolem(Level pLevel){ return super.finalizeSpawn(pLevel, pDifficulty, pReason, pSpawnData, pDataTag); } - public static boolean checkSpawnRules(EntityType pEntity, LevelAccessor pLevel, MobSpawnType pSpawnType, BlockPos pPos, RandomSource pRandom){ - return pLevel.getBlockState(pPos.below()).is(BlockTags.ANIMALS_SPAWNABLE_ON); - } - public void setVariant(Variant variant) { this.entityData.set(TYPE, variant.getId()); } diff --git a/src/main/java/com/idark/valoria/registries/entity/living/elemental/RiverGolem.java b/src/main/java/com/idark/valoria/registries/entity/living/elemental/RiverGolem.java index a2c0e674c..a80a6f276 100644 --- a/src/main/java/com/idark/valoria/registries/entity/living/elemental/RiverGolem.java +++ b/src/main/java/com/idark/valoria/registries/entity/living/elemental/RiverGolem.java @@ -2,13 +2,9 @@ import com.idark.valoria.registries.*; import com.idark.valoria.registries.entity.ai.attacks.*; -import net.minecraft.core.*; -import net.minecraft.tags.*; -import net.minecraft.util.*; import net.minecraft.world.entity.*; import net.minecraft.world.level.*; import net.minecraft.world.level.pathfinder.*; -import pro.komaru.tridot.common.registry.entity.system.generic.*; public class RiverGolem extends AbstractElementalGolem{ public RiverGolem(EntityType type, Level pLevel){ @@ -19,8 +15,8 @@ public RiverGolem(EntityType type, Level pLeve this.setPathfindingMalus(BlockPathTypes.DAMAGE_OTHER, 8.0F); this.setPathfindingMalus(BlockPathTypes.POWDER_SNOW, 8.0F); - this.selector.addAttack(new TridotMeleeAttack(this, 1, 2, 0, 10, 20)); - this.selector.addAttack(new GolemMeleeAttack(this, 1, 2, 0, 10, 40)); + this.selector.addAttack(new GolemMeleeAttack(this, 1, 2, 0, 10, 20)); + this.selector.addAttack(new GolemMeleeSlapAttack(this, 1, 2, 0, 10, 40)); this.selector.addAttack(new GolemStompAttack(this, 4, 2, 0, 20, 60)); this.selector.addAttack(new GolemGroundPunchAttack(this, 1, 4, 0, 15, 120)); } @@ -28,8 +24,4 @@ public RiverGolem(EntityType type, Level pLeve public RiverGolem(Level pLevel){ this(EntityTypeRegistry.RIVER_GOLEM.get(), pLevel); } - - public static boolean checkSpawnRules(EntityType pEntity, LevelAccessor pLevel, MobSpawnType pSpawnType, BlockPos pPos, RandomSource pRandom){ - return pLevel.getBlockState(pPos.below()).is(BlockTags.ANIMALS_SPAWNABLE_ON); - } } diff --git a/src/main/java/com/idark/valoria/registries/entity/living/elemental/WickedScorpion.java b/src/main/java/com/idark/valoria/registries/entity/living/elemental/WickedScorpion.java index b3ab4ff2e..471ec65dd 100644 --- a/src/main/java/com/idark/valoria/registries/entity/living/elemental/WickedScorpion.java +++ b/src/main/java/com/idark/valoria/registries/entity/living/elemental/WickedScorpion.java @@ -85,7 +85,7 @@ public void performRangedAttack(LivingEntity pTarget, float pVelocity) { double d1 = pTarget.getY(0.3333333333333333D) - spit.getY(); double d2 = pTarget.getZ() - this.getZ(); double d3 = Math.sqrt(d0 * d0 + d2 * d2); - spit.setBaseDamage(4); + spit.setBaseDamage(2); spit.addEffect(new MobEffectInstance(MobEffects.POISON, 50, 0)); spit.shoot(d0, d1 + d3 * (double)0.2F, d2, 1.6F, (float)(14 - this.level().getDifficulty().getId() * 4)); this.playSound(SoundEvents.LLAMA_SPIT, 1.0F, 1.0F / (this.getRandom().nextFloat() * 0.4F + 0.8F)); diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 9bd24ac65..687b46285 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -9,7 +9,7 @@ displayName = "Valoria" updateJSONURL = "https://raw.githubusercontent.com/IriDark/Valoria/refs/heads/main/update.json" displayURL = "https://discord.gg/wWdXpwuPmK" logoFile="valoria_banner.png" -credits = "Calamity Mod (sounds)" +credits = "Calamity Mod (Sounds)" authors = "IriDark, Sunday, Kerdo, DuUaader" description = ''' Valoria — A large RPG themed project that adds some mobs, blocks, weapons, and a lot of content in "vanilla" texture style diff --git a/src/main/resources/assets/valoria/lang/en_us.json b/src/main/resources/assets/valoria/lang/en_us.json index 074356a9e..af219a456 100644 --- a/src/main/resources/assets/valoria/lang/en_us.json +++ b/src/main/resources/assets/valoria/lang/en_us.json @@ -578,6 +578,8 @@ "entity.valoria.necromancer.boss_description": "Necromancer lurking deep in caves. Use the Crypt Locator to find his hidden lair", "entity.valoria.phantom_arrow": "Phantom Arrow", "entity.valoria.scourge": "Scourge", + "entity.valoria.nature_golem": "Nature Golem", + "entity.valoria.river_golem": "River Golem", "entity.valoria.shade_boat": "Shade Boat", "entity.valoria.shade_chest_boat": "Shade Chest Boat", "entity.valoria.shadewood_spider": "Shadewood Spider", @@ -707,6 +709,8 @@ "item.valoria.crab_leg": "Crab Leg", "item.valoria.coral_reef": "Coral Reef", "item.valoria.corpsecleaver": "Corpsecleaver", + "item.valoria.nature_golem_spawn_egg": "Nature Golem Spawn Egg", + "item.valoria.river_golem_spawn_egg": "River Golem Spawn Egg", "item.valoria.corrupted_troll_spawn_egg": "Corrupted Troll Spawn Egg", "item.valoria.crystal_shard": "Crystal Shard", "item.valoria.crystal_spawn_egg": "Crystal Spawn Egg", diff --git a/src/main/resources/assets/valoria/lang/fr_fr.json b/src/main/resources/assets/valoria/lang/fr_fr.json index 6c15a1d53..28f6e9e8d 100644 --- a/src/main/resources/assets/valoria/lang/fr_fr.json +++ b/src/main/resources/assets/valoria/lang/fr_fr.json @@ -629,10 +629,12 @@ "entity.valoria.maggot": "Ver de Terre", "entity.valoria.mannequin": "Mannequin", "entity.valoria.nature_arrow": "Nature Arrow", + "entity.valoria.nature_golem": "Nature Golem", "entity.valoria.necromancer": "Nécromancien", "entity.valoria.necromancer.boss_description": "Necromancer lurking deep in caves. Use the Crypt Locator to find his hidden lair", "entity.valoria.phantom_arrow": "Flèche Fantôme", "entity.valoria.pixie": "Pixie", + "entity.valoria.river_golem": "River Golem", "entity.valoria.scavenger": "Scavenger", "entity.valoria.scourge": "Fléau", "entity.valoria.shade_boat": "Bateau Shadewood", @@ -932,6 +934,7 @@ "item.valoria.nature_core": "Noyau Naturel", "item.valoria.nature_crossbow": "Nature Crossbow", "item.valoria.nature_gift": "Cadeau de la Nature", + "item.valoria.nature_golem_spawn_egg": "Nature Golem Spawn Egg", "item.valoria.nature_helmet": "Casque Naturel", "item.valoria.nature_hoe": "Bêche Naturelle", "item.valoria.nature_ingot": "Lingot Naturel", @@ -1001,6 +1004,7 @@ "item.valoria.relic_gold": "Or Relique", "item.valoria.remains": "Restes", "item.valoria.respirator": "Respirator", + "item.valoria.river_golem_spawn_egg": "River Golem Spawn Egg", "item.valoria.rot": "Rot", "item.valoria.rotten_bone": "Os Pourri", "item.valoria.ruby_gem": "Rubis", diff --git a/src/main/resources/assets/valoria/lang/pl_pl.json b/src/main/resources/assets/valoria/lang/pl_pl.json index 6b88c4e2e..53868d8f4 100644 --- a/src/main/resources/assets/valoria/lang/pl_pl.json +++ b/src/main/resources/assets/valoria/lang/pl_pl.json @@ -629,10 +629,12 @@ "entity.valoria.maggot": "Robak", "entity.valoria.mannequin": "Manekin", "entity.valoria.nature_arrow": "Nature Arrow", + "entity.valoria.nature_golem": "Nature Golem", "entity.valoria.necromancer": "Nekromag", "entity.valoria.necromancer.boss_description": "Necromancer lurking deep in caves. Use the Crypt Locator to find his hidden lair", "entity.valoria.phantom_arrow": "Strzała Widma", "entity.valoria.pixie": "Pixie", + "entity.valoria.river_golem": "River Golem", "entity.valoria.scavenger": "Scavenger", "entity.valoria.scourge": "Biczyk", "entity.valoria.shade_boat": "Łódź Ciemnego Drewna", @@ -932,6 +934,7 @@ "item.valoria.nature_core": "Rdzeń natury", "item.valoria.nature_crossbow": "Nature Crossbow", "item.valoria.nature_gift": "Dar natury", + "item.valoria.nature_golem_spawn_egg": "Nature Golem Spawn Egg", "item.valoria.nature_helmet": "Naturalny hełm", "item.valoria.nature_hoe": "Naturalna motyka", "item.valoria.nature_ingot": "Sztabka natury", @@ -1001,6 +1004,7 @@ "item.valoria.relic_gold": "Złota relikwia", "item.valoria.remains": "Remains", "item.valoria.respirator": "Respirator", + "item.valoria.river_golem_spawn_egg": "River Golem Spawn Egg", "item.valoria.rot": "Rot", "item.valoria.rotten_bone": "Zgniła kość", "item.valoria.ruby_gem": "Rubin", diff --git a/src/main/resources/assets/valoria/lang/ru_ru.json b/src/main/resources/assets/valoria/lang/ru_ru.json index 5d615813f..d07620a43 100644 --- a/src/main/resources/assets/valoria/lang/ru_ru.json +++ b/src/main/resources/assets/valoria/lang/ru_ru.json @@ -629,10 +629,12 @@ "entity.valoria.maggot": "Личинка", "entity.valoria.mannequin": "Манекен", "entity.valoria.nature_arrow": "Стрела природы", + "entity.valoria.nature_golem": "Nature Golem", "entity.valoria.necromancer": "Некромант", "entity.valoria.necromancer.boss_description": "Некромант, скрывающийся глубоко в пещерах. Используй Локатор Крипты, чтобы найти его сховок", "entity.valoria.phantom_arrow": "Фантомная стрела", "entity.valoria.pixie": "Пикси", + "entity.valoria.river_golem": "River Golem", "entity.valoria.scavenger": "Падальщик", "entity.valoria.scourge": "Бич", "entity.valoria.shade_boat": "Тенедревесная лодка", @@ -932,6 +934,7 @@ "item.valoria.nature_core": "Ядро природы", "item.valoria.nature_crossbow": "Природный арбалет", "item.valoria.nature_gift": "Подарок природы", + "item.valoria.nature_golem_spawn_egg": "Nature Golem Spawn Egg", "item.valoria.nature_helmet": "Шлем природы", "item.valoria.nature_hoe": "Мотыга природы", "item.valoria.nature_ingot": "Слиток природы", @@ -1001,6 +1004,7 @@ "item.valoria.relic_gold": "Золотая реликвия", "item.valoria.remains": "Останки", "item.valoria.respirator": "Респиратор", + "item.valoria.river_golem_spawn_egg": "River Golem Spawn Egg", "item.valoria.rot": "Гниль", "item.valoria.rotten_bone": "Гниющая кость", "item.valoria.ruby_gem": "Рубин", diff --git a/src/main/resources/assets/valoria/lang/uk_ua.json b/src/main/resources/assets/valoria/lang/uk_ua.json index 209c86614..8987a3ae7 100644 --- a/src/main/resources/assets/valoria/lang/uk_ua.json +++ b/src/main/resources/assets/valoria/lang/uk_ua.json @@ -629,10 +629,12 @@ "entity.valoria.maggot": "Личинка", "entity.valoria.mannequin": "Манекен", "entity.valoria.nature_arrow": "Стріла природи", + "entity.valoria.nature_golem": "Nature Golem", "entity.valoria.necromancer": "Некромант", "entity.valoria.necromancer.boss_description": "Necromancer lurking deep in caves. Use the Crypt Locator to find his hidden lair", "entity.valoria.phantom_arrow": "Фантомна стріла", "entity.valoria.pixie": "Піксі", + "entity.valoria.river_golem": "River Golem", "entity.valoria.scavenger": "Scavenger", "entity.valoria.scourge": "Болотомор", "entity.valoria.shade_boat": "Тіне-деревинний човен", @@ -932,6 +934,7 @@ "item.valoria.nature_core": "Ядро природи", "item.valoria.nature_crossbow": "Nature Crossbow", "item.valoria.nature_gift": "Дарунок природи", + "item.valoria.nature_golem_spawn_egg": "Nature Golem Spawn Egg", "item.valoria.nature_helmet": "Шолом природи", "item.valoria.nature_hoe": "Мотика природи", "item.valoria.nature_ingot": "Злиток природи", @@ -1001,6 +1004,7 @@ "item.valoria.relic_gold": "Реліктове золото", "item.valoria.remains": "Залишки", "item.valoria.respirator": "Respirator", + "item.valoria.river_golem_spawn_egg": "River Golem Spawn Egg", "item.valoria.rot": "Rot", "item.valoria.rotten_bone": "Гниюча кістка", "item.valoria.ruby_gem": "Рубін", diff --git a/src/main/resources/assets/valoria/lang/zh_cn.json b/src/main/resources/assets/valoria/lang/zh_cn.json index d9c45eada..0de2c068b 100644 --- a/src/main/resources/assets/valoria/lang/zh_cn.json +++ b/src/main/resources/assets/valoria/lang/zh_cn.json @@ -629,10 +629,12 @@ "entity.valoria.maggot": "蛆虫", "entity.valoria.mannequin": "假人", "entity.valoria.nature_arrow": "自然箭", + "entity.valoria.nature_golem": "Nature Golem", "entity.valoria.necromancer": "死灵法师", "entity.valoria.necromancer.boss_description": "死灵法师潜伏在洞穴深处。使用地穴定位器找到他的隐藏巢穴", "entity.valoria.phantom_arrow": "幻影箭", "entity.valoria.pixie": "精灵", + "entity.valoria.river_golem": "River Golem", "entity.valoria.scavenger": "拾荒者", "entity.valoria.scourge": "灾祸", "entity.valoria.shade_boat": "暗影之舟", @@ -932,6 +934,7 @@ "item.valoria.nature_core": "自然核心", "item.valoria.nature_crossbow": "自然弩", "item.valoria.nature_gift": "自然馈赠", + "item.valoria.nature_golem_spawn_egg": "Nature Golem Spawn Egg", "item.valoria.nature_helmet": "自然头盔", "item.valoria.nature_hoe": "自然锄", "item.valoria.nature_ingot": "自然锭", @@ -1001,6 +1004,7 @@ "item.valoria.relic_gold": "遗迹金", "item.valoria.remains": "残骸", "item.valoria.respirator": "呼吸器", + "item.valoria.river_golem_spawn_egg": "River Golem Spawn Egg", "item.valoria.rot": "腐烂", "item.valoria.rotten_bone": "腐烂骨头", "item.valoria.ruby_gem": "红宝石", diff --git a/src/main/resources/assets/valoria/lang/zh_hk.json b/src/main/resources/assets/valoria/lang/zh_hk.json index 182411862..0323d85ae 100644 --- a/src/main/resources/assets/valoria/lang/zh_hk.json +++ b/src/main/resources/assets/valoria/lang/zh_hk.json @@ -629,10 +629,12 @@ "entity.valoria.maggot": "蛆蟲", "entity.valoria.mannequin": "假人", "entity.valoria.nature_arrow": "自然箭", + "entity.valoria.nature_golem": "Nature Golem", "entity.valoria.necromancer": "死靈法師", "entity.valoria.necromancer.boss_description": "死靈法師潛伏在洞穴深處。使用地穴定位器找到他的隱藏巢穴", "entity.valoria.phantom_arrow": "幻影箭", "entity.valoria.pixie": "小精靈", + "entity.valoria.river_golem": "River Golem", "entity.valoria.scavenger": "拾荒者", "entity.valoria.scourge": "災厄", "entity.valoria.shade_boat": "暗影船", @@ -932,6 +934,7 @@ "item.valoria.nature_core": "自然核心", "item.valoria.nature_crossbow": "自然弩", "item.valoria.nature_gift": "自然之禮", + "item.valoria.nature_golem_spawn_egg": "Nature Golem Spawn Egg", "item.valoria.nature_helmet": "自然頭盔", "item.valoria.nature_hoe": "自然鋤頭", "item.valoria.nature_ingot": "自然錠", @@ -1001,6 +1004,7 @@ "item.valoria.relic_gold": "遺跡金", "item.valoria.remains": "殘骸", "item.valoria.respirator": "呼吸器", + "item.valoria.river_golem_spawn_egg": "River Golem Spawn Egg", "item.valoria.rot": "腐敗", "item.valoria.rotten_bone": "腐爛骨頭", "item.valoria.ruby_gem": "紅寶石", diff --git a/src/main/resources/assets/valoria/lang/zh_tw.json b/src/main/resources/assets/valoria/lang/zh_tw.json index 182411862..0323d85ae 100644 --- a/src/main/resources/assets/valoria/lang/zh_tw.json +++ b/src/main/resources/assets/valoria/lang/zh_tw.json @@ -629,10 +629,12 @@ "entity.valoria.maggot": "蛆蟲", "entity.valoria.mannequin": "假人", "entity.valoria.nature_arrow": "自然箭", + "entity.valoria.nature_golem": "Nature Golem", "entity.valoria.necromancer": "死靈法師", "entity.valoria.necromancer.boss_description": "死靈法師潛伏在洞穴深處。使用地穴定位器找到他的隱藏巢穴", "entity.valoria.phantom_arrow": "幻影箭", "entity.valoria.pixie": "小精靈", + "entity.valoria.river_golem": "River Golem", "entity.valoria.scavenger": "拾荒者", "entity.valoria.scourge": "災厄", "entity.valoria.shade_boat": "暗影船", @@ -932,6 +934,7 @@ "item.valoria.nature_core": "自然核心", "item.valoria.nature_crossbow": "自然弩", "item.valoria.nature_gift": "自然之禮", + "item.valoria.nature_golem_spawn_egg": "Nature Golem Spawn Egg", "item.valoria.nature_helmet": "自然頭盔", "item.valoria.nature_hoe": "自然鋤頭", "item.valoria.nature_ingot": "自然錠", @@ -1001,6 +1004,7 @@ "item.valoria.relic_gold": "遺跡金", "item.valoria.remains": "殘骸", "item.valoria.respirator": "呼吸器", + "item.valoria.river_golem_spawn_egg": "River Golem Spawn Egg", "item.valoria.rot": "腐敗", "item.valoria.rotten_bone": "腐爛骨頭", "item.valoria.ruby_gem": "紅寶石", diff --git a/src/main/resources/assets/valoria/sounds.json b/src/main/resources/assets/valoria/sounds.json index 4cd064443..462fab0df 100644 --- a/src/main/resources/assets/valoria/sounds.json +++ b/src/main/resources/assets/valoria/sounds.json @@ -172,7 +172,21 @@ "valoria:ui/alchemy/brew_3" ] }, - + "ui.alchemy.nether_upgrade": { + "sounds": [ + "valoria:ui/alchemy/nether_upgrade" + ] + }, + "ui.alchemy.elemental_upgrade": { + "sounds": [ + "valoria:ui/alchemy/elemental_upgrade" + ] + }, + "ui.alchemy.nihility_upgrade": { + "sounds": [ + "valoria:ui/alchemy/nihility_upgrade" + ] + }, "mob.breath": { "sounds": [ "valoria:entity/breath" @@ -663,6 +677,62 @@ "valoria:entity/haunted_merchant/melee_attack/attack1" ] }, + "mob.elemental_golem.attack.1": { + "subtitle": "subtitles.valoria.elemental_golem.attack", + "sounds": [ + "valoria:entity/elemental_golem/attack1_1", + "valoria:entity/elemental_golem/attack1_2" + ] + }, + "mob.elemental_golem.attack.2": { + "subtitle": "subtitles.valoria.elemental_golem.attack", + "sounds": [ + "valoria:entity/elemental_golem/step1", + "valoria:entity/elemental_golem/step2", + "valoria:entity/elemental_golem/step3", + "valoria:entity/elemental_golem/step4" + ] + }, + "mob.elemental_golem.attack.3": { + "subtitle": "subtitles.valoria.elemental_golem.attack", + "sounds": [ + "valoria:entity/elemental_golem/attack3_1", + "valoria:entity/elemental_golem/attack3_2" + ] + }, + "mob.elemental_golem.attack.4": { + "subtitle": "subtitles.valoria.elemental_golem.attack", + "sounds": [ + "valoria:entity/elemental_golem/attack4" + ] + }, + "mob.elemental_golem.hurt": { + "subtitle": "subtitles.valoria.elemental_golem.hurt", + "sounds": [ + "valoria:entity/elemental_golem/hurt1", + "valoria:entity/elemental_golem/hurt2", + "valoria:entity/elemental_golem/hurt3", + "valoria:entity/elemental_golem/hurt4" + ] + }, + "mob.elemental_golem.step": { + "subtitle": "subtitles.block.generic.footsteps", + "sounds": [ + "valoria:entity/elemental_golem/step1", + "valoria:entity/elemental_golem/step2", + "valoria:entity/elemental_golem/step3", + "valoria:entity/elemental_golem/step4" + ] + }, + "mob.elemental_golem.death": { + "subtitle": "subtitles.valoria.elemental_golem.death", + "sounds": [ + "valoria:entity/elemental_golem/death1", + "valoria:entity/elemental_golem/death2", + "valoria:entity/elemental_golem/death3" + ] + }, + "mob.goblin.idle": { "subtitle": "subtitles.valoria.goblin.idle", "sounds": [ diff --git a/src/main/resources/assets/valoria/sounds/block/cyst/break1.ogg b/src/main/resources/assets/valoria/sounds/block/cyst/break1.ogg index da719eabf..df7811138 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/cyst/break1.ogg and b/src/main/resources/assets/valoria/sounds/block/cyst/break1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/cyst/break2.ogg b/src/main/resources/assets/valoria/sounds/block/cyst/break2.ogg index a0c91d237..c1dcff7ad 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/cyst/break2.ogg and b/src/main/resources/assets/valoria/sounds/block/cyst/break2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/cyst/break3.ogg b/src/main/resources/assets/valoria/sounds/block/cyst/break3.ogg index 453f2f387..4c8f803f2 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/cyst/break3.ogg and b/src/main/resources/assets/valoria/sounds/block/cyst/break3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/cyst/spreads1.ogg b/src/main/resources/assets/valoria/sounds/block/cyst/spreads1.ogg index 87925f19d..aa1739ddc 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/cyst/spreads1.ogg and b/src/main/resources/assets/valoria/sounds/block/cyst/spreads1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/cyst/spreads2.ogg b/src/main/resources/assets/valoria/sounds/block/cyst/spreads2.ogg index 84aaf502c..181b054b7 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/cyst/spreads2.ogg and b/src/main/resources/assets/valoria/sounds/block/cyst/spreads2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/cyst/spreads3.ogg b/src/main/resources/assets/valoria/sounds/block/cyst/spreads3.ogg index fb051ca89..358a7eea2 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/cyst/spreads3.ogg and b/src/main/resources/assets/valoria/sounds/block/cyst/spreads3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/cyst/spreads4.ogg b/src/main/resources/assets/valoria/sounds/block/cyst/spreads4.ogg index d649ff560..beb25f1b5 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/cyst/spreads4.ogg and b/src/main/resources/assets/valoria/sounds/block/cyst/spreads4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/cyst/spreads5.ogg b/src/main/resources/assets/valoria/sounds/block/cyst/spreads5.ogg index 886721bb1..33fcc7e80 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/cyst/spreads5.ogg and b/src/main/resources/assets/valoria/sounds/block/cyst/spreads5.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/cyst/summon1.ogg b/src/main/resources/assets/valoria/sounds/block/cyst/summon1.ogg index 9ebaefe2c..07c3ed8dc 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/cyst/summon1.ogg and b/src/main/resources/assets/valoria/sounds/block/cyst/summon1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/cyst/summon2.ogg b/src/main/resources/assets/valoria/sounds/block/cyst/summon2.ogg index 9bb572be8..e188ff745 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/cyst/summon2.ogg and b/src/main/resources/assets/valoria/sounds/block/cyst/summon2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/cyst/summon3.ogg b/src/main/resources/assets/valoria/sounds/block/cyst/summon3.ogg index c38118cdb..7a03bf222 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/cyst/summon3.ogg and b/src/main/resources/assets/valoria/sounds/block/cyst/summon3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/break1.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/break1.ogg index 3c71f59f1..f7271da8a 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/break1.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/break1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/break2.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/break2.ogg index d0dd5761c..cebd7bc2f 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/break2.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/break2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/break3.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/break3.ogg index a1758a10c..e6e82f317 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/break3.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/break3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/hit1.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/hit1.ogg index b5d904745..3800d6bc4 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/hit1.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/hit1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/hit2.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/hit2.ogg index 57d9c6d23..074ea968a 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/hit2.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/hit2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/hit3.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/hit3.ogg index a94c38967..ff54ec340 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/hit3.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/hit3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/hit4.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/hit4.ogg index d512fbb96..548c7d08a 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/hit4.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/hit4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/hit5.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/hit5.ogg index 11cf6188a..43927ab4c 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/hit5.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/hit5.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/place1.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/place1.ogg index 75f8e0e53..9ce386891 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/place1.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/place1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/place2.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/place2.ogg index acf39fcce..116377e72 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/place2.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/place2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/place3.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/place3.ogg index a3e5352e4..6c8b9cdf3 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/place3.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/place3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/step1.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/step1.ogg index 8051f0bf9..bb38056a7 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/step1.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/step1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/step2.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/step2.ogg index 621d87f71..358d4a525 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/step2.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/step2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/step3.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/step3.ogg index 1cf1ec788..be9cd7116 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/step3.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/step3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/flesh/step4.ogg b/src/main/resources/assets/valoria/sounds/block/flesh/step4.ogg index 73cd18e4b..5b4e8c85a 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/flesh/step4.ogg and b/src/main/resources/assets/valoria/sounds/block/flesh/step4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_0.ogg b/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_0.ogg index 043b2bcf2..30c7b65a1 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_0.ogg and b/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_0.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_1.ogg b/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_1.ogg index d581a1f6d..77cc7c391 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_1.ogg and b/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_2.ogg b/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_2.ogg index 92e812bca..ff8464230 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_2.ogg and b/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_3.ogg b/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_3.ogg index 7ebe20b0b..e4590520e 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_3.ogg and b/src/main/resources/assets/valoria/sounds/block/keg_brewery/ambient_3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/keg_brewery/final_brew.ogg b/src/main/resources/assets/valoria/sounds/block/keg_brewery/final_brew.ogg index 5ceacc8e3..4d132b5e4 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/keg_brewery/final_brew.ogg and b/src/main/resources/assets/valoria/sounds/block/keg_brewery/final_brew.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/place1.ogg b/src/main/resources/assets/valoria/sounds/block/pot/place1.ogg index 925226c25..c286e6363 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/place1.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/place1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/place2.ogg b/src/main/resources/assets/valoria/sounds/block/pot/place2.ogg index 47e187ec8..b5de69f23 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/place2.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/place2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/place3.ogg b/src/main/resources/assets/valoria/sounds/block/pot/place3.ogg index ea3b12329..1f4181dc9 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/place3.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/place3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/place4.ogg b/src/main/resources/assets/valoria/sounds/block/pot/place4.ogg index 6660643b9..b62f68f87 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/place4.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/place4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/shatter1.ogg b/src/main/resources/assets/valoria/sounds/block/pot/shatter1.ogg index 141abefae..3f52f1649 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/shatter1.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/shatter1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/shatter2.ogg b/src/main/resources/assets/valoria/sounds/block/pot/shatter2.ogg index c602afbfa..cf3de3b4b 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/shatter2.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/shatter2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/shatter3.ogg b/src/main/resources/assets/valoria/sounds/block/pot/shatter3.ogg index 141abefae..9a30245f4 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/shatter3.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/shatter3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/shatter4.ogg b/src/main/resources/assets/valoria/sounds/block/pot/shatter4.ogg index 34f65f157..de380af65 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/shatter4.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/shatter4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/shatter5.ogg b/src/main/resources/assets/valoria/sounds/block/pot/shatter5.ogg index a7f5db5b0..3be71c834 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/shatter5.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/shatter5.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/shatter6.ogg b/src/main/resources/assets/valoria/sounds/block/pot/shatter6.ogg index 0ed490ac0..97df48a3d 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/shatter6.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/shatter6.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/step1.ogg b/src/main/resources/assets/valoria/sounds/block/pot/step1.ogg index 0e72ba6a5..732cc697a 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/step1.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/step1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/step2.ogg b/src/main/resources/assets/valoria/sounds/block/pot/step2.ogg index f71d16b5c..369e2ad11 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/step2.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/step2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/step3.ogg b/src/main/resources/assets/valoria/sounds/block/pot/step3.ogg index e09c2f0a9..ef1c2f592 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/step3.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/step3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/step4.ogg b/src/main/resources/assets/valoria/sounds/block/pot/step4.ogg index 98664ba70..f50847b8d 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/step4.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/step4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/pot/step5.ogg b/src/main/resources/assets/valoria/sounds/block/pot/step5.ogg index 84cbf9964..711d85c33 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/pot/step5.ogg and b/src/main/resources/assets/valoria/sounds/block/pot/step5.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/shade_wood/break1.ogg b/src/main/resources/assets/valoria/sounds/block/shade_wood/break1.ogg index b19e4fa0b..6d74c225e 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/shade_wood/break1.ogg and b/src/main/resources/assets/valoria/sounds/block/shade_wood/break1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/shade_wood/break2.ogg b/src/main/resources/assets/valoria/sounds/block/shade_wood/break2.ogg index 49c207741..e47f3d215 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/shade_wood/break2.ogg and b/src/main/resources/assets/valoria/sounds/block/shade_wood/break2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/shade_wood/break3.ogg b/src/main/resources/assets/valoria/sounds/block/shade_wood/break3.ogg index 41fa009b5..e898c6944 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/shade_wood/break3.ogg and b/src/main/resources/assets/valoria/sounds/block/shade_wood/break3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/shade_wood/hit1.ogg b/src/main/resources/assets/valoria/sounds/block/shade_wood/hit1.ogg index 7c4f91e53..e278c244b 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/shade_wood/hit1.ogg and b/src/main/resources/assets/valoria/sounds/block/shade_wood/hit1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/shade_wood/hit2.ogg b/src/main/resources/assets/valoria/sounds/block/shade_wood/hit2.ogg index 757e87878..3ba4b42f8 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/shade_wood/hit2.ogg and b/src/main/resources/assets/valoria/sounds/block/shade_wood/hit2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/shade_wood/hit3.ogg b/src/main/resources/assets/valoria/sounds/block/shade_wood/hit3.ogg index 1c9f94938..c54372dd5 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/shade_wood/hit3.ogg and b/src/main/resources/assets/valoria/sounds/block/shade_wood/hit3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/shade_wood/hit4.ogg b/src/main/resources/assets/valoria/sounds/block/shade_wood/hit4.ogg index 28f39a0d0..87a7b032c 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/shade_wood/hit4.ogg and b/src/main/resources/assets/valoria/sounds/block/shade_wood/hit4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/shade_wood/step1.ogg b/src/main/resources/assets/valoria/sounds/block/shade_wood/step1.ogg index 22e029057..7961f17db 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/shade_wood/step1.ogg and b/src/main/resources/assets/valoria/sounds/block/shade_wood/step1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/shade_wood/step2.ogg b/src/main/resources/assets/valoria/sounds/block/shade_wood/step2.ogg index a8a727a0f..b57a9aea5 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/shade_wood/step2.ogg and b/src/main/resources/assets/valoria/sounds/block/shade_wood/step2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/shade_wood/step3.ogg b/src/main/resources/assets/valoria/sounds/block/shade_wood/step3.ogg index 628c84bff..a6525358f 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/shade_wood/step3.ogg and b/src/main/resources/assets/valoria/sounds/block/shade_wood/step3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/shade_wood/step4.ogg b/src/main/resources/assets/valoria/sounds/block/shade_wood/step4.ogg index 7872f58eb..bb70209b5 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/shade_wood/step4.ogg and b/src/main/resources/assets/valoria/sounds/block/shade_wood/step4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break1.ogg b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break1.ogg index eeab70745..8cdaf75c9 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break1.ogg and b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break2.ogg b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break2.ogg index 8076f07a9..039371564 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break2.ogg and b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break3.ogg b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break3.ogg index a4224ad51..e2ac5c837 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break3.ogg and b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/break3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step1.ogg b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step1.ogg index 78eb35a68..2131dd573 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step1.ogg and b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step2.ogg b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step2.ogg index 9993809d9..2ddd14089 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step2.ogg and b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step3.ogg b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step3.ogg index da5c89bc3..c4cee5ef3 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step3.ogg and b/src/main/resources/assets/valoria/sounds/block/suspicious_tombstone/step3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/break1.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/break1.ogg index 688b8b81d..7d57b72af 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/break1.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/break1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/break2.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/break2.ogg index e8b5ccb27..ce5722e70 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/break2.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/break2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/break3.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/break3.ogg index 0bc157c5b..4769b2f44 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/break3.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/break3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/hit1.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/hit1.ogg index 180cc2726..41b34e2f0 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/hit1.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/hit1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/hit2.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/hit2.ogg index bc926b5aa..ba438727c 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/hit2.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/hit2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/hit3.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/hit3.ogg index b54093f7e..4b1d69930 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/hit3.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/hit3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/hit4.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/hit4.ogg index 7cb5bae10..8f3623b07 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/hit4.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/hit4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/place1.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/place1.ogg index a977ffbfc..a3920c962 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/place1.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/place1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/place2.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/place2.ogg index 8877e8b66..8c9e6a985 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/place2.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/place2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/place3.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/place3.ogg index e05a9a826..5e898e9ce 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/place3.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/place3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/step1.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/step1.ogg index 3923d487c..aa8535882 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/step1.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/step1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/step2.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/step2.ogg index 8c884e951..1a6f53637 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/step2.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/step2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone/step3.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone/step3.ogg index fe58c7498..fcce20d55 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone/step3.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone/step3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break1.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break1.ogg index caaf3a3f7..15a6f6366 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break1.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break2.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break2.ogg index 4cc171a42..8bf26ccf0 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break2.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break3.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break3.ogg index baae359e8..53aa4fe3a 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break3.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/break3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place1.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place1.ogg index ddc8373eb..e54ae2f5c 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place1.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place2.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place2.ogg index 484a6a0b2..5ca2372d4 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place2.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place3.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place3.ogg index 22efb28a1..9f8d7cbc2 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place3.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/place3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step1.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step1.ogg index 81fb487e7..e667cd371 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step1.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step2.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step2.ogg index 10507bd40..afa4f03dd 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step2.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step3.ogg b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step3.ogg index 4c7348c7f..1e70a518b 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step3.ogg and b/src/main/resources/assets/valoria/sounds/block/tombstone_bricks/step3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/valoria_portal/portal.ogg b/src/main/resources/assets/valoria/sounds/block/valoria_portal/portal.ogg index 35d17d947..0695e831f 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/valoria_portal/portal.ogg and b/src/main/resources/assets/valoria/sounds/block/valoria_portal/portal.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_grass/break1.ogg b/src/main/resources/assets/valoria/sounds/block/void_grass/break1.ogg index 51a21da13..716fd485d 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_grass/break1.ogg and b/src/main/resources/assets/valoria/sounds/block/void_grass/break1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_grass/break2.ogg b/src/main/resources/assets/valoria/sounds/block/void_grass/break2.ogg index 5f00f2836..d4eeea114 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_grass/break2.ogg and b/src/main/resources/assets/valoria/sounds/block/void_grass/break2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_grass/break3.ogg b/src/main/resources/assets/valoria/sounds/block/void_grass/break3.ogg index 76c1dbe45..3582e09e9 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_grass/break3.ogg and b/src/main/resources/assets/valoria/sounds/block/void_grass/break3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_grass/step1.ogg b/src/main/resources/assets/valoria/sounds/block/void_grass/step1.ogg index 933a3c841..0a264aaff 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_grass/step1.ogg and b/src/main/resources/assets/valoria/sounds/block/void_grass/step1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_grass/step2.ogg b/src/main/resources/assets/valoria/sounds/block/void_grass/step2.ogg index 3cc22e149..71aca31a0 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_grass/step2.ogg and b/src/main/resources/assets/valoria/sounds/block/void_grass/step2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_grass/step3.ogg b/src/main/resources/assets/valoria/sounds/block/void_grass/step3.ogg index 7ceceadf2..b0d9ee270 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_grass/step3.ogg and b/src/main/resources/assets/valoria/sounds/block/void_grass/step3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_grass/step4.ogg b/src/main/resources/assets/valoria/sounds/block/void_grass/step4.ogg index 73bc2a1d7..c07128683 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_grass/step4.ogg and b/src/main/resources/assets/valoria/sounds/block/void_grass/step4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_grass/step5.ogg b/src/main/resources/assets/valoria/sounds/block/void_grass/step5.ogg index dcbbfc5a7..74594f7df 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_grass/step5.ogg and b/src/main/resources/assets/valoria/sounds/block/void_grass/step5.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_grass/step6.ogg b/src/main/resources/assets/valoria/sounds/block/void_grass/step6.ogg index e0a175c18..a49666f64 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_grass/step6.ogg and b/src/main/resources/assets/valoria/sounds/block/void_grass/step6.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/break1.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/break1.ogg index 516b20841..0fbae937d 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/break1.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/break1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/break2.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/break2.ogg index 9aeabae51..d3eda84cf 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/break2.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/break2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/break3.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/break3.ogg index ded96e28f..ee39bb23c 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/break3.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/break3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/break4.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/break4.ogg index 88193a45b..acfc9a376 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/break4.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/break4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/break5.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/break5.ogg index 36bf6af4e..bfffc8060 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/break5.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/break5.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/break6.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/break6.ogg index bbd66f4fa..0c0f89aa6 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/break6.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/break6.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/step1.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/step1.ogg index 317276843..8252385d2 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/step1.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/step1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/step2.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/step2.ogg index 86eabd776..7c730e302 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/step2.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/step2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/step3.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/step3.ogg index 0348a3f80..ff64bdbac 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/step3.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/step3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/step4.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/step4.ogg index d3c4fd480..aa8aaf227 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/step4.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/step4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/step5.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/step5.ogg index f05a640ef..975add4c6 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/step5.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/step5.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/block/void_stone/step6.ogg b/src/main/resources/assets/valoria/sounds/block/void_stone/step6.ogg index 45cc89c24..b6a0f99df 100644 Binary files a/src/main/resources/assets/valoria/sounds/block/void_stone/step6.ogg and b/src/main/resources/assets/valoria/sounds/block/void_stone/step6.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/breath.ogg b/src/main/resources/assets/valoria/sounds/entity/breath.ogg index 5b12d7023..cefb9b0ed 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/breath.ogg and b/src/main/resources/assets/valoria/sounds/entity/breath.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/attack1.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/attack1.ogg index 5d48f4b00..cd94842cd 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/attack1.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/attack1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/attack2.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/attack2.ogg index e8f23b47b..b597961f5 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/attack2.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/attack2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/attack3.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/attack3.ogg index 891f7ca0f..06c774d5e 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/attack3.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/attack3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/attack4.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/attack4.ogg index 136b88943..6dfe9ee61 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/attack4.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/attack4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/death1.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/death1.ogg index 54b11ac16..6d1994474 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/death1.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/death1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/death2.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/death2.ogg index 05f59d407..f9aee5540 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/death2.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/death2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/death3.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/death3.ogg index 5d53bff3a..5fc2d7a18 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/death3.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/death3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/death4.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/death4.ogg index 9e2a87a6c..65cf4c239 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/death4.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/death4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/hurt1.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/hurt1.ogg index 5ff90dadc..b74314b14 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/hurt1.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/hurt1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/hurt2.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/hurt2.ogg index c833217d6..f56dbc9db 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/hurt2.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/hurt2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/hurt3.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/hurt3.ogg index ae2649bff..d245896ff 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/hurt3.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/hurt3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/hurt4.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/hurt4.ogg index 3974f6ad3..01df07d43 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/hurt4.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/hurt4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/idle1.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/idle1.ogg index 9b58dfe75..d0443493a 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/idle1.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/idle1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/idle2.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/idle2.ogg index 4bb95987e..5ba93d90f 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/idle2.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/idle2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/idle3.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/idle3.ogg index b39e9740f..144ddafde 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/idle3.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/idle3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/devil/idle4.ogg b/src/main/resources/assets/valoria/sounds/entity/devil/idle4.ogg index 966866e93..4517651e2 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/devil/idle4.ogg and b/src/main/resources/assets/valoria/sounds/entity/devil/idle4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/dodge.ogg b/src/main/resources/assets/valoria/sounds/entity/dodge.ogg index 1df004431..38fd74d03 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/dodge.ogg and b/src/main/resources/assets/valoria/sounds/entity/dodge.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack1_1.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack1_1.ogg new file mode 100644 index 000000000..6c91a970c Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack1_1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack1_2.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack1_2.ogg new file mode 100644 index 000000000..9fd845b25 Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack1_2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack3_1.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack3_1.ogg new file mode 100644 index 000000000..10beaf3ed Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack3_1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack3_2.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack3_2.ogg new file mode 100644 index 000000000..e0c682674 Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack3_2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack4.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack4.ogg new file mode 100644 index 000000000..1acc0710b Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/attack4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/death1.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/death1.ogg new file mode 100644 index 000000000..1da470029 Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/death1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/death2.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/death2.ogg new file mode 100644 index 000000000..701d57c3e Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/death2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/death3.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/death3.ogg new file mode 100644 index 000000000..adee9199b Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/death3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt1.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt1.ogg new file mode 100644 index 000000000..7215adf5b Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt2.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt2.ogg new file mode 100644 index 000000000..9918053b5 Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt3.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt3.ogg new file mode 100644 index 000000000..c57d74147 Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt4.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt4.ogg new file mode 100644 index 000000000..c41e653db Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/hurt4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step1.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step1.ogg new file mode 100644 index 000000000..0163019d5 Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step2.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step2.ogg new file mode 100644 index 000000000..a2d864c87 Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step3.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step3.ogg new file mode 100644 index 000000000..f8fa29fa3 Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step4.ogg b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step4.ogg new file mode 100644 index 000000000..ea40eda99 Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/entity/elemental_golem/step4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/goblin/death1.ogg b/src/main/resources/assets/valoria/sounds/entity/goblin/death1.ogg index f9522397c..5f8b13c90 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/goblin/death1.ogg and b/src/main/resources/assets/valoria/sounds/entity/goblin/death1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/goblin/death2.ogg b/src/main/resources/assets/valoria/sounds/entity/goblin/death2.ogg index 978645835..b3f984c03 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/goblin/death2.ogg and b/src/main/resources/assets/valoria/sounds/entity/goblin/death2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/goblin/hurt1.ogg b/src/main/resources/assets/valoria/sounds/entity/goblin/hurt1.ogg index db3b5043b..6c6954428 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/goblin/hurt1.ogg and b/src/main/resources/assets/valoria/sounds/entity/goblin/hurt1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/goblin/hurt2.ogg b/src/main/resources/assets/valoria/sounds/entity/goblin/hurt2.ogg index 57ad54777..5cc9a82d1 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/goblin/hurt2.ogg and b/src/main/resources/assets/valoria/sounds/entity/goblin/hurt2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/goblin/hurt3.ogg b/src/main/resources/assets/valoria/sounds/entity/goblin/hurt3.ogg index 391f541ec..970433f0a 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/goblin/hurt3.ogg and b/src/main/resources/assets/valoria/sounds/entity/goblin/hurt3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/goblin/idle1.ogg b/src/main/resources/assets/valoria/sounds/entity/goblin/idle1.ogg index 77c37feeb..68c9bdda6 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/goblin/idle1.ogg and b/src/main/resources/assets/valoria/sounds/entity/goblin/idle1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/goblin/idle2.ogg b/src/main/resources/assets/valoria/sounds/entity/goblin/idle2.ogg index e0439ba7c..2d420b0ea 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/goblin/idle2.ogg and b/src/main/resources/assets/valoria/sounds/entity/goblin/idle2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/goblin/idle3.ogg b/src/main/resources/assets/valoria/sounds/entity/goblin/idle3.ogg index 6f56e591b..6b634a926 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/goblin/idle3.ogg and b/src/main/resources/assets/valoria/sounds/entity/goblin/idle3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/goblin/idle4.ogg b/src/main/resources/assets/valoria/sounds/entity/goblin/idle4.ogg index 46d1cc3b7..72d7745ef 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/goblin/idle4.ogg and b/src/main/resources/assets/valoria/sounds/entity/goblin/idle4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death1.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death1.ogg index f8cd70ab5..101b09781 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death1.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death2.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death2.ogg index 93e267ade..e5f8f8aa4 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death2.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death3.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death3.ogg index 439285af9..d02b0e6f0 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death3.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/death3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt1.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt1.ogg index 90db992d1..1bae17ae3 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt1.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt2.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt2.ogg index 096d073e1..03bb7857e 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt2.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt3.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt3.ogg index 292bd7f0b..157a93eb3 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt3.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/hurt3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle1.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle1.ogg index f28d1e1d1..d6bb773f2 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle1.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle2.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle2.ogg index 70a2de1c9..9492e2ea9 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle2.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle3.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle3.ogg index 65342ecb4..e5d95f046 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle3.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/idle3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no1.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no1.ogg index a530e008a..c061bfe10 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no1.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no2.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no2.ogg index 9c5059e34..187daf64a 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no2.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no3.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no3.ogg index d96e396ba..c4d75685c 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no3.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/no3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes1.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes1.ogg index a0de7395a..28197a3f7 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes1.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes2.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes2.ogg index 9039d4887..1b95437dd 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes2.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes3.ogg b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes3.ogg index 4139c1df1..4cfd29c86 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes3.ogg and b/src/main/resources/assets/valoria/sounds/entity/haunted_merchant/yes3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/miss.ogg b/src/main/resources/assets/valoria/sounds/entity/miss.ogg index ab4c7fd58..06fe3b18e 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/miss.ogg and b/src/main/resources/assets/valoria/sounds/entity/miss.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/necromancer/summon.ogg b/src/main/resources/assets/valoria/sounds/entity/necromancer/summon.ogg index 1fa9fb9fe..fd5c21874 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/necromancer/summon.ogg and b/src/main/resources/assets/valoria/sounds/entity/necromancer/summon.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/necromancer/summon_air.ogg b/src/main/resources/assets/valoria/sounds/entity/necromancer/summon_air.ogg index ce3fd8f53..60be64519 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/necromancer/summon_air.ogg and b/src/main/resources/assets/valoria/sounds/entity/necromancer/summon_air.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/necromancer/summon_ground.ogg b/src/main/resources/assets/valoria/sounds/entity/necromancer/summon_ground.ogg index e306f9640..7d18b855a 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/necromancer/summon_ground.ogg and b/src/main/resources/assets/valoria/sounds/entity/necromancer/summon_ground.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact1.ogg b/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact1.ogg index ba046b020..732bbce3b 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact1.ogg and b/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact2.ogg b/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact2.ogg index a4dc6b94e..969543d6e 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact2.ogg and b/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact3.ogg b/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact3.ogg index f52503988..b0f16c452 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact3.ogg and b/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact4.ogg b/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact4.ogg index 34479897b..43466e266 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact4.ogg and b/src/main/resources/assets/valoria/sounds/entity/spear/ground_impact4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/spear/return1.ogg b/src/main/resources/assets/valoria/sounds/entity/spear/return1.ogg index 622a1cc07..bfc396bff 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/spear/return1.ogg and b/src/main/resources/assets/valoria/sounds/entity/spear/return1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/spear/return2.ogg b/src/main/resources/assets/valoria/sounds/entity/spear/return2.ogg index 99f0454e9..73f3f56e5 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/spear/return2.ogg and b/src/main/resources/assets/valoria/sounds/entity/spear/return2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/spear/throw1.ogg b/src/main/resources/assets/valoria/sounds/entity/spear/throw1.ogg index a0e07abdb..4ea487027 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/spear/throw1.ogg and b/src/main/resources/assets/valoria/sounds/entity/spear/throw1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/spear/throw2.ogg b/src/main/resources/assets/valoria/sounds/entity/spear/throw2.ogg index e24051d25..3d93fede6 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/spear/throw2.ogg and b/src/main/resources/assets/valoria/sounds/entity/spear/throw2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/troll/death0.ogg b/src/main/resources/assets/valoria/sounds/entity/troll/death0.ogg index fdd8ff269..adda7f119 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/troll/death0.ogg and b/src/main/resources/assets/valoria/sounds/entity/troll/death0.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/troll/death1.ogg b/src/main/resources/assets/valoria/sounds/entity/troll/death1.ogg index 5482837e4..d08995f49 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/troll/death1.ogg and b/src/main/resources/assets/valoria/sounds/entity/troll/death1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/troll/death2.ogg b/src/main/resources/assets/valoria/sounds/entity/troll/death2.ogg index 704923b86..d93882ea4 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/troll/death2.ogg and b/src/main/resources/assets/valoria/sounds/entity/troll/death2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/troll/disappear0.ogg b/src/main/resources/assets/valoria/sounds/entity/troll/disappear0.ogg index d9470f2ec..7875a2661 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/troll/disappear0.ogg and b/src/main/resources/assets/valoria/sounds/entity/troll/disappear0.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/troll/disappear1.ogg b/src/main/resources/assets/valoria/sounds/entity/troll/disappear1.ogg index f4f8a24ca..74d0b543d 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/troll/disappear1.ogg and b/src/main/resources/assets/valoria/sounds/entity/troll/disappear1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/troll/hurt0.ogg b/src/main/resources/assets/valoria/sounds/entity/troll/hurt0.ogg index ed0b08a66..8fc750f78 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/troll/hurt0.ogg and b/src/main/resources/assets/valoria/sounds/entity/troll/hurt0.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/troll/hurt1.ogg b/src/main/resources/assets/valoria/sounds/entity/troll/hurt1.ogg index 67afafbf6..d796b6269 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/troll/hurt1.ogg and b/src/main/resources/assets/valoria/sounds/entity/troll/hurt1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/troll/hurt2.ogg b/src/main/resources/assets/valoria/sounds/entity/troll/hurt2.ogg index ce9460574..b39822104 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/troll/hurt2.ogg and b/src/main/resources/assets/valoria/sounds/entity/troll/hurt2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/troll/idle0.ogg b/src/main/resources/assets/valoria/sounds/entity/troll/idle0.ogg index bd14bac67..6b8e964db 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/troll/idle0.ogg and b/src/main/resources/assets/valoria/sounds/entity/troll/idle0.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/troll/idle1.ogg b/src/main/resources/assets/valoria/sounds/entity/troll/idle1.ogg index 45ec3c499..9adecaac9 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/troll/idle1.ogg and b/src/main/resources/assets/valoria/sounds/entity/troll/idle1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/troll/idle2.ogg b/src/main/resources/assets/valoria/sounds/entity/troll/idle2.ogg index 072ddcecf..d76c56c7a 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/troll/idle2.ogg and b/src/main/resources/assets/valoria/sounds/entity/troll/idle2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/acid_crystal.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/acid_crystal.ogg index bc03e880e..d860ff1e0 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/acid_crystal.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/acid_crystal.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/acid_crystal_prepare.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/acid_crystal_prepare.ogg index ce326d191..3180c225c 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/acid_crystal_prepare.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/acid_crystal_prepare.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall1.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall1.ogg index 6fbcf279b..abb8f46d4 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall1.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall2.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall2.ogg index 40d3e38dd..cbc3bf897 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall2.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall3.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall3.ogg index 3344366c1..48addc684 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall3.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_fall3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_storm.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_storm.ogg index 7f2771239..6bd9ef631 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_storm.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/crystal_storm.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/death.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/death.ogg index 0132b6c5c..9068ba4a2 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/death.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/death.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/fire_crystal.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/fire_crystal.ogg index f0e5b3af3..de6ae1fc3 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/fire_crystal.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/fire_crystal.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/fire_crystal_prepare.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/fire_crystal_prepare.ogg index a6216d67c..06ddc2b85 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/fire_crystal_prepare.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/fire_crystal_prepare.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/frost_crystal.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/frost_crystal.ogg index 1bc8498d4..43c583587 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/frost_crystal.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/frost_crystal.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/frost_crystal_prepare.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/frost_crystal_prepare.ogg index 7744ccbe7..14f9207b8 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/frost_crystal_prepare.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/frost_crystal_prepare.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt1.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt1.ogg index c3e8e23a4..bf64dfc4f 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt1.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt2.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt2.ogg index ded32c38c..9aca857fd 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt2.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt3.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt3.ogg index ca2c7b7eb..f8f3904eb 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt3.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt4.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt4.ogg index 1e939dbc6..42c6b68cf 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt4.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/hurt4.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/summon.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/summon.ogg index f8be45a8c..2a3308605 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/summon.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/summon.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/transform.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/transform.ogg index 76a3e7040..a9552c3fb 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/transform.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/transform.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/wicked_crystal_altar.ogg b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/wicked_crystal_altar.ogg index 2b857f8c1..cd43c87ab 100644 Binary files a/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/wicked_crystal_altar.ogg and b/src/main/resources/assets/valoria/sounds/entity/wicked_crystal/wicked_crystal_altar.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/blazecharge.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/blazecharge.ogg index 4da203d3e..3c7c9652d 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/blazecharge.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/blazecharge.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/blazecharge_legacy.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/blazecharge_legacy.ogg index 662e55555..471b02931 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/blazecharge_legacy.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/blazecharge_legacy.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/bloodhound_ability.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/bloodhound_ability.ogg index aad5ba047..5ea64fee6 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/bloodhound_ability.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/bloodhound_ability.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/bloodhound_ability_legacy.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/bloodhound_ability_legacy.ogg index 6f4032b5b..a6581888f 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/bloodhound_ability_legacy.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/bloodhound_ability_legacy.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/equip_curse.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/equip_curse.ogg new file mode 100644 index 000000000..ba8c96213 Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/item/abilities/equip_curse.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/eruption.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/eruption.ogg index ad048af72..8a70b0283 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/eruption.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/eruption.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/halloween_slice.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/halloween_slice.ogg index fd278df00..7813c1d2e 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/halloween_slice.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/halloween_slice.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/halloween_slice_legacy.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/halloween_slice_legacy.ogg index 3434a97a8..f1cb94dea 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/halloween_slice_legacy.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/halloween_slice_legacy.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/phantom_totem.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/phantom_totem.ogg index 949cab6e7..9aa129bf2 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/phantom_totem.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/phantom_totem.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/phantom_totem_legacy.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/phantom_totem_legacy.ogg index 47285f8fc..c45ad18ef 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/phantom_totem_legacy.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/phantom_totem_legacy.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/recharge.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/recharge.ogg index 0c5e1e8bf..0b9db928e 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/recharge.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/recharge.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/swiftslice.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/swiftslice.ogg index 6be8cc008..0f8b03420 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/swiftslice.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/swiftslice.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/swiftslice_legacy.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/swiftslice_legacy.ogg index de30d560a..eb0026caf 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/swiftslice_legacy.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/swiftslice_legacy.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/abilities/water_ability.ogg b/src/main/resources/assets/valoria/sounds/item/abilities/water_ability.ogg index 1e75d8954..10df3a678 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/abilities/water_ability.ogg and b/src/main/resources/assets/valoria/sounds/item/abilities/water_ability.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/alert.ogg b/src/main/resources/assets/valoria/sounds/item/alert.ogg index 069b812b1..5065c66af 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/alert.ogg and b/src/main/resources/assets/valoria/sounds/item/alert.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/bag/open1.ogg b/src/main/resources/assets/valoria/sounds/item/bag/open1.ogg index 9bf7e70c6..27f0a5c8b 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/bag/open1.ogg and b/src/main/resources/assets/valoria/sounds/item/bag/open1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/bag/open2.ogg b/src/main/resources/assets/valoria/sounds/item/bag/open2.ogg index a5dd7ee96..3ebcc35a8 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/bag/open2.ogg and b/src/main/resources/assets/valoria/sounds/item/bag/open2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/bag/open3.ogg b/src/main/resources/assets/valoria/sounds/item/bag/open3.ogg index 0709df8e8..927cd9926 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/bag/open3.ogg and b/src/main/resources/assets/valoria/sounds/item/bag/open3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/bloodsight/equip_curse.ogg b/src/main/resources/assets/valoria/sounds/item/bloodsight/equip_curse.ogg index b5e9e03be..f3ce9bda2 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/bloodsight/equip_curse.ogg and b/src/main/resources/assets/valoria/sounds/item/bloodsight/equip_curse.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/soul_collect_0.ogg b/src/main/resources/assets/valoria/sounds/item/soul_collect_0.ogg index 3705701ad..f31e3efc3 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/soul_collect_0.ogg and b/src/main/resources/assets/valoria/sounds/item/soul_collect_0.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/soul_collect_1.ogg b/src/main/resources/assets/valoria/sounds/item/soul_collect_1.ogg index 0cd0dfeff..0296a1a62 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/soul_collect_1.ogg and b/src/main/resources/assets/valoria/sounds/item/soul_collect_1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/item/soul_collect_full.ogg b/src/main/resources/assets/valoria/sounds/item/soul_collect_full.ogg index e1d8657c4..de840406c 100644 Binary files a/src/main/resources/assets/valoria/sounds/item/soul_collect_full.ogg and b/src/main/resources/assets/valoria/sounds/item/soul_collect_full.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/music/arriving.ogg b/src/main/resources/assets/valoria/sounds/music/arriving.ogg index eab98fc14..5664e7877 100644 Binary files a/src/main/resources/assets/valoria/sounds/music/arriving.ogg and b/src/main/resources/assets/valoria/sounds/music/arriving.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/music/blood_pole.ogg b/src/main/resources/assets/valoria/sounds/music/blood_pole.ogg index 4bb77306a..4db1068fc 100644 Binary files a/src/main/resources/assets/valoria/sounds/music/blood_pole.ogg and b/src/main/resources/assets/valoria/sounds/music/blood_pole.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/music/carrion.ogg b/src/main/resources/assets/valoria/sounds/music/carrion.ogg index 4e32889a3..069107eeb 100644 Binary files a/src/main/resources/assets/valoria/sounds/music/carrion.ogg and b/src/main/resources/assets/valoria/sounds/music/carrion.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/music/enduring.ogg b/src/main/resources/assets/valoria/sounds/music/enduring.ogg index fd632ce0c..2a50197d0 100644 Binary files a/src/main/resources/assets/valoria/sounds/music/enduring.ogg and b/src/main/resources/assets/valoria/sounds/music/enduring.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/music/explore.ogg b/src/main/resources/assets/valoria/sounds/music/explore.ogg index 884cec8e6..066c45da5 100644 Binary files a/src/main/resources/assets/valoria/sounds/music/explore.ogg and b/src/main/resources/assets/valoria/sounds/music/explore.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/music/necromancer.ogg b/src/main/resources/assets/valoria/sounds/music/necromancer.ogg index b6872099f..f27d15caa 100644 Binary files a/src/main/resources/assets/valoria/sounds/music/necromancer.ogg and b/src/main/resources/assets/valoria/sounds/music/necromancer.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/music/necromancer_dungeon.ogg b/src/main/resources/assets/valoria/sounds/music/necromancer_dungeon.ogg index 479117eb8..311cb7e90 100644 Binary files a/src/main/resources/assets/valoria/sounds/music/necromancer_dungeon.ogg and b/src/main/resources/assets/valoria/sounds/music/necromancer_dungeon.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/music/old_times.ogg b/src/main/resources/assets/valoria/sounds/music/old_times.ogg index 03a9cbb68..eae6c8ba0 100644 Binary files a/src/main/resources/assets/valoria/sounds/music/old_times.ogg and b/src/main/resources/assets/valoria/sounds/music/old_times.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/music/rising.ogg b/src/main/resources/assets/valoria/sounds/music/rising.ogg index cb740f65f..0e4d3c551 100644 Binary files a/src/main/resources/assets/valoria/sounds/music/rising.ogg and b/src/main/resources/assets/valoria/sounds/music/rising.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/music/shaded_lands.ogg b/src/main/resources/assets/valoria/sounds/music/shaded_lands.ogg index d0f996ea3..1a4113ccd 100644 Binary files a/src/main/resources/assets/valoria/sounds/music/shaded_lands.ogg and b/src/main/resources/assets/valoria/sounds/music/shaded_lands.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/music/singing_skies.ogg b/src/main/resources/assets/valoria/sounds/music/singing_skies.ogg index 1f65d406b..b5a968da8 100644 Binary files a/src/main/resources/assets/valoria/sounds/music/singing_skies.ogg and b/src/main/resources/assets/valoria/sounds/music/singing_skies.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_0.ogg b/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_0.ogg index 3a4a140c8..d806d5b25 100644 Binary files a/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_0.ogg and b/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_0.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_1.ogg b/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_1.ogg index 0a6cd1b82..b063a4821 100644 Binary files a/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_1.ogg and b/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_1.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_2.ogg b/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_2.ogg index c8c109b5d..42bd6e961 100644 Binary files a/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_2.ogg and b/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_2.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_3.ogg b/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_3.ogg index b8438a6e2..301edcdbd 100644 Binary files a/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_3.ogg and b/src/main/resources/assets/valoria/sounds/ui/alchemy/brew_3.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/ui/alchemy/elemental_upgrade.ogg b/src/main/resources/assets/valoria/sounds/ui/alchemy/elemental_upgrade.ogg new file mode 100644 index 000000000..1c8e3cdae Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/ui/alchemy/elemental_upgrade.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/ui/alchemy/nether_upgrade.ogg b/src/main/resources/assets/valoria/sounds/ui/alchemy/nether_upgrade.ogg new file mode 100644 index 000000000..2807f3c4f Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/ui/alchemy/nether_upgrade.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/ui/alchemy/nihility_upgrade.ogg b/src/main/resources/assets/valoria/sounds/ui/alchemy/nihility_upgrade.ogg new file mode 100644 index 000000000..6588042d4 Binary files /dev/null and b/src/main/resources/assets/valoria/sounds/ui/alchemy/nihility_upgrade.ogg differ diff --git a/src/main/resources/assets/valoria/sounds/ui/click.ogg b/src/main/resources/assets/valoria/sounds/ui/click.ogg index ab6b573ab..4c0b11424 100644 Binary files a/src/main/resources/assets/valoria/sounds/ui/click.ogg and b/src/main/resources/assets/valoria/sounds/ui/click.ogg differ diff --git a/src/main/resources/data/valoria/forge/biome_modifier/biome_forest_spawns.json b/src/main/resources/data/valoria/forge/biome_modifier/biome_forest_spawns.json index 2d86a6981..27a8f7389 100644 --- a/src/main/resources/data/valoria/forge/biome_modifier/biome_forest_spawns.json +++ b/src/main/resources/data/valoria/forge/biome_modifier/biome_forest_spawns.json @@ -4,9 +4,15 @@ "spawners": [ { "type": "valoria:ent", - "weight": 15, + "weight": 25, "minCount": 2, "maxCount": 4 + }, + { + "type": "valoria:nature_golem", + "weight": 35, + "minCount": 1, + "maxCount": 3 } ] } \ No newline at end of file diff --git a/src/main/resources/data/valoria/forge/biome_modifier/biome_river_spawns.json b/src/main/resources/data/valoria/forge/biome_modifier/biome_river_spawns.json new file mode 100644 index 000000000..3361046f6 --- /dev/null +++ b/src/main/resources/data/valoria/forge/biome_modifier/biome_river_spawns.json @@ -0,0 +1,12 @@ +{ + "type": "forge:add_spawns", + "biomes": "#valoria:river_golem_spawnable", + "spawners": [ + { + "type": "valoria:river_golem", + "weight": 50, + "minCount": 1, + "maxCount": 3 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/valoria/loot_tables/entities/king_crab.json b/src/main/resources/data/valoria/loot_tables/entities/king_crab.json index 3ffe8b822..d50470500 100644 --- a/src/main/resources/data/valoria/loot_tables/entities/king_crab.json +++ b/src/main/resources/data/valoria/loot_tables/entities/king_crab.json @@ -111,6 +111,32 @@ ] } ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "valoria:elemental_crystal", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + }, + { + "condition": "minecraft:random_chance_with_looting", + "chance": 0.05, + "looting_multiplier": 0.025 + } + ] + } + ] } ] } \ No newline at end of file diff --git a/src/main/resources/data/valoria/loot_tables/entities/nature_golem.json b/src/main/resources/data/valoria/loot_tables/entities/nature_golem.json new file mode 100644 index 000000000..101c6e97f --- /dev/null +++ b/src/main/resources/data/valoria/loot_tables/entities/nature_golem.json @@ -0,0 +1,69 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "valoria:nature_gift", + "weight": 1, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:looting_enchant" + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + }, + { + "condition": "minecraft:random_chance", + "chance": 0.5 + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "valoria:elemental_crystal", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + }, + { + "condition": "minecraft:random_chance_with_looting", + "chance": 0.05, + "looting_multiplier": 0.025 + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/valoria/loot_tables/entities/river_golem.json b/src/main/resources/data/valoria/loot_tables/entities/river_golem.json new file mode 100644 index 000000000..77e293abf --- /dev/null +++ b/src/main/resources/data/valoria/loot_tables/entities/river_golem.json @@ -0,0 +1,69 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "valoria:oceanic_shell", + "weight": 1, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2.0, + "min": 0.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "function": "minecraft:looting_enchant" + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + }, + { + "condition": "minecraft:random_chance", + "chance": 0.5 + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "valoria:elemental_crystal", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ], + "conditions": [ + { + "condition": "minecraft:killed_by_player" + }, + { + "condition": "minecraft:random_chance_with_looting", + "chance": 0.05, + "looting_multiplier": 0.025 + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/valoria/tags/worldgen/biome/river_golem_spawnable.json b/src/main/resources/data/valoria/tags/worldgen/biome/river_golem_spawnable.json new file mode 100644 index 000000000..0b1924cca --- /dev/null +++ b/src/main/resources/data/valoria/tags/worldgen/biome/river_golem_spawnable.json @@ -0,0 +1,7 @@ +{ + "values": [ + "#minecraft:is_river", + "minecraft:beach", + "minecraft:stony_shore" + ] +} \ No newline at end of file