设置木仓声传播范围

This commit is contained in:
Atsuihsio 2024-09-08 17:50:01 +08:00
parent 762a997dac
commit 5e2731f776
40 changed files with 75 additions and 49 deletions

View file

@ -61,7 +61,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
} }
public JavelinMissileEntity(LivingEntity entity, Level level, float damage, int monsterMultiplier) { public JavelinMissileEntity(LivingEntity entity, Level level, float damage, int monsterMultiplier) {
super(ModEntities.RPG_ROCKET.get(), entity, level); super(ModEntities.JAVELIN_MISSILE.get(), entity, level);
this.damage = damage; this.damage = damage;
this.monsterMultiplier = monsterMultiplier; this.monsterMultiplier = monsterMultiplier;
} }

View file

@ -227,13 +227,13 @@ public class GunEventHandler {
if (!player.level().isClientSide() && player instanceof ServerPlayer serverPlayer) { if (!player.level().isClientSide() && player instanceof ServerPlayer serverPlayer) {
SoundTool.playLocalSound(serverPlayer, ModSounds.MINIGUN_FIRE_1P.get(), 2f, pitch); SoundTool.playLocalSound(serverPlayer, ModSounds.MINIGUN_FIRE_1P.get(), 2f, pitch);
player.playSound(ModSounds.MINIGUN_FIRE_3P.get(), 4f, pitch); player.playSound(ModSounds.MINIGUN_FIRE_3P.get(), (float) stack.getOrCreateTag().getDouble("SoundRadius") * 0.2f, pitch);
player.playSound(ModSounds.MINIGUN_FAR.get(), 12f, pitch); player.playSound(ModSounds.MINIGUN_FAR.get(), (float) stack.getOrCreateTag().getDouble("SoundRadius") * 0.5f, pitch);
player.playSound(ModSounds.MINIGUN_VERYFAR.get(), 24f, pitch); player.playSound(ModSounds.MINIGUN_VERYFAR.get(), (float) stack.getOrCreateTag().getDouble("SoundRadius"), pitch);
if (perk == ModPerks.BEAST_BULLET.get()) { if (perk == ModPerks.BEAST_BULLET.get()) {
player.playSound(ModSounds.HENG.get(), 5f, pitch); player.playSound(ModSounds.HENG.get(), 4f, pitch);
SoundTool.playLocalSound(serverPlayer, ModSounds.HENG.get(), 5f, pitch); SoundTool.playLocalSound(serverPlayer, ModSounds.HENG.get(), 4f, pitch);
} }
} }
@ -281,17 +281,17 @@ public class GunEventHandler {
SoundEvent sound3p = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, "sentinel_charge_fire_3p")); SoundEvent sound3p = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, "sentinel_charge_fire_3p"));
if (sound3p != null) { if (sound3p != null) {
player.level().playSound(null, player.getOnPos(), sound3p, SoundSource.PLAYERS, 4f, 1f); player.level().playSound(null, player.getOnPos(), sound3p, SoundSource.PLAYERS, (float) stack.getOrCreateTag().getDouble("SoundRadius") * 0.2f, 1f);
} }
SoundEvent soundFar = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, "sentinel_charge_far")); SoundEvent soundFar = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, "sentinel_charge_far"));
if (soundFar != null) { if (soundFar != null) {
player.playSound(soundFar, 12f, 1f); player.level().playSound(null, player.getOnPos(), soundFar, SoundSource.PLAYERS, (float) stack.getOrCreateTag().getDouble("SoundRadius") * 0.5f, 1f);
} }
SoundEvent soundVeryFar = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, "sentinel_charge_veryfar")); SoundEvent soundVeryFar = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, "sentinel_charge_veryfar"));
if (soundVeryFar != null) { if (soundVeryFar != null) {
player.playSound(soundVeryFar, 24f, 1f); player.level().playSound(null, player.getOnPos(), soundVeryFar, SoundSource.PLAYERS, (float) stack.getOrCreateTag().getDouble("SoundRadius"), 1f);
} }
return; return;
@ -301,10 +301,10 @@ public class GunEventHandler {
var perk = PerkHelper.getPerkByType(stack, Perk.Type.AMMO); var perk = PerkHelper.getPerkByType(stack, Perk.Type.AMMO);
if (perk == ModPerks.BEAST_BULLET.get()) { if (perk == ModPerks.BEAST_BULLET.get()) {
player.playSound(ModSounds.HENG.get(), 5f, 1f); player.playSound(ModSounds.HENG.get(), 4f, 1f);
if (player instanceof ServerPlayer serverPlayer) { if (player instanceof ServerPlayer serverPlayer) {
SoundTool.playLocalSound(serverPlayer, ModSounds.HENG.get(), 5f, 1f); SoundTool.playLocalSound(serverPlayer, ModSounds.HENG.get(), 4f, 1f);
} }
} }
@ -315,17 +315,17 @@ public class GunEventHandler {
SoundEvent sound3p = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, name + "_fire_3p")); SoundEvent sound3p = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, name + "_fire_3p"));
if (sound3p != null) { if (sound3p != null) {
player.level().playSound(null, player.getOnPos(), sound3p, SoundSource.PLAYERS, 4f, 1f); player.level().playSound(null, player.getOnPos(), sound3p, SoundSource.PLAYERS, (float) stack.getOrCreateTag().getDouble("SoundRadius") * 0.2f, 1f);
} }
SoundEvent soundFar = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, name + "_far")); SoundEvent soundFar = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, name + "_far"));
if (soundFar != null) { if (soundFar != null) {
player.playSound(soundFar, 12f, 1f); player.level().playSound(null, player.getOnPos(), soundFar, SoundSource.PLAYERS, (float) stack.getOrCreateTag().getDouble("SoundRadius") * 0.5f, 1f);
} }
SoundEvent soundVeryFar = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, name + "_veryfar")); SoundEvent soundVeryFar = ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation(ModUtils.MODID, name + "_veryfar"));
if (soundVeryFar != null) { if (soundVeryFar != null) {
player.playSound(soundVeryFar, 24f, 1f); player.level().playSound(null, player.getOnPos(), soundVeryFar, SoundSource.PLAYERS, (float) stack.getOrCreateTag().getDouble("SoundRadius"), 1f);
} }
} }
} }

