Jump to content

Recommended Posts

Posted

Hello,

 

I'm trying to write an ingame modupdate notifier/1-click mod updater and for this I need to restart Minecraft.

I wanted to look at the source of the GradleStart.class to see how the forge dev workspace starts it, but I can't find the source code anywhere.

(I looked at the local files and the Minecraftforge and ForgeGradle Github)

 

Is the sourcecode for those classes even public? If yes: where can I find it, if no: Can anyone tell me how I can start minecraft without the launcher (From command line)?

 

 

freundTech

Posted

If you really want to find GradleStart you can open the .class file and see the recreated source code in your IDE. In IDEA, you would do ctrl + shift + n, type in GradleStart and there it is. Although diesieben07's answers seems really good to me.

just you wait! ;)

Posted

Thanks. I think I know what I have to do now.

 

In case anyone else is trying to figure out how to get the commandline arguments (Took me quite a while to figure out, because I couldn't find it on google):

import net.minecraft.launchwrapper.Launch;

Launch.blackboard.get("ArgumentList");

Posted

Ok. Making progress almost everything works. (In my dev env everything works, but when exported not).

 

The problem is, that the natives are missing. I noticed that, when minecraft is being started a natives folder is created inside ~/.minecraft/versions/<forgeversion>.

This folder is deleted when minecraft is being shutdown.

When I now try to restart it it won't start, because the natives are missing.

 

What is putting the natives there (I guess it's the launcher) and how is it putting them there? Can this be triggered by a program or do I have to search and copy them manually?

 

(Edit: Also when searching through .minecraft those are the only files with those names. So where are they from?)

 

(Edit2: Launcher profile states

16:13:04 INFO]: Unpacking natives to /home/******/.minecraft/versions/1.8-Forge11.14.0.1296/1.8-Forge11.14.0.1296-natives-5775183669701

But where are they being unpacked from?)

 

(Edit3: Found them. They are packed into jars at /home/******/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl-platform/2.9.1/lwjgl-platform-2.9.1-natives-linux.jar and /home/******/.minecraft/libraries/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux.jar. Anyone can tell me how they are named on Windows? (I can check Mac myself.))

Posted

just replace natives-linux with natives-windows :P

If I ever say something stupid, or simply incorrect, please excuse me. I don't know anything about 1.8 modding, and I don't know much about entities either, But I try to help when I can.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

  Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

  Your link has been automatically embedded.   Display as a link instead

  Your previous content has been restored.   Clear editor

  You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • 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.)
    • Delete the tensura-reincarnated/common.toml file (config folder)
  • Topics

  • Create New...

Important Information

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