stashymane / extra-sounds

Creative Commons Zero v1.0 Universal
39 stars 21 forks source link

Sounds play twice when moving around items in inventory while on Survival Mode #89

Open iblowmymind opened 1 year ago

iblowmymind commented 1 year ago

Minecraft: 1.19.2 Mod: 2.3.1

Details

Item movement sounds are played twice when you move around items in Survival Mode. This issue does not occur in Creative Mode.

Mod List

3dskinlayers-fabric-1.5.2-mc1.19.1.jar               advancementinfo-1.19.1-fabric0.58.5-1.3.1.jar
AmbientSounds_FABRIC_v5.2.8_mc1.19.2.jar             amecs-1.3.8+mc.1.19-rc2.jar
animatica-0.5+1.19.jar                               appleskin-fabric-mc1.19-2.4.1.jar
architectury-6.3.49-fabric.jar                       armorchroma-1.2.2.jar
badpackets-fabric-0.2.1.jar                          baritone-fabric-api-1.8.3-210-g4fa43ce2.jar
betterbiomeblend-1.19.0-1.3.6-fabric.jar             bettercommandblockui-0.3.0-1.19.jar
bettermounthud-1.2.0.jar                             BetterThirdPerson-Fabric-1.19-1.8.1.jar
blur-2.6.0.jar                                       c2me-fabric-mc1.19.2-0.2.0+alpha.9.0.jar
CameraOverhaul-1.3.1-fabric-universal.jar            cem-0.7.1.jar
chat-up-2.1.0.jar                                    CITResewn-1.1.2+1.19.2.jar
clickthrough-1.19.1-fabric0.58.5-0.4.jar             clientcommands-2.7.4.jar
cloth-api-4.0.65.jar                                 cloth-config-8.2.88-fabric.jar
colormatic-3.1.2+mc.1.19.jar                         completeconfig-2.0.0.jar
continuity-2.0.1+1.19.jar                            CreativeCore_FABRIC_v2.8.9_mc1.19.2.jar
cullleaves-fabric-3.0.0.jar                          dashloader-4.1.3+1.19.jar
deathlog-0.2.11+1.19.jar                             Debugify-2.8.0.jar
DisableCustomWorldsAdvice-3.0.jar                    DistantHorizons-1.6.9a-1.19.2.jar
do-a-barrel-roll-2.3.0+1.19.2-fabric.jar             dynamiccrosshair-3.11+1.19.2.jar
effective-1.4.jar                                    enhancedblockentities-0.7.2+1.19.2.jar
entityculling-fabric-1.5.2-mc1.19.jar                entity_texture_features_fabric_1.19.x-4.1.1.jar
Essential-fabric_1-19.jar                            extrasounds-2.3.1+1.19.2-1.19.1.jar
fabric-language-kotlin-1.8.6+kotlin.1.7.21.jar       fabricskyboxes-0.6.0+mc1.19.2.jar
fallingleaves-1.12.4+1.19.2.jar                      Fastload+1.19.2-1.3.3.jar
ferritecore-5.0.0-fabric.jar                         ForgeConfigAPIPort-v4.2.6-1.19.2-Fabric.jar
freecam-1.1.6+1.19.jar                               Gamma-Utils-1.6.10-mc1.19.2.jar
held-item-info-1.3.0.jar                             Iceberg-1.19.1-fabric-1.0.46.jar
ImmediatelyFast-1.0.4.jar                            indium-1.0.9+mc1.19.2.jar
inspecio-1.6.0+1.19.jar                              InventoryProfilesNext-fabric-1.19-1.8.5.jar
inventorytabs-0.9.beta-1.19.x.jar                    iris-mc1.19.2-1.4.0.jar
isometric-renders-0.4.1+1.19.jar                     item-model-fix-1.0.3+1.19.jar
krypton-0.2.1.jar                                    lambdabettergrass-1.3.0+1.19.jar
lambdynamiclights-2.1.2+1.19.jar                     language-reload-1.3.2.jar
lazydfu-0.1.3.jar                                    LegendaryTooltips-1.19.2-fabric-1.3.3.jar
libIPN-fabric-1.19-1.0.5.jar                         light-overlay-7.0.0.jar
litematica-fabric-1.19.2-0.12.5.jar                  litematica-printer-1.19.2-2.5.jar
lithium-fabric-mc1.19.2-0.10.2.jar                   malilib-fabric-1.19.2-0.13.0.jar
memoryleakfix-1.19.1-0.7.0.jar                       midnightcontrols-1.7.1+1.19.jar
midnightlib-quilt-1.0.0-patch1.jar                   minihud-fabric-1.19.2-0.23.3.jar
modmenu-4.1.0.jar                                    moreculling-1.19.1-0.10.0.jar
mousewheelie-1.10.2+mc1.19-pre1.jar                  nightvisionflashbegone-1.1.0.jar
NoChatReports-FABRIC-1.19.2-v1.13.12.jar             NoFog-1.3.1+1.16.5-1.19.2.jar
notenoughcrashes-4.2.0+1.19.2-fabric.jar             ok_zoomer-5.0.0-beta.9+1.19.jar
owo-lib-0.8.5+1.19.jar                               PresenceFootsteps-1.6.3.jar
Prism-1.19.2-fabric-1.0.3.jar                        puzzle-1.4.0-1.19.jar
quilted-fabric-api-4.0.0-beta.19+0.64.0-1.19.2.jar   quilt_loading_screen-4.0.0+1.19.jar
recursive-resources-2.2.1+1.19.jar                   reeses_sodium_options-1.4.7+mc1.19.2-build.59.jar
RoughlyEnoughItems-9.1.572.jar                       satin-1.9.0.jar
slight-gui-modifications-2.3.0.jar                   smoothboot-fabric-1.19-1.7.1.jar
SmoothScrollingEverywhere-3.0.5.jar                  sodium-extra-0.4.11+mc1.19.2-build.68.jar
sodium-fabric-mc1.19.2-0.4.4+build.18.jar            soundphysics-fabric-1.19.2-1.0.16.jar
starlight-1.1.1+fabric.ae22326.jar                   status-effect-bars-1.0.1+1.19.jar
ToastManager-1.19.2-1.0.1.jar                        tweakeroo-fabric-1.19.2-0.14.3.jar
vcinteraction-1.19.2-1.0.2.jar                       voicechat-fabric-1.19.2-2.3.13.jar
vt-downloader-2.0.0.jar                              waveycapes-fabric-1.2.2-mc1.19.2.jar
worldedit-mod-7.2.12.jar                             wthit-quilt-5.13.3.jar
XaerosWorldMap_1.28.3_Fabric_1.19.1.jar              Xaeros_Minimap_22.16.2_Fabric_1.19.1.jar
YetAnotherConfigLib-1.7.0.jar                        auditory-0.0.4-1.19.x.jar

