Skip to content

Addon Mods

Provi edited this page Aug 17, 2024 · 1 revision

Adding VMC-MC To Your Workspace

The VMC-MC dependency is available via jitpack.io.

Add the following to your build.gradle:

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    modImplementation 'com.github.Provismet:VMC-MC:${project.vmcmc_version}'
}

Then add the version number to your gradle.properties:

vmcmc_version = 0.4.2

(Replace 0.4.2 with whichever version you want to use.)

Entrypoint

Using the entrypoint is optional, but highly recommended for your convenience and to provide better mod compatibility. VMC-MC provides an entrypoint for other mods to use.

Create a class that implements VmcApi and implement the onInitializeVMC method to perform any VMC-MC related actions, this method will be called once when VMC-MC is initialised. It is recommended that this be separate from your main class if you intend for this to be an optional dependency.

Add the following to your fabric.mod.json:

"entrypoints": {
  "vmc-mc": [
    "path.to.your.vmc.initializer"
  ]
}

Registering Blendshapes and Blendstores

All blendshapes, blendstores, and bones (currently non-functional), are registered in the CaptureRegistry.

  • CaptureRegistry.registerBlendShape
    • Takes an identifier and a lambda (MinecraftClient -> float).
    • The MinecraftClient contains a reference to the player and world.
      • Blendshapes are only resolved when neither of these are null. There is no need to perform null checks in the lambda.
  • CaptureRegistry.registerBlendstore
    • Takes an identifier and a blendstore object.
    • Blendstores are triggered through the Blendstore#activate method, there is no callback for this and it must be setup manually. See here for an example.
Clone this wiki locally