CTUtils
Importing the class
It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.
import mods.pmmo.CTUtils;
Static Methods
Registers a perk for use in pmmo-Perks.toml.
CTUtils.registerPerk(perkID as ResourceLocation, defaults as MapData, customConditions as CTPerkPredicate, onExecute as CTPerkFunction, onConclude as CTPerkFunction, side as int)
Parameter | Type | Description |
---|---|---|
Parameter perkID | Type ResourceLocation | Description the Perk ID |
Parameter defaults | Type MapData | Description the default settings for your perk. These are provided to your execution if no manual user configuration is present. This allows you to ignore null checks and displays to users what settings are valid for your perk. (NOTE: you are not required to add settings here for them to work. It is permitted to have “hidden” settings.) |
Parameter customConditions | Type CTPerkPredicate | Description used to check for conditions in which a perk is allowed to execute in addition to pmmo’s default checks. For example, if the player is the correct dimension. |
Parameter onExecute | Type CTPerkFunction | Description the logic executed by this perk |
Parameter onConclude | Type CTPerkFunction | Description if an event has an end state, this executes |
Parameter side | Type int | Description which logical side this fires on CLIENT=0, SERVER=1, BOTH=2 |
registers a configuration setting for bonuses to xp gains.
// CTUtils.setBonus(objectType as invalid, objectID as ResourceLocation, type as invalid, bonus as double?[string])
CTUtils.setBonus(<constant:pmmo:objecttype:value>, <resource:namespace:path>, <constant:pmmo:modifierdatatype:value>, {skillname: 0.0 as double?, otherskillname: 0.0 as double?});
Parameter | Type | Description |
---|---|---|
Parameter objectType | Type invalid | Description a value of [item, block, entity, dimension, or biome] |
Parameter objectID | Type ResourceLocation | Description the object linked to the bonus |
Parameter type | Type invalid | Description the relation to the object which predicates the bonus |
Parameter bonus | Type double?[string] | Description a map of skills and multipliers (1.0 = no bonus) |
Registers a configuration setting for xp gained from active effects
CTUtils.setEffectXp(effectID as ResourceLocation, effectLevel as int, xpGains as int?[string])
Parameter | Type | Description |
---|---|---|
Parameter effectID | Type ResourceLocation | Description the key for the effect |
Parameter effectLevel | Type int | Description the level of the effect |
Parameter xpGains | Type int?[string] | Description a map of the skills and xp awarded when this effect is active |
sets the requirements for a given enchantment and enchantment level
// CTUtils.setEnchantment(enchantID as ResourceLocation, enchantLevel as int, reqs as int?[string])
CTUtils.setEnchantment(<resource:namespace:path>, 1, {skillname: 00 as int?, otherskillname: 00 as int?});
Parameter | Type | Description |
---|---|---|
Parameter enchantID | Type ResourceLocation | Description the key for the enchantment |
Parameter enchantLevel | Type int | Description the level of the enchantment |
Parameter reqs | Type int?[string] | Description a map of the skills and levels needed to use this enchantment |
registers a configuration setting for mob modifiers to a biome or dimension.
Attribute types for the inner map of mob_modifiers can be referenced
using the static strings in this class prefixed with “MOB_“
CTUtils.setMobModifier(objectType as invalid, locationID as ResourceLocation, mobID as ResourceLocation, modifiers as double?[string])
Parameter | Type | Description |
---|---|---|
Parameter objectType | Type invalid | Description a value of [item, block, entity, dimension, or biome] |
Parameter locationID | Type ResourceLocation | Description the biome or dimension key |
Parameter mobID | Type ResourceLocation | Description the key for the mob being set |
Parameter modifiers | Type double?[string] | Description a map of attributes (health, speed, or damage) and modifiers |
registers a configuration setting for what status effects should be applied to the player
if they attempt to wear/hold and item they are not skilled enough to use.
// CTUtils.setNegativeEffect(objectType as invalid, objectID as ResourceLocation, effects as int?[ResourceLocation])
CTUtils.setNegativeEffect(<constant:pmmo:objecttype:value>, <resource:namespace:path>, {<resource:namespace:path>: 00 as int?, <resource:othernamespace:otherpath>: 00 as int?});
Parameter | Type | Description |
---|---|---|
Parameter objectType | Type invalid | Description a value of [item, block, entity, dimension, or biome] |
Parameter objectID | Type ResourceLocation | Description |
Parameter effects | Type int?[ResourceLocation] | Description a map of effect ids and levels |
registers a configuration setting for what status effects should be applied to the player
based on their meeting or not meeting the requirements for the specified location.
Note: a “negative” effect on a dimension will have no use in-game
// CTUtils.setPositiveEffect(objectType as invalid, objectID as ResourceLocation, effects as int?[ResourceLocation])
CTUtils.setPositiveEffect(<constant:pmmo:objecttype:value>, <resource:namespace:path>, {<resource:namespace:path>: 00 as int?, <resource:othernamespace:otherpath>: 00 as int?});
Parameter | Type | Description |
---|---|---|
Parameter objectType | Type invalid | Description a value of [item, block, entity, dimension, or biome] |
Parameter objectID | Type ResourceLocation | Description |
Parameter effects | Type int?[ResourceLocation] | Description a map of effect ids and levels |
sets a configuration setting for a requirement to perform
and action for the specified item.
// CTUtils.setReq(objectType as invalid, objectID as ResourceLocation, type as invalid, requirements as int?[string])
CTUtils.setReq(<constant:pmmo:objecttype:value>, <resource:namespace:path>, <constant:pmmo:reqtype:value>, {skillname: 00 as int?, otherskillname: 00 as int?});
Parameter | Type | Description |
---|---|---|
Parameter objectType | Type invalid | Description a value of [item, block, entity, dimension, or biome] |
Parameter objectID | Type ResourceLocation | Description the key for the item being configured |
Parameter type | Type invalid | Description the requirement category |
Parameter requirements | Type int?[string] | Description a map of skills and levels needed to perform the action |
registers a configuration setting for items which can be obtained
via salvage from the item supplied.
This class provides SalvageBuilder as a means to construct
the salvage settings for each output object
// CTUtils.setSalvage(item as ResourceLocation, salvage as SalvageBuilder[ResourceLocation])
CTUtils.setSalvage(<resource:namespace:path>, {<resource:namespace:path>:builderInstance, <resource:othernamespace:otherpath>:otherbuilderInstance});
Parameter | Type | Description |
---|---|---|
Parameter item | Type ResourceLocation | Description a key for the item to be consumed by the salvage operation |
Parameter salvage | Type SalvageBuilder[ResourceLocation] | Description a map of output item keys and the conditions for salvage |
registers a configuration setting for experience that should be awarded
to a player for performing an action with/on a specific object.
// CTUtils.setXpAward(objectType as invalid, objectID as ResourceLocation, type as invalid, award as long?[string])
CTUtils.setXpAward(<constant:pmmo:objecttype:value>, <resource:namespace:path>, <constant:pmmo:eventtype:value>, {skillname: 00 as long?, otherskillname: 00 as long?});
Parameter | Type | Description |
---|---|---|
Parameter objectType | Type invalid | Description a value of [item, block, entity, dimension, or biome] |
Parameter objectID | Type ResourceLocation | Description the key for the item being configured |
Parameter type | Type invalid | Description the event which awards the experience |
Parameter award | Type long?[string] | Description a map of skills and experience values to be awarded |