Third-Party Mod Integration/Craft Tweaker

From Advent of Ascension Wiki
Jump to: navigation, search

Advent of Ascension includes support for custom CraftTweaker integration beyond the normally accessible CraftTweaker functions.

Information[edit | edit source]

Information regarding using CraftTweaker can be found on the CraftTweaker documentation site here: https://docs.blamejared.com/1.12/en/index/

CraftTweaker integration can be disabled within AoA by setting enabled to false in the CraftTweaker subcategory of the Integrations Config.

The below content assumes the user knows how CraftTweaker and its functions work.

Infusion Table[edit | edit source]

Custom Infusion Table recipes can be added and removed using the below methods:

Package: mods.aoa3.InfusionTable

Adding an Infusion Recipe[edit | edit source]

Arguments:

  • (String) id - The unique ID for the recipe. Needs to be unique to the recipe and not conflict with any other Infusion recipes
  • (IItemStack) output - An item stack representing the output portion of the recipe. This is the final result of the recipe when used.
  • (IItemStack) input - An item stack representing the output portion of the recipe.This represents the left-most slot in the Infusion GUI.
  • (IIngredient[]) infusionIngredients - A list of ingredients to be used in the 3x3 Infusion grid. All recipes are shapeless, and must not have more than 9 ingredients.
  • (long) infusionLevelReq - A long value defining what level in Infusion the player must be to be able to use this recipe. Defaults to 1 if omitted.
  • (int) minXp - An integer value defining the minimum amount of Infusion XP to gain when completing the recipe. A random amount of XP is given between minXp and maxXp. Defaults to 0 if omitted.
  • (int) maxXp - An integer value defining the maximum amount of Infusion XP to gain when completing the recipe. A random amount of XP is given between minXp and maxXp. Defaults to 0 if omitted.
addInfusionRecipe(String id, IItemStack output, IItemStack input, IIngredient[] infusionIngredients, @Optional(valueLong = 1) long infusionLevelReq, @Optional int minXp, @Optional int maxXp);

Adding an Imbuing Recipe[edit | edit source]

Arguments:

  • (String) id - The unique ID for the recipe. Needs to be unique to the recipe and not conflict with any other Infusion recipes
  • (IItemStack) input - An item stack representing the input portion of the recipe. This represents the left-most slot in the Infusion GUI.
  • (IIngredient[]) infusionIngredients - A list of ingredients to be used in the 3x3 Infusion grid. All recipes are shapeless, and must not have more than 9 ingredients.
  • (String) enchantmentId - The ID of the enchantment to imbue into the input item. Must include the mod ID, E.G. "aoa3:sever"
  • (long) enchantmentLevel - The level of enchantment to apply when completing the imbuing recipe. Defaults to 1 if omitted.
  • (long) infusionLevelReq - A long value defining what level in Infusion the player must be to be able to use this recipe. Defaults to 1 if omitted.
  • (int) minXp - An integer value defining the minimum amount of Infusion XP to gain when completing the recipe. A random amount of XP is given between minXp and maxXp. Defaults to 0 if omitted.
  • (int) maxXp - An integer value defining the maximum amount of Infusion XP to gain when completing the recipe. A random amount of XP is given between minXp and maxXp. Defaults to 0 if omitted.
addImbuingRecipe(String id, IItemStack input, IIngredient[] imbuingIngredients, String enchantmentId, @Optional(valueLong = 1) long enchantmentLevel, @Optional(valueLong = 1) long infusionLevelReq, @Optional int minXp, @Optional int maxXp);

Removing an Infusion Recipe[edit | edit source]

