Skip to content

Commit 91f697f

Browse files
committed
Merge branch 'master' into port/neoforge
# Conflicts: # build.gradle # gradle.properties
2 parents f4018e5 + 8bba31d commit 91f697f

File tree

5 files changed

+17
-22
lines changed

5 files changed

+17
-22
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id 'dev.architectury.loom' version '1.11-SNAPSHOT'
2+
id 'dev.architectury.loom' version '1.13-SNAPSHOT'
33
id 'maven-publish'
44
}
55

gradle.properties

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ org.gradle.jvmargs=-Xmx2G
44
loom.platform=neoforge
55
# Fabric Properties
66
# check these on https://fabricmc.net/develop
7-
minecraft_version=1.21.10
8-
yarn_mappings=1.21.10+build.1
7+
minecraft_version=1.21.11
8+
yarn_mappings=1.21.11+build.1
99
# neoforge version, latest version can be found on https://projects.neoforged.net/neoforged/neoforge
10-
forge_version=21.10.1-beta
10+
forge_version=21.11.0-beta
1111
# https://github.com/architectury/architectury-loom/issues/230
1212
yarn_mappings_patch_neoforge_version=1.21+build.4
1313

1414
# Mod Properties
15-
mod_version = 1.1.10
15+
mod_version = 1.1.12
1616
maven_group = com.ishland
1717
archives_base_name = rsls-neoforge

src/main/java/com/ishland/fabric/rsls/mixin/MixinClientPlayNetworkHandler.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ private <T extends PacketListener> void handleSoundsAsync(Packet<T> packet, T li
3333
@Share("rsls$originalOp") LocalRef<Operation<Void>> rsls$originalOperation) {
3434
// no-op as we don't want this to be executed sync
3535
rsls$originalOperation.set(original);
36+
rsls$thirdParam.set(thirdParam);
3637
}
3738

3839
@Dynamic

src/main/java/com/ishland/fabric/rsls/mixin/MixinMusicTracker.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
77
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
88
import net.minecraft.client.MinecraftClient;
9-
import net.minecraft.client.sound.MusicInstance;
109
import net.minecraft.client.sound.MusicTracker;
1110
import net.minecraft.client.sound.SoundExecutor;
1211
import net.minecraft.client.sound.SoundManager;
@@ -17,6 +16,7 @@
1716
import org.spongepowered.asm.mixin.Shadow;
1817
import org.spongepowered.asm.mixin.Unique;
1918
import org.spongepowered.asm.mixin.injection.At;
19+
import org.spongepowered.asm.mixin.injection.Coerce;
2020
import org.spongepowered.asm.mixin.injection.Inject;
2121
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
2222

@@ -31,23 +31,19 @@ public class MixinMusicTracker {
3131
@Unique
3232
private CompletableFuture<Void> rsls$playFuture;
3333

34-
@Inject(method = "play", at = @At("HEAD"), cancellable = true)
35-
private void prePlay(MusicInstance instance, CallbackInfo ci) {
34+
@WrapMethod(method = {"method_4858(Lnet/minecraft/class_10383;)V", "play"})
35+
private void wrapPlay(@Coerce Object instance, Operation<Void> original) {
3636
CompletableFuture<Void> rsls$playFuture1 = this.rsls$playFuture;
37-
if (rsls$playFuture1 == null || rsls$playFuture1.isDone()) {
38-
ci.cancel();
37+
if (rsls$playFuture1 != null && !rsls$playFuture1.isDone()) {
38+
return;
3939
}
40-
}
41-
42-
@WrapMethod(method = "play")
43-
private void wrapPlay(MusicInstance instance, Operation<Void> original) {
4440
SoundManager soundManager = this.client.getSoundManager();
4541
SoundSystem soundSystem = ((ISoundManager) soundManager).getSoundSystem();
4642
SoundExecutor taskQueue = ((ISoundSystem) soundSystem).getTaskQueue();
4743
this.rsls$playFuture = CompletableFuture.runAsync(() -> original.call(instance), taskQueue).orTimeout(15, TimeUnit.SECONDS);
4844
}
4945

50-
@WrapOperation(method = "play", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/toast/ToastManager;onMusicTrackStart()V"))
46+
@WrapOperation(method = {"method_4858(Lnet/minecraft/class_10383;)V", "play"}, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/toast/ToastManager;onMusicTrackStart()V"))
5147
private void wrapPlayListener(ToastManager instance, Operation<Void> original) {
5248
this.client.execute(() -> original.call(instance));
5349
}

src/main/java/com/ishland/fabric/rsls/mixin/versions/sndmgr/patch_1/MixinSoundManager1_21_9.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.ishland.fabric.rsls.common.SoundManagerDuck;
44
import com.ishland.fabric.rsls.mixin.access.ISoundSystem;
5+
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
6+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
57
import net.minecraft.client.sound.SoundManager;
68
import net.minecraft.client.sound.SoundSystem;
79
import net.minecraft.sound.SoundCategory;
@@ -16,19 +18,15 @@
1618
@Mixin(SoundManager.class)
1719
public abstract class MixinSoundManager1_21_9 {
1820

19-
@Shadow
20-
public abstract void updateSoundVolume(SoundCategory category);
21-
2221
@Shadow
2322
@Final
2423
private SoundSystem soundSystem;
2524

2625
@Dynamic
27-
@Inject(method = "updateSoundVolume", at = @At("HEAD"), cancellable = true)
28-
private void onUpdateSoundVolume(SoundCategory category, CallbackInfo ci) {
26+
@WrapMethod(method = {"method_4865(Lnet/minecraft/class_3419;)V", "refreshSoundVolumes"})
27+
private void onUpdateSoundVolume(SoundCategory category, Operation<Void> original) {
2928
if (((SoundManagerDuck) this).rsls$shouldRunOffthread()) {
30-
ci.cancel();
31-
((ISoundSystem) this.soundSystem).getTaskQueue().execute(() -> this.updateSoundVolume(category));
29+
((ISoundSystem) this.soundSystem).getTaskQueue().execute(() -> original.call(category));
3230
}
3331
}
3432

0 commit comments

Comments
 (0)