The Wild Mod [Fabric]

The Wild Mod [Fabric]

658k Downloads

Sculk Shrieker Effect Sound

MerpisMe opened this issue ยท 47 comments

commented

The sculk shrieker effect sound is a bit broken at the moment. For starters, it doesn't properly sync with the pulsating of the darkness effect, which is a bit jarring. Additionally, it continues for a long period of time, quite a bit longer than the darkness effect itself should. Lastly, it plays warden_slightly_angry_1 and warden_slightly_angry_2 at the end, which is a bit weird.

  • Sync the "close" "closer" and "closest" sounds with the pulsating of the darkness status effect
  • Make the sounds ONLY last within the duration of the darkness effect.
  • Remove warden sounds from the shrieker effect sound event altogether
commented

The sculk shrieker effect sound is a bit broken at the moment. For starters, it doesn't properly sync with the pulsating of the darkness effect, which is a bit jarring. Additionally, it continues for a long period of time, quite a bit longer than the darkness effect itself should. Lastly, it plays warden_slightly_angry_1 and warden_slightly_angry_2 at the end, which is a bit weird.

  • Sync the "close" "closer" and "closest" sounds with the pulsating of the darkness status effect
  • Make the sounds ONLY last within the duration of the darkness effect.
  • Remove warden sounds from the shrieker effect sound event altogether

idk why it does this, it's only supposed to play ONE warning sound, and that's it. Strange.

commented

Additionally, it continues for a long period of time, quite a bit longer than the darkness effect itself should. Lastly, it plays warden_slightly_angry_1 and warden_slightly_angry_2 at the end, which is a bit weird.

I suspect this could be because the code is also running on the client, and it THINKS a new Warden spawned sometimes. I'll make it server-only and see if it works.
Also about syncing the sounds with Darkness... I have no clue how that's even remotely possible. The CLOSEST I could do is time how long each pulse takes and make a tick-timer to play a sound on each pulse, but that's it... Even then, I'm not too sure if that'll be easy.

commented

Would you be able to test with the latest commit? There shouldn't be any lingering sounds or client-only Warden sounds anymore, the only thing that should be left to do is making a timer to sync it with the effect.

i'm at work, i'll have to have xfrtrex test it

commented
  • Remove warden sounds from the shrieker effect sound event altogether

They never were though, it's definitely the code running on the Client.

commented

Additionally, it continues for a long period of time, quite a bit longer than the darkness effect itself should. Lastly, it plays warden_slightly_angry_1 and warden_slightly_angry_2 at the end, which is a bit weird.

I suspect this could be because the code is also running on the client, and it THINKS a new Warden spawned sometimes. I'll make it server-only and see if it works. Also about syncing the sounds with Darkness... I have no clue how that's even remotely possible. The CLOSEST I could do is time how long each pulse takes and make a tick-timer to play a sound on each pulse, but that's it... Even then, I'm not too sure if that'll be easy.

yeah, thats what i was thinking, just a simple tick timer that stops once the darkness effect is finished

commented

Would you be able to test with the latest commit? There shouldn't be any lingering sounds or client-only Warden sounds anymore, the only thing that should be left to do is making a timer to sync it with the effect.

commented
  • Remove warden sounds from the shrieker effect sound event altogether

They never were though, it's definitely the code running on the Client.

huh, you sure? it plays them like they're stereo and it's always slightly_angry1.ogg and slightly_angry2.ogg, and it also happens on servers

commented

huh, you sure? it plays them like they're stereo and it's always slightly_angry1.ogg and slightly_angry2.ogg, and it also happens on servers

Those two sounds are never referenced anywhere aside from the Warden itself, and those are also the same sounds it makes when it detects something with a low-mid suspicion range. Why it always plays those two in succession at the same pitch I have no clue, but there's no way it's anything server-side.
The most logical conclusion is that the client thinks a Warden spawned. If not, then this is some EXTREMELY strange alien-sci-fi-level stuff going on here.

