Jump to content

Where does FML remove useless ModCandidates?


DaPorkchop_

Recommended Posts

I'm working on a mod to allow 1.7 mods to run on 1.8, and the only thing that seems to be holding me back at this point is recognizing the legacy mod as something that can be launched.  The idea is that once the 1.7 mod is a ModCandidate, then I can quickly intervene (maybe a bit of ASM to fire an event when all the mods are candidates) and then load them into an array.  Then using a placeholder mod which has all the normal Forge EventHandlers I can call the mods as the need comes.  However, even after quite a bit of digging around inside FML, I still haven't found the code which filters out the ModCandidates, and therefore don't know where my code needs to run.  Anybody here know what class (or even better, what function) the removal of useless mods happens at???

"Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why."

                           -- Unknown

Link to comment
Share on other sites

This is not the answer, just side opinion: Your plan is pretty much impossible. Only thing that would work (1.7 mods on 1.8+) this way would be mods that use only some of forge API (which also changed) and very few parts of vanilla that also didn't change.

 

No to mention the fact that there are 4 threads on 1.8+ (while in older there are 2) and pretty much everything is overhauled.

 

Seriously - waste of time.

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

It's not intended as a fully functional system, just a test to see if it COULD work.  The idea is that I create classes for all the old 1.7 things (i.e. cpw.mods.whatever) and redirect calls to their 1.8 equvalents (or add stuff to make it work, or just leave empty functions).  I know that it probaby won't work and definitely will never be fully functional, but it's worth a try. :P

"Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why."

                           -- Unknown

Link to comment
Share on other sites

It won't :) I'd rather start new religion and go across the world preaching "Update you mods, people!" than choose to spend equivalent time writing porting system that won't even fully work and before it is even finished - there'd alredy be MC 1.10 and 1.7 would not be even in use anymore.

 

The fact that there are separate network threads on 1.8 is enough to pretty much kill everything you want.

 

Seriosuly, if you know ASM then you are pretty skillful - it is just time badly invested, even if it would be "just to learn" - stuff like this will not really apply anywhere else.

 

Sorry for being such a "NO-Man", but I am trying to save you from yourself.

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

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



×
×
  • Create New...

Important Information

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