View file

@ -253,10 +253,10 @@ public class FireMessage {
var perk = PerkHelper.getPerkByType(stack, Perk.Type.AMMO); var perk = PerkHelper.getPerkByType(stack, Perk.Type.AMMO);
if (perk == ModPerks.BEAST_BULLET.get()) { if (perk == ModPerks.BEAST_BULLET.get()) {
player.playSound(ModSounds.HENG.get(), 5f, 1f); player.playSound(ModSounds.HENG.get(), 4f, 1f);
if (player instanceof ServerPlayer serverPlayer) { if (player instanceof ServerPlayer serverPlayer) {
SoundTool.playLocalSound(serverPlayer, ModSounds.HENG.get(), 5f, 1f); SoundTool.playLocalSound(serverPlayer, ModSounds.HENG.get(), 4f, 1f);
} }
} }
@ -399,9 +399,9 @@ public class FireMessage {
if (player instanceof ServerPlayer serverPlayer) { if (player instanceof ServerPlayer serverPlayer) {
SoundTool.playLocalSound(serverPlayer, ModSounds.M_79_FIRE_1P.get(), 2, 1); SoundTool.playLocalSound(serverPlayer, ModSounds.M_79_FIRE_1P.get(), 2, 1);
serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.M_79_FIRE_3P.get(), SoundSource.PLAYERS, 4, 1); serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.M_79_FIRE_3P.get(), SoundSource.PLAYERS, 2, 1);
serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.M_79_FAR.get(), SoundSource.PLAYERS, 6, 1); serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.M_79_FAR.get(), SoundSource.PLAYERS, 5, 1);
serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.M_79_VERYFAR.get(), SoundSource.PLAYERS, 12, 1); serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.M_79_VERYFAR.get(), SoundSource.PLAYERS, 10, 1);
} }
stack.getOrCreateTag().putBoolean("shoot", true); stack.getOrCreateTag().putBoolean("shoot", true);
@ -450,9 +450,9 @@ public class FireMessage {
if (player instanceof ServerPlayer serverPlayer) { if (player instanceof ServerPlayer serverPlayer) {
SoundTool.playLocalSound(serverPlayer, ModSounds.RPG_FIRE_1P.get(), 2, 1); SoundTool.playLocalSound(serverPlayer, ModSounds.RPG_FIRE_1P.get(), 2, 1);
serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.RPG_FIRE_3P.get(), SoundSource.PLAYERS, 4, 1); serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.RPG_FIRE_3P.get(), SoundSource.PLAYERS, 2, 1);
serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.RPG_FAR.get(), SoundSource.PLAYERS, 8, 1); serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.RPG_FAR.get(), SoundSource.PLAYERS, 5, 1);
serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.RPG_VERYFAR.get(), SoundSource.PLAYERS, 16, 1); serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.RPG_VERYFAR.get(), SoundSource.PLAYERS, 10, 1);
} }
tag.putBoolean("shoot", true); tag.putBoolean("shoot", true);
@ -503,7 +503,7 @@ public class FireMessage {
if (player instanceof ServerPlayer serverPlayer) { if (player instanceof ServerPlayer serverPlayer) {
SoundTool.playLocalSound(serverPlayer, ModSounds.JAVELIN_FIRE_1P.get(), 2, 1); SoundTool.playLocalSound(serverPlayer, ModSounds.JAVELIN_FIRE_1P.get(), 2, 1);
serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.JAVELIN_FIRE_3P.get(), SoundSource.PLAYERS, 4, 1); serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.JAVELIN_FIRE_3P.get(), SoundSource.PLAYERS, 4, 1);
serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.JAVELIN_FAR.get(), SoundSource.PLAYERS, 12, 1); serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.JAVELIN_FAR.get(), SoundSource.PLAYERS, 10, 1);
} }
tag.putBoolean("shoot", true); tag.putBoolean("shoot", true);

