From bf2fa2503dc5a16e264fb82880971f9936941836 Mon Sep 17 00:00:00 2001 From: khjxiaogu <54445543+khjxiaogu@users.noreply.github.com> Date: Wed, 29 Jan 2025 16:53:41 +0800 Subject: [PATCH] fix scenario music --- .../content/scenario/client/FHScenarioClient.java | 2 ++ .../content/scenario/commands/client/ClientControl.java | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/teammoeg/frostedheart/content/scenario/client/FHScenarioClient.java b/src/main/java/com/teammoeg/frostedheart/content/scenario/client/FHScenarioClient.java index 34d864c44..0a3580e22 100644 --- a/src/main/java/com/teammoeg/frostedheart/content/scenario/client/FHScenarioClient.java +++ b/src/main/java/com/teammoeg/frostedheart/content/scenario/client/FHScenarioClient.java @@ -46,9 +46,11 @@ public static ResourceLocation getPathOf(ResourceLocation orig,String path) { } public static Optional> getPathFrom(IForgeRegistry registry,ResourceLocation orig,String path) { ResourceLocation rl= new ResourceLocation(orig.getNamespace(),path+ClientUtils.mc().getLanguageManager().getSelected()+"/"+orig.getPath()); + System.out.println(rl); if(registry.containsKey(rl)) { return registry.getHolder(rl); } + System.out.println(new ResourceLocation(orig.getNamespace(),path+orig.getPath())); return registry.getHolder(new ResourceLocation(orig.getNamespace(),path+orig.getPath())); } public static void register(Class clazz) { diff --git a/src/main/java/com/teammoeg/frostedheart/content/scenario/commands/client/ClientControl.java b/src/main/java/com/teammoeg/frostedheart/content/scenario/commands/client/ClientControl.java index a0b19f6c8..c78b836a4 100644 --- a/src/main/java/com/teammoeg/frostedheart/content/scenario/commands/client/ClientControl.java +++ b/src/main/java/com/teammoeg/frostedheart/content/scenario/commands/client/ClientControl.java @@ -54,6 +54,7 @@ import dev.ftb.mods.ftbquests.quest.task.Task; import dev.latvian.mods.itemfilters.api.ItemFiltersAPI; import net.minecraft.sounds.Music; +import net.minecraft.sounds.SoundEvent; import net.minecraft.client.resources.sounds.SoundInstance; import net.minecraft.client.resources.sounds.SoundInstance.Attenuation; import net.minecraft.nbt.ListTag; @@ -284,10 +285,13 @@ public void freeLayer(IClientScene runner,@Param("n")@Param("name")String name) public void bgm(IClientScene runner,@Param("n")@Param("name")String name) { //ISound sound=SimpleSound.music(); ClientUtils.mc().getMusicManager().stopPlaying(); - FHScenarioClient.getPathFrom(ForgeRegistries.SOUND_EVENTS,new ResourceLocation(name),"") + //ForgeRegistries.SOUND_EVENTS.getKeys().forEach(System.out::println); + /*FHScenarioClient.getPathFrom(ForgeRegistries.SOUND_EVENTS,new ResourceLocation(name),"") .ifPresentOrElse(t->ClientUtils.mc().getMusicManager().startPlaying(new Music(t, 0, 0, true)), ()->{ FHMain.LOGGER.error("[FHScenario] Music "+name+" Not found"); - }); + });*/ + ClientUtils.mc().getSoundManager().play(SimpleSoundInstance.forMusic(SoundEvent.createVariableRangeEvent(new ResourceLocation(name)))); + }