Skip to content

Commit

Permalink
Merge branch 'main' into 1.19.3
Browse files Browse the repository at this point in the history
  • Loading branch information
LostLuma committed Dec 16, 2023
2 parents fa0c7a7 + e20abd9 commit c10c11d
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ org.gradle.parallel = true
org.gradle.jvmargs = -Xmx1G

# Mod Properties
mod_version = 3.3.0
mod_version = 3.3.1
maven_group = juliand665
archives_base_name = dynamic-fps
15 changes: 13 additions & 2 deletions src/main/java/dynamic_fps/impl/mixin/SoundEngineMixin.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,18 @@

import dynamic_fps.impl.DynamicFPSMod;
import dynamic_fps.impl.util.duck.DuckSoundEngine;
import net.minecraft.client.Options;
import net.minecraft.client.resources.sounds.SoundInstance;
import net.minecraft.client.sounds.ChannelAccess;
import net.minecraft.client.sounds.SoundEngine;
import net.minecraft.sounds.SoundSource;

@Mixin(SoundEngine.class)
public class SoundEngineMixin implements DuckSoundEngine {
@Shadow
@Final
private Options options;

@Shadow
private boolean loaded;

Expand Down Expand Up @@ -97,10 +102,16 @@ private void play(SoundInstance instance, CallbackInfo callbackInfo) {
/**
* Applies the user's requested volume multiplier to any newly played sounds.
*/
@Inject(method = "getVolume", at = @At("RETURN"), cancellable = true)
@Inject(method = "getVolume", at = @At("HEAD"), cancellable = true)
private void getVolume(@Nullable SoundSource source, CallbackInfoReturnable<Float> callbackInfo) {
float base = 1.0f;

// Note: The original doesn't consider the user's setting when the source is MASTER
// In vanilla this doesn't matter because it's never called, but we use it when setting the gain
if (source != null) {
callbackInfo.setReturnValue(callbackInfo.getReturnValue() * DynamicFPSMod.volumeMultiplier(source));
base = this.options.getSoundSourceVolume(source);
}

callbackInfo.setReturnValue(base * DynamicFPSMod.volumeMultiplier(source));
}
}

0 comments on commit c10c11d

Please sign in to comment.