]> git.seodisparate.com - TurnBasedMinecraftMod/commitdiff
Pause MCMusic when "Ping" packet is received
authorStephen Seo <seo.disparate@gmail.com>
Wed, 23 Oct 2024 06:01:31 +0000 (15:01 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Wed, 23 Oct 2024 07:23:10 +0000 (16:23 +0900)
This prevents Minecraft's music from playing at the same time as
user-provided battle/silly music.

src/main/java/com/burnedkirby/TurnBasedMinecraft/client/BattleMusic.java
src/main/java/com/burnedkirby/TurnBasedMinecraft/client/ClientProxy.java
src/main/java/com/burnedkirby/TurnBasedMinecraft/common/CommonProxy.java
src/main/java/com/burnedkirby/TurnBasedMinecraft/common/networking/PacketBattlePing.java

index 601f8397048e9346d2180aa24c50276eeabde296..6868f2f4137ca2a1a3762865869229bb53944f37 100644 (file)
@@ -180,7 +180,7 @@ public class BattleMusic
         if(initialized && next != null)
         {
             logger.debug("play called with file " + next.getName() + " and vol " + volume);
-               Minecraft.getInstance().getSoundManager().pause();
+            TurnBasedMinecraftMod.proxy.pauseMCMusic();
             String suffix = next.getName().substring(next.getName().length() - 3).toLowerCase();
             if(suffix.equals("mid") && sequencer != null)
             {
@@ -362,7 +362,7 @@ public class BattleMusic
         }
         if(resumeMCSounds)
         {
-            Minecraft.getInstance().getSoundManager().resume();
+            TurnBasedMinecraftMod.proxy.resumeMCMusic();
         }
         isPlaying = false;
     }
index bfe48468f98585c6b95091ab1f0aa29ea2e5c549..2023666dc4898f36dbeb62da94103354273487a7 100644 (file)
@@ -1482,4 +1482,14 @@ public class ClientProxy extends CommonProxy {
     public void showClientConfigGui() {
         Minecraft.getInstance().setScreen(new ClientConfigGui(null, null));
     }
+
+    @Override
+    public void pauseMCMusic() {
+        Minecraft.getInstance().getSoundManager().pause();
+    }
+
+    @Override
+    public void resumeMCMusic() {
+        Minecraft.getInstance().getSoundManager().resume();
+    }
 }
index 0d0a74715ec6d08a1954b0a1a5f99ad1ffdeca86..172eb734c54e1bc913a152cff366b975a39b2275 100644 (file)
@@ -177,4 +177,7 @@ public class CommonProxy
     public static final StreamCodec<ByteBuf, Collection<Integer>> COLLECTION_INT_CODEC = ByteBufCodecs.INT.apply(ByteBufCodecs.collection(ArrayList::new));
 
     public void showClientConfigGui() {}
+
+    public void pauseMCMusic() {}
+    public void resumeMCMusic() {}
 }
index 3463939100f4956e90c4401db4015b0ccc5d062e..1901bd0caf35a5b04c13865712fb1236395d895e 100644 (file)
@@ -37,6 +37,7 @@ public record PacketBattlePing(int battleID, int remainingSeconds) implements Cu
                 TurnBasedMinecraftMod.proxy.setBattleGuiAsGui();
                 TurnBasedMinecraftMod.proxy.setBattleGuiBattleChanged();
                 TurnBasedMinecraftMod.proxy.setBattleGuiTime(pkt.remainingSeconds);
+                TurnBasedMinecraftMod.proxy.pauseMCMusic();
             }).exceptionally(e -> {
                 ctx.disconnect(Component.literal("Exception handling PacketBattlePing! " + e.getMessage()));
                 return null;