#I want to execute a function when I left click.

1 messages · Page 1 of 1 (latest)

raven path
#
{
    "format_version": "1.10.0",
    "animation_controllers": {
        "controller.animation.grimoire": {
            "initial_state": "default",
            "states": {
                "default": {
                    "transitions": [
                        {
                            "action": "(variable.attack_time > 0)"
                        }
                    ]
                },
                "action": {
                    "transitions": [
                        {
                            "default": "1.0"
                        }
                    ],
                    "on_entry": [
                        "@s rpg:grimoire"
                    ]
                }
            }
        }
    }
}

↑animation_controllers

"animate": [
            "root",
            "grimoire"
          ]
        },
        "animations": {
          "grimoire": "controller.animation.grimoire",

↑player.entity.json

"events": {
        "rpg:grimoire": {},
        "minecraft:gain_bad_omen": {
          "add": {
            "component_groups": [
              "minecraft:add_bad_omen"
            ]
          }
        },
        "minecraft:clear_add_bad_omen": {
          "remove": {
            "component_groups": [
              "minecraft:add_bad_omen"
            ]
          },
          "add": {
            "component_groups": [
              "minecraft:clear_bad_omen_spell_effect"
            ]
          }
        },
        "minecraft:trigger_raid": {
          "add": {
            "component_groups": [ "minecraft:raid_trigger" ]
          }
        },
        "minecraft:remove_raid_trigger": {
          "remove": {
            "component_groups": [ "minecraft:raid_trigger" ]
          }
        }
      }

↑player.json

shut boughBOT
#
Thanks for asking your question!

Once you have finished, please close your thread.

raven path
#
import { world } from "@minecraft/server";

world.events.dataDrivenEntityTriggerEvent.subscribe(ev=>{
    const { id, entity } = ev;
    const selectSlot = ev.entity.selectedSlot;
    if(id == `rpg:grimoire`) {
        const item = entity.getComponent('minecraft:inventory').container
        switch (item.getItem(selectSlot)?.typeId) {
            case `rpg:dark_grimoire`:
            case `rpg:earth_grimoire`:
            case `rpg:fire_grimoire`:
            case `rpg:ice_grimoire`:
            case `rpg:light_grimoire`:
            case `rpg:thunder_grimoire`:
            case `rpg:water_grimoire`:
            case `rpg:wind_grimoire`:
                entity.runCommandAsync(`function \"Magic/Items/Grimoire/Attribute\"`)
                break;
            default: 
            break;
        }
    }
})