Thaumcraft

Thaumcraft

59M Downloads

Request to "remake the mod" [Read]

RibsyCC opened this issue · 17 comments

commented

I don't have much of a clue of java coding and I am very aware about how hard it is, but as we know Azanor moved on on coding Thaumcraft (and baubles).
But, we can "remake" the mod, so newer versions can support it, maybe porting maybe just making it from scratch (wich would be a pain). Sure is a crazy idea from just another fan of the mod who does not have any idea of how painful is coding java. But I leave my idea here.

commented

I don't have much of a clue of java coding and I am very aware about how hard it is, but as we know Azanor moved on on coding Thaumcraft (and baubles). But, we can "remake" the mod, so newer versions can support it, maybe porting maybe just making it from scratch (wich would be a pain). Sure is a crazy idea from just another fan of the mod who does not have any idea of how painful is coding java. But I leave my idea here.

i'm in

commented

@RibsyCC i just don't have much clue what to add to mod and when we found a finish line porting mod for other versions

commented

@RibsyCC i just don't have much clue what to add to mod and when we found a finish line porting mod for other versions

Im in too. still checking baubles's code. I suppose i can update it into a newer version.

commented

@RibsyCC i just don't have much clue what to add to mod and when we found a finish line porting mod for other versions

Im in too. still checking baubles's code. I suppose i can update it into a newer version.

yeah but this is only an API not mod itself

commented

i can easily get models and resources but not the code

commented

TL;DR:
If the obfuscation in the jar is not extreme, I think upgrading to newer minecraft versions should work (but be a pain for experienced modders). Adding new things or rewriting without starting from scratch might prove almost impossible.

The code is just the (obfuscated) jar, which you can decompile in intellij/eclipse easily. Afaik you should be able to edit and recompile it just fine, which means theoretically everything is possible.
However the jar is probably obfuscated, which means variable, method, and class names might be garbled in the code, making the code very hard to read and understand. Obviously the more garbling was performed, the harder it will be to work with the code and understand what it is doing. If I am not mistaken all data types should still be there, thus it should be possible to upgrade the mod by matching method headers, fixing bugs and compiling it again, although it will still be a pain.
If just the variable names are garbled it might even be possible to add new things, but it all depends on the complexity of the mod itself.
I might have a look at the jar and see if I can gather more knowledge to see whether it might be worth a shot upgrading it :)

commented

TL;DR: If the obfuscation in the jar is not extreme, I think upgrading to newer minecraft versions should work (but be a pain for experienced modders). Adding new things or rewriting without starting from scratch might prove almost impossible.

The code is just the (obfuscated) jar, which you can decompile in intellij/eclipse easily. Afaik you should be able to edit and recompile it just fine, which means theoretically everything is possible. However the jar is probably obfuscated, which means variable, method, and class names might be garbled in the code, making the code very hard to read and understand. Obviously the more garbling was performed, the harder it will be to work with the code and understand what it is doing. If I am not mistaken all data types should still be there, thus it should be possible to upgrade the mod by matching method headers, fixing bugs and compiling it again, although it will still be a pain. If just the variable names are garbled it might even be possible to add new things, but it all depends on the complexity of the mod itself. I might have a look at the jar and see if I can gather more knowledge to see whether it might be worth a shot upgrading it :)

the only public code is this repository which is only the api

commented

I've never said public code. I mean the jar (compiled code) which you can decompile (transform from machine readable 0's and 1's to human readable program code text) and maybe get not completely gibberish source code wot work with.

commented

I've never said public code. I mean the jar (compiled code) which you can decompile (transform from machine readable 0's and 1's to human readable program code text) and maybe get not completely gibberish source code wot work with.

i'm trying recreate the mod actually

commented

i'm trying recreate the mod actually

this is really cool! Do you have a repository or something people can collaborate on? I would be willing to help after I'm done with fixing another mod :)

commented

I learned that the CoFH team has been working on the redesign of the mod for over a year. Therefore, there is no point in trying to recreate the mod again. This is engaged other developers who have an agreement from the author of mod.