commented

huh, you sure? it plays them like they're stereo and it's always slightly_angry1.ogg and slightly_angry2.ogg, and it also happens on servers

Those two sounds are never referenced anywhere aside from the Warden itself, and those are also the same sounds it makes when it detects something with a low-mid suspicion range. Why it always plays those two in succession at the same pitch I have no clue, but there's no way it's anything server-side.

that's really strange! i've never heard of a bug like that before, but it's good that you've (hopefully) fixed it

commented

by the way, this does work.

regarding making the sounds play whenever the pulsing happens, look into the BackgroundRenderer and LightmapTextureRenderer mixins for the equation they use to pulse the darkness effect

commented

huh, you sure? it plays them like they're stereo and it's always slightly_angry1.ogg and slightly_angry2.ogg, and it also happens on servers

Those two sounds are never referenced anywhere aside from the Warden itself, and those are also the same sounds it makes when it detects something with a low-mid suspicion range. Why it always plays those two in succession at the same pitch I have no clue, but there's no way it's anything server-side. The most logical conclusion is that the client thinks a Warden spawned. If not, then this is some EXTREMELY strange alien-sci-fi-level stuff going on here.

this didn't fix it by the way. that's really bizarre. it only happens on the highest "shrieker anger" level, but i can't find ANYTHING that references it. it's worth mentioning that the highest level also plays the other sounds back to back, so there's definitely something going on with the sound event. we might just have to make a new sound event for it lol

i'm thinking it must be because the (possibly outdated) sounds themselves have the sounds at the end, because now that i think about it they're also always the same sounds leading up to the warden sounds.

commented

@AViewFromTheTop

  • Sync the "close" "closer" and "closest" sounds with the pulsating of the darkness status effect

turns out this already DOES exist as part of the status effect, it just doesn't work for some reason!

https://github.com/Osmiooo/wildmod/blob/master/src/main/java/frozenblock/wild/mod/status_effects/DarknessStatusEffect.java

bruh

commented

@AViewFromTheTop

  • Sync the "close" "closer" and "closest" sounds with the pulsating of the darkness status effect

turns out this already DOES exist as part of the status effect, it just doesn't work for some reason!
https://github.com/Osmiooo/wildmod/blob/master/src/main/java/frozenblock/wild/mod/status_effects/DarknessStatusEffect.java

bruh

can you try to see why it doesnt work lol

commented

@AViewFromTheTop

  • Sync the "close" "closer" and "closest" sounds with the pulsating of the darkness status effect

turns out this already DOES exist as part of the status effect, it just doesn't work for some reason!

https://github.com/Osmiooo/wildmod/blob/master/src/main/java/frozenblock/wild/mod/status_effects/DarknessStatusEffect.java

commented

Yeah i've been trying god knows how many things and I can't figure out what's causing this bug

commented

Yeah i've been trying god knows how many things and I can't figure out what's causing this bug

that's so weird

If not, then this is some EXTREMELY strange alien-sci-fi-level stuff going on here.

one thing i know for certain is that somewhere, there's a sound file which includes slightly_angry1 and slightly_angry2, and i KNOW that this is the case because they're played as stereo despite both of the actual sound files being mono, which should never happen

commented

one thing i know for certain is that somewhere, there's a sound file which includes slightly_angry1 and slightly_angry2, and i KNOW that this is the case because they're played as stereo despite both of the actual sound files being mono, which should never happen

I've listened to every single warden-related audio file and none are like this

commented

one thing i know for certain is that somewhere, there's a sound file which includes slightly_angry1 and slightly_angry2, and i KNOW that this is the case because they're played as stereo despite both of the actual sound files being mono, which should never happen

I've listened to every single warden-related audio file and none are like this

hmm. maybe i'm wrong about mono files not being able to play as stereo in game then. i'll try changing the sounds themselves and seeing if it changes in a bit

commented

