NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

Utilizing Bazel to Create Minecraft Modpacks - Evan Prtten

Back in 2012, I got in to Minecraft mod development, and shortly thereafter I put together an almost-vanilla client-side modpack for myself that mostly contained rendering, UI, and quality-of life adjustments. Although the modpack was never named or published, it was maintained for a number of years until I quit playing Minecraft in 2016 when I upgraded to Minecraft 1.9. I was so used to the features of this modpack, that playing with a pure version of Minecraft was not a good idea.



Recently, a couple of friends invited me to join their private Minecraft server, and despite having not played for about four years, I decided to join. This was a bit of an error on their part, since they now get the pleasure of someone who used to main 1.6.4 constantly looking at things and asking "What is this and what is it?". I am starting to accept the new blocks, the complicated combat system, and the bizarre rendering system.



One major thing was still missing, however I was wondering where my modpack was? I decided to rebuild my old modpack, and finally gave it a name, CorePack. There's not much to be done, the rendering and UI mods are identical, as well as the same GLSL shading algorithms and similar textures. However, I did decide to take the "major step" and switch from the Forge Mod Loader to the Fabric Loader, since I prefer Fabric's API.



Curseforge & Bazel



Curseforge didn't exist back when I was playing regularly. It's a significant improvement over PlanetMinecraft forums, as it provides a clean way to access data about published Minecraft mods, and even has an API! Luckily, I upgraded to Fabric and all the mods I needed were accessible through curse. NEI seems to be gone.



My primary goal for the new version of CorePack was to design it in a way I could make an CI pipeline create new releases for me every time mods are updated. This involves pulling information from mods and their JAR files via the buildsystem script. This project requires working with huge amounts of data sourced from many external sources. I again chose Bazel, a build system that excels in these kinds of projects.



Curseforge is a great API for working with mod-data, however @WynPrice (a fellow mod developer) has created Curse Maven which I decided to use instead. Curse Maven is a serverless API that acts exactly like my Ultralight project. Any request for an artifact to Curse Maven will be redirected, and served from the Curseforge Maven server without the need to determine the long-form artifact identification numbers used internally by the.



Curse Maven makes it easy to load a mod (in this instance, fabric-api), into Bazel.



The above snippet uses a Bazel ruleset developed by Square, Inc. called bazel_maven_repository.



Modpack configuration



Since my pack was designed to work with MultiMC two sets of configuration files are needed. The first set tells MultiMC which versions of LWJGL and Minecraft to use. The second set is the game's configuration files. DEEP SPACE EXPLORATION A lot of these files contain information I would like to modify from Bazel during my modpack build. Luckily, the Starlark core library includes an action called expand_template.


Homepage: https://deepspaceii.com/
     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.