Jump to content

Recommended Posts

Posted (edited)

Hi, I am working on porting a mod from 1.7.10 to 1.8.9. I have everything finished except for one method that must have changed from 1.7.10 to 1.8.9.

The method onNetworkTick and onConnectionStateTransition. After checking the methods.csvs for 1.7.10 and 1.8.9, I noticed they are only in 1.7. I was wondering if anyone knew the updated method? I have looked around and could not get any help.

Is there a website where I can find what's new for tasks like this in the future?

Any help is greatly appreciated. Thanks!

Edited by Uselessness
Posted
  On 10/1/2017 at 11:24 AM, diesieben07 said:
  • Don't use 1.8.9. Update to 1.12.x.
  • Both of these methods should never be needed by a mod. What on earth are you doing?
Expand  

I am porting a mod, not making one. I am not sure what the methods are actually doing. Also, 1.8.9 is the version that a lot of people are requesting this mod for so I am not using 1.12.

Posted

Well you can only really figure out the new methods if you know what the old ones were doing. There are some things that are simple changes (like just new name for method) between versions, but other things are majorly different. Like maybe you need to start using separate thread for networking, maybe the code now has to start using blockstates and so forth.

 

But if you insist, then what you need to do is load up both versions in your IDE (like Eclipse). In the 1.7.10 referenced libraries find those methods and figure out which class they are in, which parameters and such and even where roughly they are listed within the class. Then in the 1.8.9 referenced libraries look in the same area to see if they are simply re-named or if there is something similar that looks like it forms the same function. You can also go through the type hierarchy for the class and scan the names of all the methods to see if there is anything that looks promising.

 

If it wasn't a simple change to the name or parameter list, then it might be a more major change. In that case you should look up the change lists for the method name and see if someone commented on removing it and gave hint on what replaces it.

 

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Posted
  On 10/3/2017 at 7:49 PM, diesieben07 said:

Ehm, those methods are not required to do that. 

Do you mean the mod automatically sends /time commands? Or do you mean it just hides the fact that it's night?

Expand  

Makes the sky appear as day or night for you. Pm me if you wanna take a look at the code if you think you can help.

  • 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.