Download SPC Babric — Minecraft Mods — MetaMods
SPC Babric

SPC Babric

Active

Downloads

0

Last update

1 year ago

Versions

b1.7.3
Client
Fabric
Utils

SPC Babric - Single Player Commands for Babric (b1.7.3)

Autofill Summon Command

This mod provides an advanced command system that works not only in single player but also on servers. It features a flexible API for developers and doesn't require additional dependencies for basic functionality.

Additional Features

Optional dependencies are available to extend functionality:

  • Install STAPI to access /tp command with dimension support
  • BHCreative is required to use the /gamemode command

Command Help

A complete list of available commands can be viewed directly in the game using the /help command.

Developer API

Important: It's recommended to make SPC an optional dependency!

Adding to build.gradle:

repositories {
    maven {
        name = "Jitpack"
        url "https://jitpack.io/"
    }
}

dependencies {
    modImplementation('com.github.matthewperiut:spc-babric:0.4.3') {
        transitive false
    }
}

In fabric.mod.json:

  "suggests": {
    "spc": "*"
  },

In mod initialization code:

public static void init_of_some_sort()
{
    if (FabricLoader.getInstance().isModLoaded("spc")){
        MyModsCommands.add();
    }
}

Implement the com.matthewperiut.api.Command interface and register the command through com.matthewperiut.api.CommandRegistry using the call CommandRegistry.add(new Command()), where instead of new Command() you substitute your custom command.

Adding Summon Commands for Your Own Entities

Use com.matthewperiut.api.SummonRegistry and the SummonRegistry.add(...) method

Examples from com.matthewperiut.spc.util.VanillaMobs:

SummonRegistry.add(Creeper.class, (level, pos, param) -> {
    Creeper creeper = new Creeper(level);

    if (param.length > 5)
        if (!param[5].isEmpty())
            if (param[5].charAt(0) != '0')
                ((EntityAccessor) creeper).getDataTracker().setInt(17, (byte) 1);

    return creeper;
}, "{charged (0 or 1)}");

SummonRegistry.add(Sheep.class, (level, pos, param) -> {
    int color = Integer.parseInt(param[5]);
    int has_wool = 1;
    if (param.length > 6)
        has_wool = Integer.parseInt(param[6]);
    Sheep sheep = new Sheep(level);
    sheep.setSheared(has_wool == 0);
    sheep.setColour(color);
    return sheep;
}, "{wool color meta} {has wool (0/1)} ");
Project members
Slainlight

Slainlight

Developer

Created: 25 Mar 2024

ID: 15385