Open Diclo opened 5 years ago
I'm probably not going to target fabric due to the differences in class names. I'm more likely to target forge for 1.14, though I don't have a specific time when that will happen.
It seems like Fabric uses a different set of mappings called Yarn while Liteloader and Forge use the mappings provided by MCP.
Yea true, I'd really like a version for fabric, that would be sooo useful, even if it seems to be a lot of work, It could be worth it to add fabric and forge someday 🤷♂
+1 for a Fabric version of WDL. Yarn is completely open in terms of licencing BTW. https://github.com/FabricMC/yarn
Yarn also completely mismatches all of the existing code in the mod which is why it's not likely for me to target it any time soon (forge at least will let me re-use most stuff, including the unit tests).
Took a stab at making a fabric "port", copied over the old mixins from 1.12.2, updated them for 1.14.4 and yarn mappings. Mostly just a proof of concept at this point. A possible way to make it easier to support fabric would be to just keep producing a baseedit, remap the baseedit to fabric's intermediary/named mappings, and then just compile the mixins part under fabric's loom gradle system, merge the the two together.
Here's a copy of my ported mixins: https://github.com/gamax92/WorldDownloader-Fabric
And compiled version: mod-fabricwdl-4.0.5.3-mc1.14.4.jar
work likes
Thank you @gamax92 This is a HUGE step forward!
Huh, I hadn't thought about doing it like that; that seems like a pretty convenient approach. Great idea!
That solution seems like a good approach. Would love to see it being used officially though.
I'll look into integrating something like this into the main code over the weekend. The main challenge is automating the process, but I think that's doable (I already have a fair bit of weird remapping code in begradle; a bit more won't hurt). The main difficulty with this approach is that you don't have source code you can edit for fabric; you can only edit the base edit code. But I don't think that matters too much (and the only other approach I could thing (remapping the source code) would still have generated files you wouldn't be able to edit). There are also the unit tests, but I think it would be possible to just compile them and remap them like the main mod code.
In the mean time: @gamax92, would you mind if I linked that in the main forum post (or maybe just a reply to it, not sure which is better for this) as an experimental build?
Currently, the WDL button doesn't align with the rest of the menu UI, I believe this is caused by ModMenu.
Without ModMenu:
Hmm, I never thought about renaming MCP mappings to Fabric mappings in the jar files. I was thinking about using the MCP mappings directly in Fabric, so there isn't an additional renaming step.
The jar I made will complain about invalid hashes since well, they're all been converted to intermediary mappings, but feel free to link it. Using the MCP mappings in Fabric still has the issue that the baseedit and the old liteloader mod used minecraft jar naming while fabric mods end up as intermediary namings.
Also important to note, I have to manually edit the refmap atm since I can't get the mixin to target the GameMenuScreen.method_19836()
EDIT: I realized this was probably due to my wdl jar having minecraft classes inside of it, so this will likely not be an issue for you once it's properly integrated into the build system
Sorry to annoy, but has there been any more progress on this issue?
I've been pretty busy lately and haven't made much progress, but I am working on it as I have time.
Thanks for the reply, we do appreciate your effort!
On Thu, Nov 14, 2019, 4:00 PM Pokechu22 notifications@github.com wrote:
I've been pretty busy lately and haven't made much progress, but I am working on it as I have time.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Pokechu22/WorldDownloader/issues/133?email_source=notifications&email_token=AFYTD5HW7DHMJGKKUJAX5DDQTXRCZA5CNFSM4IHOQMU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEDYVYQ#issuecomment-554142434, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFYTD5FQUX5JPAPWICXGAD3QTXRCZANCNFSM4IHOQMUQ .
Hi again, has there been any progress since last time?
Unfortunately not much; I've been busy with classes again. I'll try to get some progress made over the coming long weekend.
That's okay, real life comes first ;), thanks for the update!
I don't want to bother you because you are busy and this question has been asked several times in this thread, but will there be any potential fabric 1.15.2 version of WDL? As the code that @gamax92 has in his Fabric WDL Repo is for Minecraft 1.14.4. Anyways, thanks for the efforts in developing WDL.
I plan on targeting both 1.14.4 and 1.15.2 with the port; the same technique should work for both. I don't think it'd be super necessary to target the other minor versions in the ports since I don't think forge or fabric are maintaining them (and I don't want to introduce 16 new versions that all have to be built when most wouldn't be useful; the base edit build should cover the rare case that a server is on one of those minor versions).
Thank you for your answer and for sharing the plans on fabric.
If I correctly understand about Minor versions (For example 1.14-1.14.3 and 1.15-1.15.1), I totally agree with you that they are not needed for Fabric/Forge Builds. Are you referring to @gamax92 technique on porting the mod to fabric?
Thank you for your time and have a great weekend.
Any news on this? @gamax92 does not seem to be updating his branch ever since the initial commit.
Getting 1.16.1/1.16.2 working is the biggest priority, which will be followed by getting 1.16.x forge working (since that shouldn't take much more effort once 1.16.x base-edit works), and then I'll work on this. I've been busy lately and don't have an ETA for any of these steps though.
Any news? I have been trying to port @gamax92 's version to 1.16.3 now, but i'm not very experienced and I don't know how to update mixins. I believe I have the rest of the stuff ported, but I cannot test it.
I've been busy with class lately so I haven't made many changes. I do hope to get a proper fabric build out along the same time 1.16.4 releases but I can't be sure of it (a current bigger goal is to get the protocol documentation on wiki.vg merged and up to date since the current situation there is pretty jank).
Hi! it's been some time since your last message,anything new? :)
If there isn't any new message, there is no new news.
Yeah, unfortunately no new news with regards to fabric. I've done some work on the base 1.16.4 version, and wiki.vg is mostly updated now (for both releases and snapshots, though I still need to do a check-over to make sure things are merged), but I'm still quite busy and haven't made much progress here. I know this is a thing that a lot of people want, and I wish I were less busy, but I don't know when that'll happen.
Do you know any developers in your circle that could assist in getting this finished?
On Wed, Nov 18, 2020, 3:59 PM Pokechu22 notifications@github.com wrote:
Yeah, unfortunately no new news with regards to fabric. I've done some work on the base 1.16.4 version, and wiki.vg is mostly updated now (for both releases and snapshots, though I still need to do a check-over to make sure things are merged), but I'm still quite busy and haven't made much progress here. I know this is a thing that a lot of people want, and I wish I were less busy, but I don't know when that'll happen.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Pokechu22/WorldDownloader/issues/133#issuecomment-730032568, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFYTD5A53T3TVWZOX6PDUUDSQRNUPANCNFSM4IHOQMUQ .
@gamax92 Is there any possibility that you could update the mixins you ported over to 1.16.4?
That would be amazing ! Keep the good work, changing from fabric to forge for this is alright for the moment but a tiny bummer :)
I just found #206 and this issue seems to be the current fabric WDL thread, so I'd like to leave my experience here. It is possible to use the base-edit WDL (via MultiMC) with serveral other fabric mods and most of them work fine. I only found two mods, which don't work:
I just wanted to leave a little context here. Sodium, Lithium and Phosphor are performance mods using the fabric modloader. In this case sodium is the curpit, as it changes how chunks are processed. Temporaily disableing this Sodium allows base-edit WDL to function properly.
also optifabric causes issues, hitting download world crashes game
good luck
there is going to be huge demand for a fabric version soon
There pretty much already is a high demand, the problem is that the dev(s) do not have the time to work on this unfortunately.
Hey sorry for bugging you 2 years after OP but is there any new updates? I'd be really cool if this worded out.
2 years... yikes, time has gone by quickly. I've still been fairly busy lately and still am backlogged with several things (including updating the 1.17 protocol documentation, which is now 11 weeks out of date), but this is still something that I want to work on. Apologies to everyone who's waiting on this that I still don't know when I'll have time to work on it.
2 years... yikes, time has gone by quickly. I've still been fairly busy lately and still am backlogged with several things (including updating the 1.17 protocol documentation, which is now 11 weeks out of date), but this is still something that I want to work on. Apologies to everyone who's waiting on this that I still don't know when I'll have time to work on it.
not having time to work on stuff is fine lol
I've made a full Fabric 1.16.5 port here: https://github.com/IMS212/WorldDownloader/tree/fabric
Compiled build: https://github.com/IMS212/WorldDownloader/raw/fabric/mod-fabricwdl-4.1.1.0-mc1.16.5.jar
Well done! What technique did you use for it? Manual porting of the code to use a new naming scheme, or something more fancy?
Manual porting of the code (still using MCP mappings), then an automatic rename to mojang mappings. This is definitely one of the harder ways to do it, but it seems to work quite well.
Sadly, i've managed to find many issues with the port i just made, so i don't recomend using it full time for now. (It can download worlds fine, but trying to play with it causes issues.)
Thank you do much for doing this @IMS212 any chance you can compile it for 1.17?
Sadly, 1.17 seems to have many other issues I can’t fix currently.
Nice thanks for the port! I myself have been using a heavily modified version of bobby that allows auto-downloading of all worlds. Unfortunately with these modifications, only blocks are stored, no inventories or other data though sodium is supported.
@FlorianMichael nice, would you mind publishing it?
What was the point of telling us you made a 1.17 port if you aren't going to share that code?
Good, this was just to mention the idea of why the WDL port was not made to fabric.