🤸♂️Player Attributes - Athlaeos/ValhallaMMO GitHub Wiki
Players get a "profile" assigned for each enabled skill, which intends to store properties required for that skill.
These can be seen as player attributes.
It may not be very necessary for you to know this, but there are two types of profiles as well: persistent
and skill profiles
.
persistent
profiles are the ones actually saved to storage, they'll most commonly just be saving things like experience gained and perks unlocked, but they may also be used to permanently give a player stats that will not necessarily need to be removed when that skill is reset.
skill profiles
are more or less temporary profiles. They're forgotten when the server stops, and they're recalculated when the server has started and the player has joined.
This difference may not immediately mean a whole lot to you, but it essentially means you can do the following:
- You can change the stats given by skills in their progression files without having to reset the player, since these stats are recalculated for them the next time they join.
- You can reward players with permanent stats independent from their skill progression, these will not go away unless you reset their permanent stats specifically.
These attributes are changed using perk rewards, which may be executed through progression configs as perk unlocks or through commands using /val reward
Each profile regardless of type has access to the following stats:
Property | Description |
---|---|
level |
The player's level |
exp |
The player's EXP progress on the current level |
exp_total |
The player's total EXP |
newGamePlus |
The player's new game plus level |
maxAllowedLevel |
The maximum level the player is allowed to be, is 32767 by default |
Power
Property | Description |
---|---|
The following stats are all defined with numbers | |
spendableSkillPoints |
The amount of skill points the player has gotten to spend |
spentSkillPoints |
The amount of skill points the player has spent, the amount the player actually has available will be spendableSkillPoints - spentSkillPoints
|
spendablePrestigePoints |
The amount of prestige points the player has gotten to spend |
spentPrestigePoints |
Same deal with skill points, but for prestige points |
redeemableLevelTokens |
The amount of "wild card" level tokens the player can redeem to get levels in any skill |
redeemableExperience |
The amount of "wild card" experience tokens the player can redeem to get experience in any level |
itemCounterLimit |
Arbitrary stat that can be used to apply conditions to items. View Dynamic Item Modifiers (ctrl+f on "counter") |
allSkillEXPMultiplier |
Allows more or less skill EXP gain for all skills |
healthBonus |
Max health |
healthMultiplier |
Multiplier on max health |
movementSpeedBonus |
Multiplier on movement speed |
sneakMovementSpeedBonus |
Multiplier on movement speed while sneaking |
sprintMovementSpeedBonus |
Multiplier on movement speed while sprinting |
knockbackResistanceBonus |
Resistance to enemy attack knockback |
armorBonus |
Natural armor (always applied without having to wear armor) |
armorlessArmor |
Natural armor specifically when not wearing any armor |
armorMultiplierBonus |
Multiplier on armor |
toughnessBonus |
Natural toughness (always applied without having to wear armor) |
attackReachBonus |
Attack reach |
attackReachMultiplier |
Multiplier on attack reach (includes base attack reach of 3) |
blockReachBonus |
Block reach (1.20.5+) |
stepHeightBonus |
Step height (1.20.5+) |
scaleMultiplier |
Physical size multiplier (1.20.5+) |
gravity |
Gravity multiplier (1.21+) |
safeFallingDistance |
Safe falling distance (1.21+) |
attackDamageBonus |
Base attack damage (adds damage to all melee attacks) |
fireDamageBonus |
Fire damage added on attacks |
explosionDamageBonus |
Explosion damage added on attacks |
poisonDamageBonus |
Poison damage added on attacks |
bludgeoningDamageBonus |
Bludgeoning damage added on attacks |
magicDamageBonus |
Magic damage added on attacks |
radiantDamageBonus |
Radiant damage added on attacks |
necroticDamageBonus |
Necrotic damage added on attacks |
freezingDamageBonus |
Freezing damage added on attacks |
lightningDamageBonus |
Lightning damage added on attacks |
powerAttackDamageMultiplier |
Power attack damage multiplier (attacking while falling) |
powerAttackFraction |
Fraction of power attack damage dealt to all entities within the radius |
powerAttackRadius |
Radius in which entities have to be to gain extra damage from power attacks |
attackDamageMultiplier |
Multiplier to all damage dealt (including ranged) |
meleeAttackDamageMultiplier |
Multiplier to melee damage dealt |
rangedAttackDamageMultiplier |
Multiplier to all ranged damage dealt |
unarmedAttackDamageMultiplier |
Multiplier to all melee unarmed damage dealt |
magicDamageMultiplier |
Multiplier to all magic damage dealt |
fireDamageMultiplier |
Multiplier to all fire damage dealt |
poisonDamageMultiplier |
Multiplier to all poison damage dealt |
bludgeoningDamageMultiplier |
Multiplier to all bludgeoning damage dealt |
radiantDamageMultiplier |
Multiplier to all magic radiant dealt |
necroticDamageMultiplier |
Multiplier to all magic necrotic dealt |
freezingDamageMultiplier |
Multiplier to all magic freezing dealt |
lightningDamageMultiplier |
Multiplier to all magic lightning dealt |
explosionDamageMultiplier |
Multiplier to all magic explosion dealt |
attackSpeedBonus |
Despite being called "bonus", this is an attack speed multiplier |
attackKnockbackBonus |
Likewise, this is an attack knockback multiplier |
luckBonus |
Luck |
healthRegenerationBonus |
Health regeneration multiplier |
hungerSaveChance |
Chance to not spend hunger |
damageResistance |
Damage resistance |
meleeResistance |
Melee damage resistance |
projectileResistance |
Projectile damage resistance |
fireResistance |
Fire damage resistance |
bludgeoningResistance |
Bludgeoning damage resistance |
explosionResistance |
Explosion damage resistance |
magicResistance |
Magic damage resistance |
poisonResistance |
Poison damage resistance |
radiantResistance |
Radiant damage resistance |
necroticResistance |
Necrotic damage resistance |
freezingResistance |
Freezing damage resistance |
lightningResistance |
Lightning damage resistance |
fallDamageResistance |
Fall damage resistance |
critChanceResistance |
Crit chance resistance (reduces chance for enemy to crit you) |
critDamageResistance |
Crit damage resistance (reduces bonus damage from enemy on crit) |
cooldownReduction |
Ability cooldown reduction |
craftingTimeReduction |
Crafting time reduction for immersive recipes |
cookingSpeedBonus |
Furnace(and all similar like campfires and blast furnace) cooking speed multiplier |
immunityFrameBonus |
Immunity frames received when taking damage |
immunityFrameMultiplier |
Multiplier to immunity frames received when taking damage |
stunResistance |
Stun duration resistance |
bleedResistance |
Bleed damage resistance |
stunChance |
Chance to stun on attack |
stunDurationBonus |
Duration of stun when applied on enemy |
critChance |
Chance to inflict critical hit on attack |
critDamage |
Damage multiplier of critical hits |
bleedChance |
Chance to inflict bleeding on attack |
bleedDamage |
Damage dealt by bleed ticks |
bleedDuration |
Duration of bleeding when applied on enemy |
durabilityMultiplier |
Multiplier to effective durability on all equipment |
entityDropMultiplier |
Drop multiplier when killing mobs (item whitelist defined in config.yml) |
entityRareDropMultiplier |
Acts as luck to affect drops when killing mobs |
dodgeChance |
Chance to avoid damage completely |
reflectChance |
Chance to reflect damage back to attacker |
reflectFraction |
Fraction of damage reflected back to attacker when reflectChance procs |
jumpHeightBonus |
Jump height multiplier |
jumpBonus |
Multi-jumps |
crossbowMagazine |
Max amount of times a crossbow can be instantly reloaded if "ammo save chance" procs multiple times |
parryEffectiveDuration |
Duration for parry in which an attack can be successfully parried |
parryVulnerableDuration |
Duration for parry in which an attack will debuff you if the effectiveness duration is expired |
parryEnemyDebuffDuration |
Duration of debuff applied to enemies when successfully parrying one of their attacks |
parrySelfDebuffDuration |
Duration of debuff applied to you when you fail a parry |
parryCooldown |
Cooldown of parry after having attempted it |
parryCooldownSuccessReduction |
Cooldown reduced off of the parry cooldown if having successfully parried an attack |
parryDamageReduction |
Damage reduction of successfully parried attacks |
shieldDisarming |
Duration to disable shields for after hitting shielded enemies |
lifeSteal |
Multiplier of damage dealt returned as healing for the attacker |
dismountChance |
Chance to forcefully dismount an enemy riding something |
foodBonusVegetable |
Food multiplier for vegetables (see Foods |
foodBonusSeasoning |
Food multiplier for seasonings |
foodBonusAlcoholic |
Food multiplier for alcoholic foods |
foodBonusBeverage |
Food multiplier for beverages |
foodBonusSpoiled |
Food multiplier for spoiled foods |
foodBonusSeafood |
Food multiplier for seafood |
foodBonusMagical |
Food multiplier for magical foods |
foodBonusSweet |
Food multiplier for sweets |
foodBonusGrain |
Food multiplier for grain-based foods |
foodBonusFruit |
Food multiplier for fruits |
foodBonusNuts |
Food multiplier for nuts |
foodBonusDairy |
Food multiplier for dairy products |
foodBonusMeat |
Food multiplier for meats |
foodBonusFats |
Food multiplier for fats |
The following stats are defined with booleans (true/false) | |
badFoodImmune |
Whether you are immune to spoiled foods or not (rotten flesh, poisonous potato, etc.) |
miningAffinityWater |
Whether you can mine blocks at regular speeds while in water |
miningAffinityAir |
Whether you can mine blocks at regular speeds while not on ground |
The following stats are defined with strings (phrases, words) | When they can't be granted as a list directly (such as through commands) strings are to be separated with ;
|
unlockedPerks |
The perks the player has unlocked |
fakeUnlockedPerks |
Any perk listed here will appear unlocked, but without any actual benefit |
permanentlyLockedPerks |
Any perk listed here will not be unlockable to the player |
unlockedRecipes |
For recipes that aren't "unlocked for everyone", they must be here to be craftable |
unlockedBlockConversions |
"block interact conversions" unlocked |
permanentPotionEffects |
Any potion effect listed here will be permanently and repeatedly applied to the player. Effects must be listed as POTIONEFFECT:AMPLIFIER, such as STRENGTH:2 for Strength III |
Smithing
Property | Description |
---|---|
The following stats are all defined with numbers | |
genericCraftingSkill |
Crafting skill for every material |
bowCraftingSkill |
Crafting skill for bows only |
crossbowCraftingSkill |
Crafting skill for crossbows only |
woodCraftingSkill |
Crafting skill for wooden items only |
leatherCraftingSkill |
etc. |
stoneCraftingSkill |
|
chainCraftingSkill |
|
goldCraftingSkill |
|
ironCraftingSkill |
|
diamondCraftingSkill |
|
netheriteCraftingSkill |
|
prismarineCraftingSkill |
|
endericCraftingSkill |
|
genericCraftingSkillFractionBonus |
Multiplier for all crafting skill. Default 1.0 |
bowCraftingSkillFractionBonus |
Multiplier for crafting skill when crafting bows. Default 1.0 |
crossbowCraftingSkillFractionBonus |
Multiplier for crafting skill when crafting crossbows. Default 1.0 |
woodCraftingSkillFractionBonus |
Multiplier for crafting skill when crafting wooden items. Default 1.0 |
leatherCraftingSkillFractionBonus |
etc. |
stoneCraftingSkillFractionBonus |
|
chainCraftingSkillFractionBonus |
|
goldCraftingSkillFractionBonus |
|
ironCraftingSkillFractionBonus |
|
diamondCraftingSkillFractionBonus |
|
netheriteCraftingSkillFractionBonus |
|
prismarineCraftingSkillFractionBonus |
|
endericCraftingSkillFractionBonus |
|
genericEXPMultiplier |
Smithing EXP Multiplier when crafting anything. Default 1.0 |
bowEXPMultiplier |
Smithing EXP Multiplier when crafting bows. Default 1.0 |
crossbowEXPMultiplier |
Smithing EXP Multiplier when crafting crossbows. Default 1.0 |
woodEXPMultiplier |
Smithing EXP Multiplier when crafting wooden items. Default 1.0 |
leatherEXPMultiplier |
etc. |
stoneEXPMultiplier |
|
chainEXPMultiplier |
|
goldEXPMultiplier |
|
ironEXPMultiplier |
|
diamondEXPMultiplier |
|
netheriteEXPMultiplier |
|
prismarineEXPMultiplier |
|
endericEXPMultiplier |
Enchanting
Property | Description |
---|---|
The following stats are all defined with numbers | |
enchantingSkill |
Enchanting skill, influences how much enchantment levels are increased/decreased while enchanting |
anvilSkill |
Anvil skill, influences the max allowed level enchantments are allowed to reach (uses same scaling as enchantment scaling) |
enchantingSkillFractionBonus |
Multiplier of enchanting skill. Default 1.0 |
anvilSkillFractionBonus |
Multiplier of anvil skill. Default 1.0 |
enchantmentAmplificationChance |
Chance for enchantments to be affected by custom scaling during enchanting. 1.0(100%) by default |
lapisSaveChance |
Chance for lapis lazuli to not be consumed during enchanting |
essenceRefundChance |
Chance for exp orbs to have reduced consumption while enchanting |
essenceRefundFraction |
Fraction of exp orbs reduced in consumption while enchanting if essenceRefundChance procs |
essenceMultiplier |
Multiplier of exp orbs gained |
passiveElementalDamageConversion |
Fraction of damage dealt converted to elemental damage with elemental blade inactive. Elemental blade is a passive/active ability that converts damage to different damage types |
activeElementalDamageConversion |
Fraction of damage dealt converted to elemental damage with elemental blade active. Each hit will cost some amount of exp orbs |
activeElementalDamageMultiplier |
Multiplier applied to the converted damage with elemental blade active |
essenceCostPerHit |
Amount of exp orbs consumed per hit while elemental blade is active |
levelBonusSharpness |
How many extra levels you get for the Sharpness enchantment while enchanting. For example, +2 would turn Sharpness III into Sharpness V |
levelBonusSmite |
How many extra levels you get for the Smite enchantment while enchanting |
levelBonusBOA |
etc. (Bane of Arthropods) |
levelBonusFortune |
|
levelBonusEfficiency |
|
levelBonusKnockback |
|
levelBonusLooting |
|
levelBonusUnbreaking |
|
levelBonusFireAspect |
|
levelBonusPower |
|
levelBonusBlastProtection |
|
levelBonusFeatherFalling |
|
levelBonusFireProtection |
|
levelBonusProjectileProtection |
|
levelBonusProtection |
|
levelBonusSoulSpeed |
|
levelBonusThorns |
|
levelBonusLure |
|
levelBonusLoTS |
(Luck of the Sea) |
levelBonusImpaling |
|
levelBonusSwiftSneak |
|
levelBonusGenericDefensive |
How many extra levels you get for any defensive enchantment while enchanting. Defensive enchantments are for example Protection, Feather Falling, Blast Protection |
levelBonusGenericOffensive |
How many extra levels you get for any offensive enchantment while enchanting. Offensive enchantments are for example Sharpness, Fire Aspect, Knockback, Power |
levelBonusGenericUtility |
How many extra levels you get for any utility enchantment while enchanting. Utility enchantments are basically every enchantment that aren't offensive or defensive, like Silk Touch or Fortune |
enchantingEXPMultiplier |
Enchanting EXP Multiplier when enchanting anything. Default 1.0 |
The following stat is defined with strings (phrases, words) | |
elementalDamageTypes |
The damage types elemental blade will convert some damage dealt into. If multiple damage types are given, the converted damage is divided between them. Valid damage types are for example FREEZING, LIGHTNING, MAGIC, NECROTIC, BLUDGEONING, FIRE |
Alchemy
Property | Description |
---|---|
The following stats are all defined with numbers | |
genericBrewingSkill |
Brewing skill for every potion type |
buffBrewingSkill |
Brewing skill for beneficial potions only |
debuffBrewingSkill |
Brewing skill for detrimental potions only (poisons and such) |
genericBrewingSkillFractionBonus |
Brewing skill multiplier for every potion type |
buffBrewingSkillFractionBonus |
Brewing skill multiplier for beneficial potions only |
debuffBrewingSkillFractionBonus |
Brewing skill multiplier for detrimental potions only |
brewingTimeReduction |
Brewing speed multiplier |
potionSaveChance |
Chance to not spend potions when drank/thrown |
brewingIngredientSaveChance |
Chance to not spend an ingredient when a potion is brewed. Ingredient is expelled through the top of the brewing stand |
throwVelocity |
Throwing speed multiplier. Works on splash- or lingering potions, but also snowballs, ender pearls, eggs, etc. |
lingeringRadiusMultiplier |
Radius multiplier of lingering potion clouds. The amount of times an effect can be absorbed scales with radius, so radius also increases effectivity |
lingeringDurationMultiplier |
Duration multiplier of lingering potion clouds. Influences duration of the cloud itself, not the effects it gives |
splashIntensityMinimum |
Represents the minimum fraction of the duration of splash potions when affecting entities, regardless of distance. Usually the duration of a splash potion drops off dramatically the further away from the explosion an entity is, this number puts a minimum value on that |
potionCombiningMaxCombinations |
How many times a potion can be merged with others with the potion merging ability |
potionCombiningAmplifierMultiplier |
A multiplier on the amplifiers of each potion effect involved when two potions are merged together using the potion merging ability |
potionCombiningDurationMultiplier |
Likewise, a multiplier on the durations of each potion effect. |
transmutationRadius |
The radius of transmutation using alchemic precursor |
alchemyEXPMultiplier |
Alchemy EXP Multiplier when brewing anything. Default 1.0 |
The following stat is defined with a boolean (true /false ) |
|
potionCombiningUnlocked |
Whether the potion combining mechanic is unlocked for the player or not. Potion combining allows players to right-click one potion onto another in their inventory to merge its effects, typically at a minor loss in duration |
The following stat is defined with strings (phrases, words) | |
unlockedTransmutations |
Represents the transmutations unlocked that alchemic precursor can use for transmutations. Transmutations and valid arguments are defined in alchemy_transmutations.yml |