commented

i'm trying recreate the mod actually

this is really cool! Do you have a repository or something people can collaborate on? I would be willing to help after I'm done with fixing another mod :)

i'm working on baubles api for minecraft 1.16.5, you can check here.
i'm actually trying make a mod to test it but i'm not having much time

commented

i'm trying recreate the mod actually

this is really cool! Do you have a repository or something people can collaborate on? I would be willing to help after I'm done with fixing another mod :)

i'm working on baubles api for minecraft 1.16.5, you can check here. i'm actually trying make a mod to test it but i'm not having much time

@Felicis i cam send you deofuscated code but you'll have to migrate to the new forgen API
discord: gabriel8806

commented

I hate to dig up a two-year-old issue, but seeing as it's still Open, I wanted to add a couple of things. Me and my buddy have also been working on a port. The jars are not obfuscated too heavily, so after deobfuscation, it's relatively easy to tell what each class, method, variable, parameter, etc. is trying to do.
With that said, things have changed so dramatically with the MC libraries (especially the way the entities and world interact) that it is nearly impossible to simply decompile and then recompile. At first, we attempted to create a shim library, but so much has changed with MC that the shim methods were ending up as almost an entirely new mod on its own. We concluded it was just easier to re-write from the ground up. Since it's purely a passion project, not a lot has been accomplished yet, so I wanted to throw all this out here for anyone else who might be thinking about porting it.

commented

I hate to dig up a two-year-old issue, but seeing as it's still Open, I wanted to add a couple of things. Me and my buddy have also been working on a port. The jars are not obfuscated too heavily, so after deobfuscation, it's relatively easy to tell what each class, method, variable, parameter, etc. is trying to do. With that said, things have changed so dramatically with the MC libraries (especially the way the entities and world interact) that it is nearly impossible to simply decompile and then recompile. At first, we attempted to create a shim library, but so much has changed with MC that the shim methods were ending up as almost an entirely new mod on its own. We concluded it was just easier to re-write from the ground up. Since it's purely a passion project, not a lot has been accomplished yet, so I wanted to throw all this out here for anyone else who might be thinking about porting it.

i was porting baubles with some modifications uisng architectury and having some issues(crahsing when RMB baubles items to equip)(this is for 1.18.2)
BaublesReborn and was porting thaumcraft too

commented

I hate to dig up a two-year-old issue, but seeing as it's still Open, I wanted to add a couple of things. Me and my buddy have also been working on a port. The jars are not obfuscated too heavily, so after deobfuscation, it's relatively easy to tell what each class, method, variable, parameter, etc. is trying to do. With that said, things have changed so dramatically with the MC libraries (especially the way the entities and world interact) that it is nearly impossible to simply decompile and then recompile. At first, we attempted to create a shim library, but so much has changed with MC that the shim methods were ending up as almost an entirely new mod on its own. We concluded it was just easier to re-write from the ground up. Since it's purely a passion project, not a lot has been accomplished yet, so I wanted to throw all this out here for anyone else who might be thinking about porting it.

i was porting baubles with some modifications uisng architectury and having some issues(crahsing when RMB baubles items to equip)(this is for 1.18.2) BaublesReborn and was porting thaumcraft too

i'm bringing back tinkers construct health canisters as well

commented

I hate to dig up a two-year-old issue, but seeing as it's still Open, I wanted to add a couple of things. Me and my buddy have also been working on a port. The jars are not obfuscated too heavily, so after deobfuscation, it's relatively easy to tell what each class, method, variable, parameter, etc. is trying to do.
With that said, things have changed so dramatically with the MC libraries (especially the way the entities and world interact) that it is nearly impossible to simply decompile and then recompile. At first, we attempted to create a shim library, but so much has changed with MC that the shim methods were ending up as almost an entirely new mod on its own. We concluded it was just easier to re-write from the ground up. Since it's purely a passion project, not a lot has been accomplished yet, so I wanted to throw all this out here for anyone else who might be thinking about porting it.

I just have saw that COFH is working on thaumcraft VII