maruohon / malilib

Library mod for masa's client-side Minecraft mods
GNU Lesser General Public License v3.0
294 stars 125 forks source link

1.19 support #84

Closed Yoad1704 closed 1 year ago

Yoad1704 commented 2 years ago

Hi, I've been using this mod for a while and now when 1.19 is out I want to use it there as well. Any chance to update it soon?

maxima-ops commented 2 years ago

@maruohon I am happy to give you a hand if you need it. I am a multi-lingual programmer by trade (on like 8 or 9 now I lose count maybe even 10 as I made my own a few years back :P) with 3 years of java. No modding exp, however, my job usually entails doing the types of complex problems that have not been done before and thus I need to pick up new frameworks quickly and often.

I saw on some of the other duplicate issues you had some IRL stuff going on, so I just figured I would offer a helping hand if you need it. Figured I would leave a message on here due to this mod being a dependency for others as a good place to start if you do want a little help.

Regardless Peace ☮️ Love ❤️ and Blocks 🧊

HeyBanditoz commented 2 years ago

@maruohon I am happy to give you a hand if you need it. I am a multi-lingual programmer by trade (on like 8 or 9 now I lose count maybe even 10 as I made my own a few years back :P) with 3 years of java. No modding exp, however, my job usually entails doing the types of complex problems that have not been done before and thus I need to pick up new frameworks quickly and often.

I saw on some of the other duplicate issues you had some IRL stuff going on, so I just figured I would offer a helping hand if you need it. Figured I would leave a message on here due to this mod being a dependency for others as a good place to start if you do want a little help.

Regardless Peace ☮️ Love ❤️ and Blocks 🧊

I say do it and throw up PRs. From what I could tell is mostly all the text components being moved from constructors to static of() calls, and some privatizing of class fields.

Update the project stuff to 1.19 (fabric has a version page to get the version numbers for you) and see what doesn't compile is what I do at least

DuncanRuns commented 2 years ago

Please take a look at masa's message on the curseforge page: https://www.curseforge.com/minecraft/mc-mods/malilib

maruohon commented 2 years ago

@Yoad1704 Do you mean from a mod developer or end user point of view? if you are a mod developer using malilib, then the 1.19 versions will be vastly different from the previous/current 1.13 - 1.18.2 versions/code. You might want to join my Discord in that case, there is a channel for malilib development related discussions, and also a couple of other mod developers using malilib hang out there.

@Pepsimax1332 Thanks for the offer :) The thing is though, that I just have a "vague" todo list with lots of line items of things that need to be done. But I doubt those short description would tell anything, or at least nearly enough for anyone else who is not extremely closely familiar with the current state and structure of the code. And I don't ever really have any kind of concrete and clear picture and design of anything beforehand, I usually start working on stuff with some rough outline in my head of how it's going to work, and then the thing/system is shaped while working on it and staring at the code and seeing what needs to go where and how for it to do what I need it to do.

And the other thing is, I don't want my "modding" to turn into managing other people, even if there were people willing to work on stuff for free. I mostly enjoy coding, and making things out of nothing and getting things to work the way I want them to work, by doing/implementing stuff myself. I'm already spending way too much time on user support and answering questions on multiple platforms, which takes time out of coding. If the coding part would be (largely) delegated to other people, then there wouldn't be much left for me that I actually enjoy doing, and then I could as well go do something else than modding.

I know this is an unfortunate situation from any mod end user's point of view... As it means that often progress is rather slow and things that get requested take a very long time to actually get implemented or at least to arrive in the version most people are using (the latest release MC version). (As the main development version is still the liteloader_1.12.2 branch of the client mods, and any major new systems and large changes need to go there first. Some smaller stuff gets "temporarily" added to the latest versions first, but that means I need to remember to backport all of those to the 1.12.2 version before I next port that code forward.)

@HeyBanditoz I added a large red text to the CurseForge mod projects yesterday that kind of explains what my plan is for the 1.19 ports this time around. And it's to port the main development code from 1.12.2 to 1.19, and not to port the previous 1.18.2 versions to 1.19. One large reason for this is that quite often people request or ask about ways to limit some of the mod functionality and disable certain features on servers. The new malilib (being worked on in 1.12.2) supports servers locking configs to a given value, which allows for example disabling some features that a given server doesn't want player's to use, such as Easy Place mode from Litematica. For this system to make any sense, there shouldn't be easily available versions of the mods without this functionality, which means no "temporary 1.18.2 to 1.19 ports first". (And yes I know this system is not secure in any way, anyone with a bit of coding experience can figure out how to disable this very easily, but if people want to against the server rules and "cheat", then they should at least put in the effort to bypass the system themselves.)

DanielFeak commented 2 years ago

Having upgraded my private server to 1.19, I find myself unable to pursue any large project at rapid speed. No matter it is redstone-oriented or building-oriented, I cannot build them quickly enough without the help of litematrica. Playing the game also becomes more difficult without freecam or gamma override. Keep up refactoring the code and wish you finish it ASAP.

maruohon commented 2 years ago

There are community maintained ports of the previous 1.18.2 mod versions to 1.19 in here: https://kosma.pl/masamods/

I now have the new malilib running in 1.19, but it will still take an unknown amount of time before the other mods get ported and are running properly on 1.19 using the newer code. And I'm not in a huge hurry (as in I'm not trying to panic and work myself to immediate burnout) since those old versions are usable and available for now.