one thing i know for certain is that somewhere, there's a sound file which includes slightly_angry1 and slightly_angry2, and i KNOW that this is the case because they're played as stereo despite both of the actual sound files being mono, which should never happen

I've listened to every single warden-related audio file and none are like this

hmm. maybe i'm wrong about mono files not being able to play as stereo in game then. i'll try changing the sounds themselves and seeing if it changes in a bit

hmm, while testing i noticed that the shrieker doesn't play the nearby_close sounds if there's nowhere suitable for the warden to spawn (that is, there must be blocks that it can spawn on AND the radius of the necessary spawnable platform must be large enough)

commented
commented

one thing i know for certain is that somewhere, there's a sound file which includes slightly_angry1 and slightly_angry2, and i KNOW that this is the case because they're played as stereo despite both of the actual sound files being mono, which should never happen

I've listened to every single warden-related audio file and none are like this

hmm. maybe i'm wrong about mono files not being able to play as stereo in game then. i'll try changing the sounds themselves and seeing if it changes in a bit

hmm, while testing i noticed that the shrieker doesn't play the nearby_close sounds if there's nowhere suitable for the warden to spawn (that is, there must be blocks that it can spawn on AND the radius of the necessary spawnable platform must be large enough)

it doesn't even have a subtitle.

commented

image @AViewFromTheTop

I don't see the point in redefining the variable if you're gonna return it and not use it for anything else honestly, but it's got the idea

commented

one thing i know for certain is that somewhere, there's a sound file which includes slightly_angry1 and slightly_angry2, and i KNOW that this is the case because they're played as stereo despite both of the actual sound files being mono, which should never happen

I've listened to every single warden-related audio file and none are like this

hmm. maybe i'm wrong about mono files not being able to play as stereo in game then. i'll try changing the sounds themselves and seeing if it changes in a bit

hmm, while testing i noticed that the shrieker doesn't play the nearby_close sounds if there's nowhere suitable for the warden to spawn (that is, there must be blocks that it can spawn on AND the radius of the necessary spawnable platform must be large enough)

it doesn't even have a subtitle.

@AViewFromTheTop I FOUND THE ISSUE!
it was nearby_closer_2.ogg!

commented

oh ok thank god lol, i was really hesitant on the idea you proposed initially

really the only way to do this would be adding more cooldown to the shrieker, that'd make it work, but in return you can't summon the warden as fast (4-second cooldown)

i'll take that over offsetting the sounds in the actual files any day

commented

yeah but that should hopefully a bit easier since the code is already (sort of) there

I'm just gonna delay the sound files for by four seconds because making a timer's surprisingly complex for some reason (block entities cant have multiple timers that easily,) so this is more efficient and less annoying to do.

nvm im dumb, there is an easier way to do timers

oh ok thank god lol, i was really hesitant on the idea you proposed initially

and of course nvm, I can't do it. Long-story short have no clue how to do it

commented

oh ok thank god lol, i was really hesitant on the idea you proposed initially

really the only way to do this would be adding more cooldown to the shrieker, that'd make it work, but in return you can't summon the warden as fast (4-second cooldown)

commented

@AViewFromTheTop I FOUND THE ISSUE! it was nearby_closer_2.ogg!

But I listened to that one and it didn't have the extra sounds... Hmm... Do you happen to have a copy of the old file?
Edit: Just remembered I have a copy nvm

commented

@AViewFromTheTop I FOUND THE ISSUE! it was nearby_closer_2.ogg!

But I listened to that one and it didn't have the extra sounds... Hmm... Do you happen to have a copy of the old file? Edit: Just remembered I have a copy nvm

https://github.com/Osmiooo/wildmod/blob/85ddc3d5d5237633d21594d7c2cd2f5a43f7aba7/src/main/resources/assets/twm/sounds/entity/warden/nearby_closer_2.ogg

commented

I SWEAR TO GOD
I WASTED ALL THIS TIME BECAUSE OF A WARDEN SOUND COMPILATION

