Skip to content

Meteor (Blood Magic: Alchemical Wizardry)

Description

Throwing an input catalyst atop an activated Mark of the Falling Tower Ritual will spawn a meteor made of the given components, size, explosion strength, and Life Essence cost.

Identifier

Refer to this via any of the following:

groovy
mods.bm.meteor
mods.bm.Meteor
mods.bloodmagic.meteor/* Used as page default */
mods.bloodmagic.Meteor

Adding Recipes

  • Adds recipes in the format catalyst, componentList, explosionStrength, radius, cost:

    groovy
    mods.bloodmagic.meteor.add(ItemStack, List<MeteorComponent>, float, int, int)

Recipe Builder

Just like other recipe types, the Meteor also uses a recipe builder.

Don't know what a builder is? Check the builder info page out.

mods.bloodmagic.meteor.recipeBuilder()
  • int. Sets the amount of Life Essence drained from the Blood Network to spawn the meteor. Requires greater than or equal to 0. (Default 1000000).

    groovy
    cost(int)
  • int. Sets the radius of the meteor. Requires greater than 0. (Default 0).

    groovy
    radius(int)
  • ItemStack. Sets the catalyst that must be thrown atop the Master Ritual Stone to spawn the meteor.

    groovy
    catalyst(ItemStack)
    catalystStack(ItemStack)
  • List<MeteorComponent>. Sets the blocks that make up the meteor, and what weight each block has to generate.

    groovy
    component(int, String)
    component(String, int)
    component(int, OreDictIngredient)
    component(OreDictIngredient, int)
  • float. Sets the strength of the explosion caused when the meteor is spawned. Requires greater than or equal to 0. (Default 0.0f).

    groovy
    explosionStrength(float)
  • First validates the builder, returning null and outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returns null or WayofTime.bloodmagic.meteor.Meteor).

    groovy
    register()
Example
groovy
mods.bloodmagic.meteor.recipeBuilder()
    .catalyst(item('minecraft:gold_ingot'))
    .component(ore('oreIron'), 10)
    .component(ore('oreDiamond'), 10)
    .component(ore('stone'), 70)
    .radius(7)
    .explosionStrength(10)
    .cost(1000)
    .register()

mods.bloodmagic.meteor.recipeBuilder()
    .catalyst(item('minecraft:clay'))
    .component('blockClay', 10)
    .radius(20)
    .explosionStrength(20)
    .register()

Removing Recipes

  • Removes all recipes that match the given input:

    groovy
    mods.bloodmagic.meteor.remove(ItemStack)
  • Removes all recipes that match the given input:

    groovy
    mods.bloodmagic.meteor.removeByCatalyst(ItemStack)
  • Removes all recipes that match the given input:

    groovy
    mods.bloodmagic.meteor.removeByInput(ItemStack)
  • Removes all registered recipes:

    groovy
    mods.bloodmagic.meteor.removeAll()
Example
groovy
mods.bloodmagic.meteor.remove(item('minecraft:diamond_block'))
mods.bloodmagic.meteor.removeByCatalyst(item('minecraft:iron_block'))
mods.bloodmagic.meteor.removeByInput(item('minecraft:gold_block'))
mods.bloodmagic.meteor.removeAll()

Getting the value of recipes

  • Iterates through every entry in the registry, with the ability to call remove on any element to remove it:

    groovy
    mods.bloodmagic.meteor.streamRecipes()

Contributors

Changelog

© 2024 CleanroomMC. All Rights Reserved.