Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
M mmoitems
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 47
    • Issues 47
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Administrator
  • mmoitems
  • Wiki
  • Complex Stats

Last edited by Indyuce Apr 14, 2020
Page history

Complex Stats

Randomly generated items can have numeric stats, like attack damage, attack speed, crit strike chance, but you can also add more complex stats to it, like abilities, or permanent potion effects, which power do also scale with the item level. These statistics are more complex and therefore a little harder to setup.

Remember any code snippet found in that page would go either in the base config section of an item gen template (which corresponds to the template base item data), or in the stats config section of an item gen modifier:

ITEM_TEMPLATE_EXAMPLE:
    type: SWORD
    base:
        material: IRON_SWORD
        # <======== either here
    modifiers:
        first-modifier:
            prefix: 'Modifier Prefix'
            stats:
                attack-damage: 3
                # <======= or here

Abilities

Using the item generator, you can create items with special abilities which get stronger the higher the item level. Precisely, abilities have modifiers (how much damage it deals, how long a potion effect lasts..) which can scale on the item level. Use this format to add an ability to an item gen template/item gen modifier:

ability:
    first-ability-id:
        type: burn
        mode: on_hit

        # First ability modifier
        cooldown:
            base: 6
            spread: .1
            max-spread: .3

        # Second ability modifier
        duration:
            base: 3
            scale: .2
    second-ability:
        type: life-ender
        mode: right-click
        damage:
            base: 10
            scale: 3

numeric stats

In this example, the on-hit burn ability has a 6s cooldown however that values fluctuates +/-10% in average with a maximum relative offset of 10%. The burn lasts for 6 seconds but that duration is increased by 0.2 second for every item level.

Potion effects obtained when eating a consumable

Remember a potion effect is defined by three options: the potion effect type, a duration and a potion level.

potion-effect:
    speed:
        level:
            base: 1
            scale: 1
        duration:
            base: 10
            scale: 3

Notice how you start to see a repeating pattern with the base/scale/spread/maxspread based config sections which seem to be literally everywhere when dealing with randomly generated items. Like any other numeric values, the potion duration and level can scale on the item level.

Since these are numeric stats, you can also use this format if you want for instance the level to be the same everytime:

potion-effect:
    speed:
        level: 1
        duration: ...

This is the exact same as the following

potion-effect:
    speed:
        level:
            base: 1
            scale: 0
            spread: 0
            max-spread: 0
        duration: ...

Permanent Potion Effects

It's literally the same as with consumable potion effects (see above), but since these potion effects are supposed to be permanently given to the player when a specific item is held, you do not have to specify the effect duration. The level config section is also gone because it's cleaner without it.

perm-effect:
    speed:
        base: 1
        scale: 1
    # That format works too
    haste: 3

Enchantments

An enchantment is defined by an enchant type and a level. Use this format:

enchants:
    efficiency:
        base: 1
        # There is no Efficiency 1.3, but that means that every
        # 10 levels, the item will have an extra efficiency
        # enchant level! This can also be used with potion effect levels.
        scale: .1
    # That format still works because an enchant level is a numeric value
    sharpness: 10

Item Elemental Stats

element:
    fire:
        defense: 
            base: 10
            scale: 3
        # That format still works!
        damage: 10
    water:
        defense: 50

Consumable Restore Power

Restore power defines how much health, food and saturation a consumable restores when used.

restore:
    health:
        base: 3
        scale: 2
        spread: .3
        max-spread: .5
    # You could use a complex formula for food, or just use this format
    food: 5
    saturation: 3
Clone repository

  • Home
  • Installation Guide
  • Commands

General

  • Item Types
  • Item Stats & Options
  • Item Creation

Features

  • Mitigation
  • Elemental Damage
  • Item Identification
  • Item Tiers
  • Gem Stones
  • Custom Durability
  • Item Sets
  • Item Upgrading
  • Soulbound

Crafting Stations

  • Crafting Stations
  • Upgrading Recipes
  • Recipe Conditions
  • Recipe Ingredients
  • Recipe Triggers
  • Recipe Options

Custom Blocks

  • Custom Blocks
  • World Gen Templates

Item Management

  • Item Updater
  • Item Drop Tables

Item Generator

  • General
  • Item Templates
  • Item Modifiers
  • Complex Stats
  • Obtaining a random item

Abilities

  • Abilities
  • Ability List

Compatibility & API

  • Supported Plugins
  • Custom Item Textures
  • Main API Features
  • Stat API