Arguments:

  • (String) resourcePath - The ID of the recipe (as added by either AoA, or another mod via CraftTweaker or otherwise.
removeInfusionRecipe(String resourcePath);

Arguments:

  • (IItemStack) outputStack - An item stack representing the output of an existing Infusion recipe. Removes all Infusion recipes registered outputting a stack that is functionally equivalent to this argument.
removeInfusionRecipe(IItemStack outputStack);

Example:

removeInfusionRecipe(<aoa3:hazmat_helmet>);

Removing an Imbuing Recipe[edit | edit source]

Arguments:

  • (String) enchantmentId - The ID of the enchantment to match for removing Imbuing recipes. All Imbuing recipes utilising this enchantment with the correct enchantment level will be removed.
  • (int) enchantmentLevel - The enchantment level of the Imbuing recipe to match.
removeImbuingRecipe(String enchantmentId, int enchantmentLevel);

Upgrade Kit Recipes[edit | edit source]

Custom Upgrade Kit recipes can be added or removed via CraftTweaker using the below methods:

Package: mods.aoa3.UpgradeKit

Adding an Upgrade Kit Recipe[edit | edit source]

Arguments:

  • (String) id - The unique ID for the recipe. Needs to be unique to the recipe and not conflict with any other Upgrade Kit recipes
  • (IItemStack) input - An item stack representing the input portion of the recipe. This represents the left-most slot in the Divine Station GUI.
  • (IItemStack) upgradeKit - An item stack representing the upgrade kit portion of the recipe. This represents the middle-most slot in the Divine Station GUI.
  • (IItemStack) output - An item stack representing the output portion of the recipe. This is the final result of the recipe when used.
addUpgradeKitRecipe(String id, IItemStack input, IItemStack upgradeKit, IItemStack output);

Removing an Upgrade Kit Recipe[edit | edit source]

Arguments:

  • (String) resourcePath - The ID of the recipe (as added by either AoA, or another mod via CraftTweaker or otherwise.
removeUpgradeKitRecipe(String resourcePath);

Arguments:

  • (IItemStack) output - An item stack representing the output of an existing Upgrade Kit recipe. Removes all Upgrade Kit recipes registered outputting a stack that is functionally equivalent to this argument.
removeUpgradeKitRecipes(IItemStack output);

Player Functions[edit | edit source]

AoA adds an extension to the IPlayer interface of CraftTweaker, to allow access to various player stats and resources.

This can be accessed by calling the aoa3 parameter of an IPlayer object. E.G. player.aoa3

This extension can then be used to interact via the following methods:

Getting a Skill Level[edit | edit source]

Arguments:

  • (String) skillName - The name of the skill to find the level for. E.G. Logging.
  • (boolean) ignoreLevelCap - Whether to get the player's current level, capped at level 100. If true, will return the player's level, including vanity levels (101-1000). Defaults to false if omitted.

Returns:

  • int - The level the player is in the given skill.
int getLevel(String skillName, @Optional boolean ignoreLevelCap);

Getting a Skill's XP[edit | edit source]

Arguments:

  • (String) skillName - The name of the skill to find the xp for. E.G. Logging.

Returns:

  • float - The xp the player has in the given skill.
float getXp(String skillName);

Giving a Player XP[edit | edit source]

Arguments:

  • (String) skillName - The name of the skill to give xp for. E.G. Logging.
  • (float) xpAmount - The amount of xp to give for the skill.
grantXp(String skillName, float xpAmount);

Getting a Resource Value[edit | edit source]

Arguments:

  • (String) resourceName - The name of the resource to get the value for. E.G. Creation

Returns:

  • float - The resource value the player has in the given resource.
float getResourceValue(String resourceName);

Giving Resources[edit | edit source]

Arguments:

  • (String) resourceName - The name of the resource to get the value for. E.G. Creation
  • (float) amount - The amount of resource points to give to the player.
grantResource(String resourceName, float amount);

Getting Tribute Amount[edit | edit source]

Arguments:

  • (String) deityName - The name of the deity to get the tribute value for. E.G. Erebon

Returns:

  • int - The amount of tribute the player currently has for the given deity.
int getTribute(String deityName);

Consuming Resources[edit | edit source]

Arguments:

  • (String) resourceName - The name of the resource to consume points from. E.G. Creation
  • (int) amount - The amount of resource to consume in the given resource type.
  • (boolean) forceConsume - Consume up to the amount of resource defined, even if the player doesn't currently have enough resource points to do so (will take the player to 0 points).

Returns:

  • boolean - Whether or not the player had enough resource points to consume the defined amount. If the player is in creative, this will always return true.
boolean consumeResource(String resourceName, float amount, boolean forceConsume);

Giving Tribute[edit | edit source]

Arguments:

  • (String) deityName - The name of the deity to give tribute points for. E.G. Erebon
  • (int) amount - The amount of tribute to give for the given deity.
grantTribute(String deityName, int amount);

Resetting Tribute[edit | edit source]

Resets all deity tribute to 0 for the player.

resetTributes();

Getting Current Global XP Modifier[edit | edit source]

Gets the current skill XP modifier the player has, which affects the amount of xp gained in any skill.

Returns:

  • float - The current global xp multiplier for the player. A modifier of 2.0 means the player will be gaining xp in all skills at 2x the speed of normal.
float getGlobalXpModifier();

Adding Global XP Modifiers[edit | edit source]

Arguments:

  • (float) amount - The percentage amount multiplier to add to the player's global xp modifier. E.G. Adding 0.25 gives the player 25% more skill xp globally. This resets on player death or logout.
addGlobalXpModifier(float amount);

Removing Global XP Modifiers[edit | edit source]

Arguments:

  • (float) amount - The percentage amount multiplier to remove from the player's global xp modifier. E.G. Removing 0.25 gives the player 25% less skill xp globally. This resets on player death or logout.
removeGlobalXpModifier(float amount);

Adding Skill XP Modifiers[edit | edit source]

Arguments:

  • (String) skillName - The name of the skill to add a modifier for. E.G. Logging.
  • (float) amount - The percentage amount multiplier to add to the player's specific skill xp modifier. E.G. Adding 0.25 gives the player 25% more skill xp in the provided skill. This resets on player death or logout.
addSkillXpModifier(String skillName, float amount);

Removing Skill XP Modifiers[edit | edit source]

Arguments:

  • (String) skillName - The name of the skill to remove a modifier for. E.G. Logging.
  • (float) amount - The percentage amount multiplier to remove from the player's specific skill xp modifier. E.G. Removing 0.25 gives the player 25% less skill xp in the provided skill. This resets on player death or logout.
removeSkillXpModifier(String skillName, float amount);

Getting Current Armour Set Type[edit | edit source]

Returns:

  • IItemStack - An item that represents the armour type for which the player is currently utilising a full set bonus.
IItemStack getArmourSetType();