Callisto Lib Wiki

Implementing
Data Generation
Misc
Q&A

    Welcome to the Callisto Lib Wiki

    Select a topic from the sidebar to get started!

    You can learn how to impliement the lib and use what it provides.


    By the way its pronounced kuh·li·stow

    Implementing

    This page will teach you how to impliment the api and use it

    and how to use it in your mods.


    Promo

    This is what you can use on your mod pages to show that your mod needs this Lib.

    Visit this link to get the html code.

    The promo looks like this:

    lib

    Importing the library maven:

    First open your "build.gradle", under repositories add the following:

    maven {
    		url "https://addi3.github.io/maven"
    
    		content {
    			includeGroup "com.lib"
    		}
    	}

    Now under dependencies add the following:

    modApi("com.lib:callisto:${project.callisto_version}") {
    		exclude(group: "net.fabricmc.fabric-api")}

    Now under processResources add the following:

    inputs.property "callisto_version", project.callisto_version

    Finally, if you have def expansionVars add the following:

    ,"callisto_version": project.callisto_version

    Now open your "gradle.properties" and add the following:

    callisto_version=VERSION-dev+mc.1.20.1

    It is very important that you replace "VERSION" with the latest one

    found on the Maven page!

    For example (as of December 20th 2025) it would be

    callisto_version=1.0.0-dev+mc.1.20.1

    Data Generation

    This page will show / teach you all datagen related features


    SoundProvider:

    First in your datagenerator class, under "onInitializeDataGenerator" add the following:

    pack.addProvider(this::addSounds);

    Then, anywhere outside of the initalizer part add the following:

    public CallistoLibSoundProvider addSounds(FabricDataOutput output) {
        CallistoLibSoundProvider soundProvider = new CallistoLibSoundProvider(output);
    
        soundProvider.addSound("SubTitle Name", ModSounds.SOUND_NAME);
        return soundProvider;
    }
    

    RecipeProvider:

    First in your datagenerator class, under "onInitializeDataGenerator" add the following:

    generateRecipes(pack);

    Then, anywhere outside of the initalizer part add the following:

     public void generateRecipes(FabricDataGenerator.Pack pack) {
            pack.addProvider((((output, registriesFuture) -> {
                CallistoLibRecipeProvider provider = new CallistoLibRecipeProvider(output);
    
              PUT RECIPES HERE
    
                return provider;
            })));
        }
    

    (This currently supports: shaped / shapeless crafting, smithing, stonecutting, blasting Recipes)

    Implementing

    This page will teach you how to impliment the api and use it

    and how to use it in your mods.


    Differing Hand Model Item:

    This is used for stuff like the spyglass. It can be used with ItemRenderer and ModelLoader mixins

    to allow for the "2D" in inventory, "3D" in hand effect.

    See here for mixin examples: ItemRendererMixin ModelLoaderMixin .


    Q&A

    I will try to answer as many questions as I can.

    If you have a question that isn't here, you can also ask on the GitHub page .


    Q: What does this add / do?

    - This adds a few providers and extra class that i will use in all my mods, including: SoundsProvider, RecipeProvider, DifferingHandModelItem.


    Q: Will this mod be ported to Forge or NeoForge?

    - Nope. I just don't have the time to maintain multiple mod versions. You can look at the `DEV TALK` page here for a detailed answer.


    Q: How do I get access to betas?

    - You can access betas via my Ko-fi page.


    Q: Can you add... / How do you use...?

    - You can suggest stuff on the GitHub issues page. I will try to answer any questions!


    Q: Can I toggle it on and off?

    - You can, with "G" by default (you can change that)