Logs when in Creative Mode, ExtraSounds debug enabled (picking up and placing an item):

[Render thread/INFO]: Playing sound: extrasounds:item.pickup.minecraft.stone

[Render thread/INFO]: Playing sound: extrasounds:item.place.minecraft.stone

Same scenario in Survival Mode (the pickup sounds and the place sounds play at the same time):

[Render thread/INFO]: Playing sound: extrasounds:item.pickup.minecraft.stone

[Render thread/INFO]: Playing sound: extrasounds:item.pickup.minecraft.stone

[Render thread/INFO]: Playing sound: extrasounds:item.place.minecraft.stone
[Render thread/INFO]: Playing sound: extrasounds:item.place.minecraft.stone
iblowmymind commented 1 year ago

I think this issue only happens on worlds where the MSPT is higher (e.g., I haven't seen it in a superflat world but I have in the Security Breach recreation by CuppaTeaExe)

stashymane commented 1 year ago

The sound event is triggered twice, however there's a throttle of 5ms built into ExtraSounds to prevent it. The debug log is just slightly misleading as it is output before the throttle :) I've known of this since creating ExtraSounds in the first place, but it seemed like a non-issue since both events were played within a few milliseconds after one another at most, and I'd have to include a throttle for some sounds (scrolling, hotbar) anyway. In v3, I'm trying to find better injection points for most of the sound events, since a portion of the current ones are mixed between internal server & client, as they were just easier to inject into. That should solve quite a few issues, like inventory mod compatibility, and, of course, this.

iblowmymind commented 1 year ago

Ahh, I see. Thank you! As I said, this is currently only noticeable in "heavier" worlds where MSPT is higher, which would make sense given your explanation.