Project MMO

Project MMO

11M Downloads

[1.21.1] Scripting Perks

SomewhatDamaged opened this issue ยท 1 comments

commented

Describe the bug
Perk scripting, at least for pmmo:damage_boost seems to not work.

WITH config(perks)
    set(clear_all);
    set().event(DEAL_DAMAGE)
        .perk(pmmo:damage_boost)
        .skill(archery)
        .multiplicative(true)
        .base(1)
        .per_level(1.0)
        .applies_to(["minecraft:bow","minecraft:crossbow","minecraft:trident","minecraft:snowball"]);
END

This should make insane damage for bow and arrow, but does nothing:

[27Jan2025 13:21:43.662] [Server thread/INFO] [harmonised.pmmo.util.MsLoggy/]: Attack Type: DEAL_DAMAGE | TargetType: entity.dummmmmmy.target_dummy
[27Jan2025 13:21:43.662] [Server thread/DEBUG] [harmonised.pmmo.util.MsLoggy/]: Perk Executed: {applies_to:["minecraft:bow","minecraft:crossbow","minecraft:trident","minecraft:snowball"],base:1,damage:8.0f,damageIn:8.0f,damage_type:"minecraft:arrow",level:300L,multiplicative:1b,per_level:1.0d,perk:"pmmo",skill:"archery"}

Setting the perk via json works fine:

{
  "perks": {
    "DEAL_DAMAGE": [
      {
        "applies_to": [
          "minecraft:bow",
          "minecraft:crossbow",
          "minecraft:trident",
          "minecraft:snowball"
        ],
        "perk": "pmmo:damage_boost",
        "skill": "archery",
        "per_level": 1.0,
        "base": 1,
        "multiplicative": true
      }
    ]
  },
  "type": "PERKS"
}

Expected behavior
Image

Versions:

  • Minecraft: (eg 1.21.1)
  • Loader: NF-21.1.89
  • PMMO: 1.21.1-2.6.20

Additional context

Snow.angels.mp4
commented

There's a specific detail in the wiki about perk configs that requires anything with a colon to be encapsulated in quotations. So your script should use perk("pmmo:damage_boost")