So Let's Set The Ore On Fire
- 2 Devlogs
- 1 Total hours
A Minecraft mod that adds corresponding fire types for copper, iron, and red stone!
A Minecraft mod that adds corresponding fire types for copper, iron, and red stone!
So the jar actually only contained the code for the mod loader client, and not the common code. Oops.
Thanks to some help in the Architectury discord, I found that I needed to upgrade to another “shadow” gradle plugin (on another ID) and also apply some changes. Now everything is correct.
Since I messed up, I made a new release (1.0.3), and it also gave me the chance to update the repository information since I changed my GitHub name from ItzSwirlz to JPeisach (I think I’d prefer “jpeisach” but I don’t know if I can be that specific - regardless, the url is case insensitive).
After skipping 26.1 because Architectury (mod loader abstraction library) didn’t have a version available (as far as I knew), and since the update was well.. nothing interesting, since one now exists for 26.2 I took the time to port SLSTOOF (So Let’s Set The Ore On Fire) to 26.2.
SLSTOOF is a mod that adds the other kinds of fire types. In real life, if you light copper on fire, the color actually ends up being a little bit light-blueish. For example, Copper Torches. I think Mojang did this in education edition, but not in Java. They would eventually add it (and I would need to create “aliases” to automatically migrate world blocks from the mod’s copper torch to the game’s copper torch, but that happened pre-Star dance). Iron also lights a bit more “yellowish”, and also, since redstone torches are red, I made redstone fire “red”.
Aside from the “fire block” that is made depending on which surface you light the fire on, I also took the time to place in the missing torches and campfires. I also made the redstone campfire emit signal :)
You can also see that I put in GameTest tests. For now, I just did basic flame ignition. In the future, I could add more to ensure things like crafting or item drops work. But believe me, this is useful for when you have to make a minor upgrade and don’t want to have to start the game to check if anything broke.
The main headaches were:
Just some manual configurations like using JAVA_HOME to specify which Java version to use. It took me an embarrassing long time to realize that the “unsupported major class version” errors were because of this.
Gradle was updated to 9.5.0.
Architectury Loom (fork of Fabric Loom, which I think helps manages dependencies and mod toolchain but I forgot), had also gotten updates. Same with the Architectury Gradle Plugin. Since obfuscation is no longer a thing, I had to tell gradle to stop complaining about the lack of “mappings” dependency, and I also had to bounce around snapshot versions of Architectury Loom until I found the solution for porting my project, because official docs for porting had not been updated yet and neither had the mod template generator.
By combing through Discord messages on the Architectury Discord, and lots of trial and error, I eventually got things to work.
Access Wideners: named -> “official” (also required a change in gradle config)
RenderTypeRegistry was used to ensure that the blocks that do not take up entire 1x1x1 spaces, like torches and campfires, don’t get registered as such. Otherwise they have a black border above the actual texture.
It seems that this is no longer needed, as I can just set the Campfire BlockEntityType list to include my custom campfires - and everything else seems to not be affected. Go Mojang refactoring, I guess?
Anyways, it worked out. I think another class was renamed in the Fabric/Neoforge side of things, but I tested everything and all is good.
After missing 26.1, I was a little worried - I thought that I may have to switch to Balm, another mod loader abstraction library, in hopes that it would be more up to date. But, probably since college has ended, people had time to work on it and I am now able to deliver only two days after release, which is pretty good.
The ported versions of the mod are now available on GitHub and Modrinth for Fabric and NeoForge.
Happy porting and world upgrading everyone! (Oh and thanks Zed for not counting the like, hour I think, I spent fighting with Gradle before I switched to IntelliJ, maybe rerunning the Hackatime install script did something, but nevertheless it’s about 37 minutes of actual “code” time).