diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java b/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java index 0f96febce..d73a34daf 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java @@ -17,6 +17,7 @@ public class ModSounds { public static final DeferredHolder SHOCK = REGISTRY.register("shock", () -> SoundEvent.createVariableRangeEvent(Mod.loc("shock"))); public static final DeferredHolder ELECTRIC = REGISTRY.register("electric", () -> SoundEvent.createVariableRangeEvent(Mod.loc("electric"))); + public static final DeferredHolder MELEE_HIT = REGISTRY.register("melee_hit", () -> SoundEvent.createVariableRangeEvent(Mod.loc("melee_hit"))); public static final DeferredHolder TRACHELIUM_FIRE_1P = REGISTRY.register("trachelium_fire_1p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("trachelium_fire_1p"))); public static final DeferredHolder TRACHELIUM_FIRE_3P = REGISTRY.register("trachelium_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("trachelium_fire_3p"))); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/ElectricBaton.java b/src/main/java/com/atsuishio/superbwarfare/item/ElectricBaton.java index 178e1d4c6..81b901b75 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/ElectricBaton.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/ElectricBaton.java @@ -3,10 +3,12 @@ package com.atsuishio.superbwarfare.item; import com.atsuishio.superbwarfare.client.tooltip.component.CellImageComponent; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModMobEffects; +import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.tiers.ModItemTier; import com.atsuishio.superbwarfare.tools.NBTTool; import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.effect.MobEffectInstance; @@ -49,7 +51,7 @@ public class ElectricBaton extends SwordItem implements EnergyStorageItem { @Override public int getMaxEnergy() { - return 6000; + return MAX_ENERGY; } @Override @@ -77,7 +79,7 @@ public class ElectricBaton extends SwordItem implements EnergyStorageItem { var cap = stack.getCapability(Capabilities.EnergyStorage.ITEM); if (cap == null) return 0; - return Math.round(cap.getEnergyStored() * 13F / MAX_ENERGY); + return Math.round((float) cap.getEnergyStored() * 13F / MAX_ENERGY); } @Override @@ -88,13 +90,15 @@ public class ElectricBaton extends SwordItem implements EnergyStorageItem { @Override @ParametersAreNonnullByDefault public boolean hurtEnemy(ItemStack stack, LivingEntity target, LivingEntity attacker) { + attacker.level().playSound(null, target.getOnPos(), ModSounds.MELEE_HIT.get(), SoundSource.PLAYERS, 1, (float) ((2 * org.joml.Math.random() - 1) * 0.1f + 1)); + if (NBTTool.getTag(stack).getBoolean(TAG_OPEN)) { var cap = stack.getCapability(Capabilities.EnergyStorage.ITEM); if (cap != null && cap.getEnergyStored() >= ENERGY_COST) { cap.extractEnergy(ENERGY_COST, false); if (!target.level().isClientSide) { - target.addEffect(new MobEffectInstance(ModMobEffects.SHOCK, 200, 2), attacker); + target.addEffect(new MobEffectInstance(ModMobEffects.SHOCK, 20, 2), attacker); } } } diff --git a/src/main/resources/assets/superbwarfare/sounds.json b/src/main/resources/assets/superbwarfare/sounds.json index 6d7041f72..ceb99f9ae 100644 --- a/src/main/resources/assets/superbwarfare/sounds.json +++ b/src/main/resources/assets/superbwarfare/sounds.json @@ -3162,5 +3162,29 @@ "volume": 0.7 } ] + }, + "melee_hit": { + "sounds": [ + { + "name": "superbwarfare:melee_hit_01", + "stream": false + }, + { + "name": "superbwarfare:melee_hit_02", + "stream": false + }, + { + "name": "superbwarfare:melee_hit_03", + "stream": false + }, + { + "name": "superbwarfare:melee_hit_04", + "stream": false + }, + { + "name": "superbwarfare:melee_hit_05", + "stream": false + } + ] } } \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/sounds/dps_generator_evolve.ogg b/src/main/resources/assets/superbwarfare/sounds/dps_generator_evolve.ogg index d27701c64..ba6f0da77 100644 Binary files a/src/main/resources/assets/superbwarfare/sounds/dps_generator_evolve.ogg and b/src/main/resources/assets/superbwarfare/sounds/dps_generator_evolve.ogg differ diff --git a/src/main/resources/assets/superbwarfare/sounds/melee_hit_01.ogg b/src/main/resources/assets/superbwarfare/sounds/melee_hit_01.ogg new file mode 100644 index 000000000..e182c5a15 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/sounds/melee_hit_01.ogg differ diff --git a/src/main/resources/assets/superbwarfare/sounds/melee_hit_02.ogg b/src/main/resources/assets/superbwarfare/sounds/melee_hit_02.ogg new file mode 100644 index 000000000..ecc4f9c37 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/sounds/melee_hit_02.ogg differ diff --git a/src/main/resources/assets/superbwarfare/sounds/melee_hit_03.ogg b/src/main/resources/assets/superbwarfare/sounds/melee_hit_03.ogg new file mode 100644 index 000000000..2e79d4792 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/sounds/melee_hit_03.ogg differ diff --git a/src/main/resources/assets/superbwarfare/sounds/melee_hit_04.ogg b/src/main/resources/assets/superbwarfare/sounds/melee_hit_04.ogg new file mode 100644 index 000000000..c4b88e608 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/sounds/melee_hit_04.ogg differ diff --git a/src/main/resources/assets/superbwarfare/sounds/melee_hit_05.ogg b/src/main/resources/assets/superbwarfare/sounds/melee_hit_05.ogg new file mode 100644 index 000000000..a85015279 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/sounds/melee_hit_05.ogg differ diff --git a/src/main/resources/data/superbwarfare/weapon_attributes/electric_baton.json b/src/main/resources/data/superbwarfare/weapon_attributes/electric_baton.json index 241e42c35..d1682b2c3 100644 --- a/src/main/resources/data/superbwarfare/weapon_attributes/electric_baton.json +++ b/src/main/resources/data/superbwarfare/weapon_attributes/electric_baton.json @@ -9,7 +9,7 @@ "upswing": 0.5, "animation": "bettercombat:one_handed_slam", "swing_sound": { - "id": "bettercombat:hammer_slam" + "id": "bettercombat:staff_stab" } }, { @@ -19,7 +19,7 @@ "upswing": 0.5, "animation": "bettercombat:one_handed_slam", "swing_sound": { - "id": "bettercombat:hammer_slam" + "id": "bettercombat:staff_stab" } }, {