View file

@ -19,5 +19,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 64, "normal_reload_time": 64,
"empty_reload_time": 85, "empty_reload_time": 85,
"BypassesArmor": 0.05 "BypassesArmor": 0.05,
"SoundRadius": 18
} }

View file

@ -19,5 +19,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 66, "normal_reload_time": 66,
"empty_reload_time": 83, "empty_reload_time": 83,
"BypassesArmor": 0.01 "BypassesArmor": 0.01,
"SoundRadius": 16
} }

View file

@ -19,5 +19,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 54, "normal_reload_time": 54,
"empty_reload_time": 69, "empty_reload_time": 69,
"BypassesArmor": 0.2 "BypassesArmor": 0.2,
"SoundRadius": 14
} }

View file

@ -20,5 +20,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 73, "normal_reload_time": 73,
"empty_reload_time": 95, "empty_reload_time": 95,
"BypassesArmor": 0.25 "BypassesArmor": 0.25,
"SoundRadius": 13
} }

View file

@ -19,5 +19,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 30, "normal_reload_time": 30,
"empty_reload_time": 35, "empty_reload_time": 35,
"BypassesArmor": 0.15 "BypassesArmor": 0.15,
"SoundRadius": 10
} }

View file

@ -19,5 +19,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 30, "normal_reload_time": 30,
"empty_reload_time": 35, "empty_reload_time": 35,
"BypassesArmor": 0.15 "BypassesArmor": 0.15,
"SoundRadius": 16
} }

View file

@ -19,5 +19,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 56, "normal_reload_time": 56,
"empty_reload_time": 64, "empty_reload_time": 64,
"BypassesArmor": 0.25 "BypassesArmor": 0.25,
"SoundRadius": 14
} }

View file

@ -17,5 +17,6 @@
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"empty_reload_time": 64, "empty_reload_time": 64,
"BypassesArmor": 0.7 "BypassesArmor": 0.7,
"SoundRadius": 20
} }

View file

@ -23,5 +23,6 @@
"prepare_time": 29, "prepare_time": 29,
"iterative_time": 11, "iterative_time": 11,
"finish_time": 18, "finish_time": 18,
"BypassesArmor": 0.5 "BypassesArmor": 0.5,
"SoundRadius": 18
} }

View file

@ -19,5 +19,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 30, "normal_reload_time": 30,
"empty_reload_time": 35, "empty_reload_time": 35,
"BypassesArmor": 0.2 "BypassesArmor": 0.2,
"SoundRadius": 10
} }

View file

@ -19,5 +19,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 56, "normal_reload_time": 56,
"empty_reload_time": 64, "empty_reload_time": 64,
"BypassesArmor": 0.25 "BypassesArmor": 0.25,
"SoundRadius": 14
} }

View file

@ -20,5 +20,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 114, "normal_reload_time": 114,
"empty_reload_time": 133, "empty_reload_time": 133,
"BypassesArmor": 0.25 "BypassesArmor": 0.25,
"SoundRadius": 15
} }

View file

@ -22,5 +22,6 @@
"prepare_load_time": 36, "prepare_load_time": 36,
"iterative_time": 16, "iterative_time": 16,
"finish_time": 12, "finish_time": 12,
"BypassesArmor": 0.05 "BypassesArmor": 0.05,
"SoundRadius": 16
} }

View file

@ -22,5 +22,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 64, "normal_reload_time": 64,
"empty_reload_time": 86, "empty_reload_time": 86,
"BypassesArmor": 0.6 "BypassesArmor": 0.6,
"SoundRadius": 18
} }

View file

@ -21,5 +21,6 @@
"prepare_time": 8, "prepare_time": 8,
"iterative_time": 16, "iterative_time": 16,
"finish_time": 19, "finish_time": 19,
"BypassesArmor": 0.3 "BypassesArmor": 0.3,
"SoundRadius": 15
} }

View file

@ -11,5 +11,6 @@
"weight": 2, "weight": 2,
"fire_mode": 2, "fire_mode": 2,
"projectile_amount": 1, "projectile_amount": 1,
"BypassesArmor": 0.3 "BypassesArmor": 0.3,
"SoundRadius": 14
} }

View file

@ -22,5 +22,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 58, "normal_reload_time": 58,
"empty_reload_time": 81, "empty_reload_time": 81,
"BypassesArmor": 0.4 "BypassesArmor": 0.4,
"SoundRadius": 16
} }

View file

@ -22,5 +22,6 @@
"prepare_empty": 16, "prepare_empty": 16,
"iterative_time": 11, "iterative_time": 11,
"finish_time": 18, "finish_time": 18,
"BypassesArmor": 0.54 "BypassesArmor": 0.54,
"SoundRadius": 18
} }

View file

@ -23,5 +23,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 64, "normal_reload_time": 64,
"empty_reload_time": 87, "empty_reload_time": 87,
"BypassesArmor": 1 "BypassesArmor": 1,
"SoundRadius": 22
} }

View file

@ -19,5 +19,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 58, "normal_reload_time": 58,
"empty_reload_time": 74, "empty_reload_time": 74,
"BypassesArmor": 0.28 "BypassesArmor": 0.28,
"SoundRadius": 13
} }

View file

@ -20,5 +20,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 73, "normal_reload_time": 73,
"empty_reload_time": 95, "empty_reload_time": 95,
"BypassesArmor": 0.23 "BypassesArmor": 0.23,
"SoundRadius": 14
} }

View file

@ -20,5 +20,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 59, "normal_reload_time": 59,
"empty_reload_time": 89, "empty_reload_time": 89,
"BypassesArmor": 0.8 "BypassesArmor": 0.8,
"SoundRadius": 20
} }

View file

@ -19,5 +19,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 54, "normal_reload_time": 54,
"empty_reload_time": 75, "empty_reload_time": 75,
"BypassesArmor": 0.23 "BypassesArmor": 0.23,
"SoundRadius": 16
} }

View file

@ -19,5 +19,6 @@
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 56, "normal_reload_time": 56,
"empty_reload_time": 70, "empty_reload_time": 70,
"BypassesArmor": 0.45 "BypassesArmor": 0.45,
"SoundRadius": 17
} }

View file

@ -18,5 +18,6 @@
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"empty_reload_time": 65, "empty_reload_time": 65,
"BypassesArmor": 0.2 "BypassesArmor": 0.2,
"SoundRadius": 10
} }

View file

@ -19,5 +19,6 @@
"burst_size": 3, "burst_size": 3,
"normal_reload_time": 46, "normal_reload_time": 46,
"empty_reload_time": 64, "empty_reload_time": 64,
"BypassesArmor": 0.15 "BypassesArmor": 0.15,
"SoundRadius": 4
} }