Jump to content

Recommended Posts

Posted

Hello, I was wondering how would I go about changing panorama in main menu. I know that there's no reason to mess with the main menu but this seems like a good example to learn how to change other data types than basic Java data types. I tried using

ObfuscationReflectionHelper#setPrivateValue

but it didn't work because "titlePanoramaPaths" (which I wanted to change to my own image) is "ResourceLocation[]". How can I do this?

 

Posted (edited)
  On 3/2/2020 at 7:10 PM, imacatlolol said:

It wants an array of ResourceLocations, so just give it that. If you don't know what a ResourceLocation is, read the docs.

Expand  

I know, I came up with this:

ResourceLocation[] background = new ResourceLocation[]{new ResourceLocation("mod/splash.png")};
ObfuscationReflectionHelper.setPrivateValue(GuiMainMenu.class, (GuiMainMenu) e.gui, background, "titlePanoramaPaths");

e is InitGuiEvent

"mod/splash.png" is in "assets/minecraft/mod/splash.png"

Edited by Vert3xo
Posted

GuiMainMenu is not a thing in modern Minecraft, and the version you're using is no longer supported. You need to update to 1.14/1.15.

I'm eager to learn and am prone to mistakes. Don't hesitate to tell me how I can improve.

Posted
  On 3/2/2020 at 7:19 PM, imacatlolol said:

GuiMainMenu is not a thing in modern Minecraft, and the version you're using is no longer supported. You need to update to 1.14/1.15.

Expand  

Do you have any example code for 1.15? Maybe I'll be able to then apply it to older versions myself.

  • Guest locked this topic
Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Make a test with another Launcher like the Curseforge Launcher, MultiMC or AT Launcher
    • can anyone help me i am opening forge and add modpacks and then it says unable to update native luancher and i redownlaod java and the luancher it self?
    • The problem occurs also in 1.20.1 Forge, but with an "Error executing task on client" instead. I have "Sinytra Connector" installed. On 1.21.5 Fabric, there is no problem. When this happens, the chat message before the death screen appears gets sent, with an extra dash added.
    • Well, as usual, it was user error. Naming mismatch in sounds.json.  Please delete this post if you find it necessary. 
    • Hello Forge community.  I'm running into an issue with a mod I'm working on.  To preface, I can call /playsound modId:name music @a and I can hear the sound I registered being played in game. Great!  However, I cannot get it to trigger via my mod code.    Registration: public static final RegistryObject<SoundEvent> A_WORLD_OF_MADNESS = SOUND_EVENTS.register("a_world_of_madness", () -> new SoundEvent(new ResourceLocation("tetheredsouls", "a_world_of_madness")));   Playback: Minecraft mc = Minecraft.getInstance(); if (!(mc.player instanceof LocalPlayer) || mc.level == null) return; LocalPlayer player = (LocalPlayer) mc.player; BlockPos pos = player.blockPosition(); SoundEvent track = ModSounds.A_WORLD_OF_MADNESS.get(); System.out.println(track); System.out.println(pos); System.out.println(player); // play exactly like the tutorial: client-only, at the player's position try { mc.level.playLocalSound( player.getX(), player.getY(), player.getZ(), track, SoundSource.MUSIC, // Or MASTER if needed 1f, 1f, false ); System.out.println("[DEBUG] playSound success: " + track.getLocation()); } catch (Exception e) { System.err.println("[ERROR] Failed to play sound: " + track.getLocation()); e.printStackTrace(); } Sounds.json:   { "theme_of_laura": { "category": "music", "sounds": [ { "name": "tetheredsouls:a_world_of_madness", "stream": true } ] } } Things I have tried: - multiple .ogg files. Short .ogg files (5 seconds, <100KB).  - default minecraft sounds imported from import net.minecraft.sounds.SoundEvents; These work given my code. No idea why these are different.  - playSound() method, as well as several others in past iterations that did not work   I would be forever grateful if somebody could point me in the right direction. I've looked at several mod github repositories and found extremely similar code to what I'm doing. I've also found several threads in this forum that did not solve my issue. I just cannot figure out what I'm doing differently, and why I'm able to queue sounds manually with playsound but the code won't play it (despite confirming the code is being run with the debug statements.)
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.