CTUtils
Link to ctutils
Importing the class
Link to 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.
ZenScript Copyimport mods.pmmo.CTUtils;
Static Methods
Link to static-methods
Name: registerPerk
Registers a perk for use in pmmo-Perks.toml.
ZenScript CopyCTUtils.registerPerk(perkID as ResourceLocation, defaults as MapData, customConditions as CTPerkPredicate, onStart as CTPerkFunction, onTick as CTTickFunction, onStop as CTPerkFunction, description as LiteralContents, status as CTDescriptionFunction, 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 onStart | Type CTPerkFunction | Description the logic executed by this perk when it is triggered |
Parameter onTick | Type CTTickFunction | Description logic executed over the "duration" of the perk, if duration is set |
Parameter onStop | Type CTPerkFunction | Description the logic executed after the start behavior and all ticking has concluded |
Parameter description | Type LiteralContents | Description a short explanation of what the perk does. |
Parameter status | Type CTDescriptionFunction | Description |
Parameter side | Type int | Description which logical side this fires on CLIENT=0, SERVER=1, BOTH=2 |
Name: setBonus
registers a configuration setting for bonuses to xp gains.
ZenScript Copy// 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) |
Name: setEffectXp
Registers a configuration setting for xp gained from active effects
ZenScript CopyCTUtils.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 |
Name: setEnchantment
sets the requirements for a given enchantment and enchantment level
ZenScript Copy// 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 |
Name: setMobModifier
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_"
ZenScript CopyCTUtils.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 |
Name: setNegativeEffect
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.
ZenScript Copy// 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 the key for the item being configured |
Parameter effects | Type int?[ResourceLocation] | Description a map of effect ids and levels |
Name: setPositiveEffect
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
ZenScript Copy// 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 the key for the dimension or biome being configured |
Parameter effects | Type int?[ResourceLocation] | Description a map of effect ids and levels |
Name: setReq
sets a configuration setting for a requirement to perform
and action for the specified item.
ZenScript Copy// 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 |
Name: setSalvage
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
ZenScript Copy// 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 |
Name: setXpAward
registers a configuration setting for experience that should be awarded
to a player for performing an action with/on a specific object.
ZenScript Copy// 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 |