commented

oh shoot i forgot there's still the sound syncing part left dangit

commented

oh shoot i forgot there's still the sound syncing part left dangit

yeah but that should hopefully a bit easier since the code is already (sort of) there

commented

@AViewFromTheTop I FOUND THE ISSUE! it was nearby_closer_2.ogg!

thank god you found out about this

commented

whoops i made an issue on accident

commented

oh shoot i forgot there's still the sound syncing part left dangit

yeah but that should hopefully a bit easier since the code is already (sort of) there

Not really, it has some problems:

  1. It doesn't account for Shrieker Anger and plays the same sound
  2. If it worked it'd probably spam the sounds inbetween pulses
  3. It's not running on the client (not sure if that's actually an issue, but there's a chance that's why the sound won't play)

I'm better off just making a separate timer for the Shrieker's block entity

commented

oh shoot i forgot there's still the sound syncing part left dangit

yeah but that should hopefully a bit easier since the code is already (sort of) there

Not really, it has some problems:

  1. It doesn't account for Shrieker Anger and plays the same sound
  2. If it worked it'd probably spam the sounds inbetween pulses
  3. It's not running on the client

I'm better off just making a separate timer for the Shrieker's block entity

ah, fair enough then

commented

yeah but that should hopefully a bit easier since the code is already (sort of) there

I'm just gonna delay the sound files for by four seconds because making a timer's surprisingly complex for some reason (block entities cant have multiple timers that easily,) so this is more efficient and less annoying to do.

commented

yeah but that should hopefully a bit easier since the code is already (sort of) there

I'm just gonna delay the sound files for by four seconds because making a timer's surprisingly complex for some reason (block entities cant have multiple timers that easily,) so this is more efficient and less annoying to do.

nvm im dumb, there is an easier way to do timers

commented

yeah but that should hopefully a bit easier since the code is already (sort of) there

I'm just gonna delay the sound files for by four seconds because making a timer's surprisingly complex for some reason (block entities cant have multiple timers that easily,) so this is more efficient and less annoying to do.

nvm im dumb, there is an easier way to do timers

oh ok thank god lol, i was really hesitant on the idea you proposed initially

commented

i'll take that over offsetting the sounds in the actual files any day

yeah it doesn't work, the timing for the darkness pulsing won't match up with the sound after the first shriek. Combining that with the fact that it's easy to cheese the Shriekers this way as well, I don't think it's a good solution

commented

i'll take that over offsetting the sounds in the actual files any day

yeah it doesn't work, the timing for the darkness pulsing won't match up with the sound after the first shriek. Combining that with the fact that it's easy to cheese the Shriekers this way as well, I don't think it's a good solution

oh. well then i guess just go ahead and offset the sound files

commented

oh. well then i guess just go ahead and offset the sound files

I'm gonna look at the status effect before that

commented

oh. well then i guess just go ahead and offset the sound files

I'm gonna look at the status effect before that

well THERE'S a big problem. The "time" variable is set on the client, but the code to make the sound play runs on the server.

commented

oh. well then i guess just go ahead and offset the sound files

I'm gonna look at the status effect before that

well THERE'S a big problem. The "time" variable is set on the client, but the code to make the sound play runs on the server.

AAAAAAAA

commented

AAAAAAAA

well i found a way to get the sound to play, but it just spams at random times

commented

@MerpisMe i found a way to do it from LightmapTextureManagerMixin, the only issue is that I have no way to reset the soundTime value when the player gets Darkness a second time.

commented

@MerpisMe i found a way to do it from LightmapTextureManagerMixin, the only issue is that I have no way to reset the soundTime value when the player gets Darkness a second time.

WAIT WAIT, pull the latest commit i just made, it tweaks the equation for the pulsing a bit

commented

the only issue is that I have no way to reset the soundTime value when the player gets Darkness a second time.

couldn't you technically just use the animation API for that?