添加近战击中音效
This commit is contained in:
parent
9809a8ca12
commit
7726b67db1
10 changed files with 34 additions and 5 deletions
|
@ -17,6 +17,7 @@ public class ModSounds {
|
||||||
|
|
||||||
public static final DeferredHolder<SoundEvent, SoundEvent> SHOCK = REGISTRY.register("shock", () -> SoundEvent.createVariableRangeEvent(Mod.loc("shock")));
|
public static final DeferredHolder<SoundEvent, SoundEvent> SHOCK = REGISTRY.register("shock", () -> SoundEvent.createVariableRangeEvent(Mod.loc("shock")));
|
||||||
public static final DeferredHolder<SoundEvent, SoundEvent> ELECTRIC = REGISTRY.register("electric", () -> SoundEvent.createVariableRangeEvent(Mod.loc("electric")));
|
public static final DeferredHolder<SoundEvent, SoundEvent> ELECTRIC = REGISTRY.register("electric", () -> SoundEvent.createVariableRangeEvent(Mod.loc("electric")));
|
||||||
|
public static final DeferredHolder<SoundEvent, SoundEvent> MELEE_HIT = REGISTRY.register("melee_hit", () -> SoundEvent.createVariableRangeEvent(Mod.loc("melee_hit")));
|
||||||
|
|
||||||
public static final DeferredHolder<SoundEvent, SoundEvent> TRACHELIUM_FIRE_1P = REGISTRY.register("trachelium_fire_1p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("trachelium_fire_1p")));
|
public static final DeferredHolder<SoundEvent, SoundEvent> TRACHELIUM_FIRE_1P = REGISTRY.register("trachelium_fire_1p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("trachelium_fire_1p")));
|
||||||
public static final DeferredHolder<SoundEvent, SoundEvent> TRACHELIUM_FIRE_3P = REGISTRY.register("trachelium_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("trachelium_fire_3p")));
|
public static final DeferredHolder<SoundEvent, SoundEvent> TRACHELIUM_FIRE_3P = REGISTRY.register("trachelium_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("trachelium_fire_3p")));
|
||||||
|
|
|
@ -3,10 +3,12 @@ package com.atsuishio.superbwarfare.item;
|
||||||
import com.atsuishio.superbwarfare.client.tooltip.component.CellImageComponent;
|
import com.atsuishio.superbwarfare.client.tooltip.component.CellImageComponent;
|
||||||
import com.atsuishio.superbwarfare.init.ModItems;
|
import com.atsuishio.superbwarfare.init.ModItems;
|
||||||
import com.atsuishio.superbwarfare.init.ModMobEffects;
|
import com.atsuishio.superbwarfare.init.ModMobEffects;
|
||||||
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.tiers.ModItemTier;
|
import com.atsuishio.superbwarfare.tiers.ModItemTier;
|
||||||
import com.atsuishio.superbwarfare.tools.NBTTool;
|
import com.atsuishio.superbwarfare.tools.NBTTool;
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.sounds.SoundSource;
|
||||||
import net.minecraft.world.InteractionHand;
|
import net.minecraft.world.InteractionHand;
|
||||||
import net.minecraft.world.InteractionResultHolder;
|
import net.minecraft.world.InteractionResultHolder;
|
||||||
import net.minecraft.world.effect.MobEffectInstance;
|
import net.minecraft.world.effect.MobEffectInstance;
|
||||||
|
@ -49,7 +51,7 @@ public class ElectricBaton extends SwordItem implements EnergyStorageItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMaxEnergy() {
|
public int getMaxEnergy() {
|
||||||
return 6000;
|
return MAX_ENERGY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -77,7 +79,7 @@ public class ElectricBaton extends SwordItem implements EnergyStorageItem {
|
||||||
var cap = stack.getCapability(Capabilities.EnergyStorage.ITEM);
|
var cap = stack.getCapability(Capabilities.EnergyStorage.ITEM);
|
||||||
if (cap == null) return 0;
|
if (cap == null) return 0;
|
||||||
|
|
||||||
return Math.round(cap.getEnergyStored() * 13F / MAX_ENERGY);
|
return Math.round((float) cap.getEnergyStored() * 13F / MAX_ENERGY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -88,13 +90,15 @@ public class ElectricBaton extends SwordItem implements EnergyStorageItem {
|
||||||
@Override
|
@Override
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
public boolean hurtEnemy(ItemStack stack, LivingEntity target, LivingEntity attacker) {
|
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)) {
|
if (NBTTool.getTag(stack).getBoolean(TAG_OPEN)) {
|
||||||
var cap = stack.getCapability(Capabilities.EnergyStorage.ITEM);
|
var cap = stack.getCapability(Capabilities.EnergyStorage.ITEM);
|
||||||
if (cap != null && cap.getEnergyStored() >= ENERGY_COST) {
|
if (cap != null && cap.getEnergyStored() >= ENERGY_COST) {
|
||||||
cap.extractEnergy(ENERGY_COST, false);
|
cap.extractEnergy(ENERGY_COST, false);
|
||||||
|
|
||||||
if (!target.level().isClientSide) {
|
if (!target.level().isClientSide) {
|
||||||
target.addEffect(new MobEffectInstance(ModMobEffects.SHOCK, 200, 2), attacker);
|
target.addEffect(new MobEffectInstance(ModMobEffects.SHOCK, 20, 2), attacker);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3162,5 +3162,29 @@
|
||||||
"volume": 0.7
|
"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
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
Binary file not shown.
BIN
src/main/resources/assets/superbwarfare/sounds/melee_hit_01.ogg
Normal file
BIN
src/main/resources/assets/superbwarfare/sounds/melee_hit_01.ogg
Normal file
Binary file not shown.
BIN
src/main/resources/assets/superbwarfare/sounds/melee_hit_02.ogg
Normal file
BIN
src/main/resources/assets/superbwarfare/sounds/melee_hit_02.ogg
Normal file
Binary file not shown.
BIN
src/main/resources/assets/superbwarfare/sounds/melee_hit_03.ogg
Normal file
BIN
src/main/resources/assets/superbwarfare/sounds/melee_hit_03.ogg
Normal file
Binary file not shown.
BIN
src/main/resources/assets/superbwarfare/sounds/melee_hit_04.ogg
Normal file
BIN
src/main/resources/assets/superbwarfare/sounds/melee_hit_04.ogg
Normal file
Binary file not shown.
BIN
src/main/resources/assets/superbwarfare/sounds/melee_hit_05.ogg
Normal file
BIN
src/main/resources/assets/superbwarfare/sounds/melee_hit_05.ogg
Normal file
Binary file not shown.
|
@ -9,7 +9,7 @@
|
||||||
"upswing": 0.5,
|
"upswing": 0.5,
|
||||||
"animation": "bettercombat:one_handed_slam",
|
"animation": "bettercombat:one_handed_slam",
|
||||||
"swing_sound": {
|
"swing_sound": {
|
||||||
"id": "bettercombat:hammer_slam"
|
"id": "bettercombat:staff_stab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
"upswing": 0.5,
|
"upswing": 0.5,
|
||||||
"animation": "bettercombat:one_handed_slam",
|
"animation": "bettercombat:one_handed_slam",
|
||||||
"swing_sound": {
|
"swing_sound": {
|
||||||
"id": "bettercombat:hammer_slam"
|
"id": "bettercombat:staff_stab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue