KubeJSMinestuck

Quick rating

Community listing page, reviews here may not be monitored by the author.

KubeJSMinestuck

No reviews yet

Adds KubeJS Integration for the Minestuck mod. (custom alchemy recipes, grist costs, grist types)

Mod Loaders
Minecraft
1.21

About

Description

KubeJSMinestuck

A small addon for kubejs that adds support for minestuck, including recipes, custom grist types, and Sburb player data.

Current Features:

  • Combination Recipes (totem lathe / punch designix)
    • combination(input1, input2, mode, output)
    • inputs and output are all item IDs
    • mode can be "and", "or", or their symbol variants "&&" and "||"
  • Grist Cost Recipes
    • grist_cost(item, {"grist_type": amount, ...}, priority?)
      • the most common type of grist cost
    • wildcard_grist_cost(item, amount, priority?)
      • uses the specified amount of wildcard grist (usually build)
    • unavailable_grist_cost(item, priority?)
      • makes an item unable to be alchemized
    • priority: recipes with higher priority take precedence, this is optional and defaults to 100
    • to make an item free, use the normal grist cost type with an empty object as the cost
    • resource locations default to minecraft, so make sure to include minestuck: in the id
  • Irradiating Recipes (cookalyzer)
    • uses the same syntax as vanilla furnace recipes
  • Custom Grist
    • uses the startup event minestuck.grist
    • chain up to four methods to modify properties, all optional
    • rarity(float): controls use in world generation
    • value(float): controls strength in alchemy and boondollar costs
    • underlingType(int color, float power): controls color and strength of underlings
      • the colour is most easily written in the format 0xRRGGBB
    • candy(item id): item representation of the grist
  • Minestuck Playerdata
    • use player.data.minestuck to access various resources
    • getting can be replaced with just the field name, e.g. data.minestuck.getColor() can be written as data.minestuck.color
    • setting (single values) can be replaced with assignment, e.g. data.minestuck.setRung(4) can be written as data.minestuck.rung = 4
    • color: get/set, can only be set before connecting to a server player
    • modus: get
    • boondollars: get/set/add/take
    • title: get/set
    • hero class/aspect: get
    • echeladder rung + progress: get/set, increase progress
    • grist cache
      • use getGrist() to get the whole cache
      • use getGrist(type) to get the amount stored of a specific type
      • use addGrist(type, amount) to add a specific grist type to the cache
      • use addGrist(GristSet.of(GristAmount, GristAmount, ...)) to add multiple types to the cache at once
  • Custom TerrainLandType
    • uses the startup event minestuck.terrain_land_type
    • names method is required, all others are optional
    • names(string[] names): controls name of Land, accepts one or more translatable strings
    • consortType(string name): maps to EnumConsort.
    • skylight(float)
    • fogColor(double r, double g, double b)
    • skyColor(double r, double g, double b)
    • music(string registryName)
    • addFeature(GenerationStep.Decoration step, string registryName, string[] biomes): adds a PlacedFeature of registryName. biomes maps to LandBiomeType[].
    • addBlockRegistry(string registryEntry, string registryName): adds to StructureBlockRegistry. registryName maps to block registry name.