Paste #71165: MMO Menu Test

Date: 2020/06/21 11:24:08 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


MMO_Menu:
  type: inventory
  inventory: chest
  title: RPG Commands
  size: 9
  slots:
  - [MMO_Menu_Filler] [MMO_Menu_Quest] [MMO_Menu_Player] [MMO_Menu_Skills] [MMO_Menu_MMOInv] [MMO_Menu_Waypoints] [MMO_Menu_Attributes] [MMO_Menu_Filler] [MMO_Menu_Close]

MMO_MENU_HANDLER:
  type: world
  events:
    on player drags in:MMO_Menu:
      - determine cancelled
    on player clicks item in:MMO_Menu:
      - determine passively cancelled
      - define button <context.item.scriptname.after[MMO_Menu_]>
      - choose <[button]>:
        - case Quest Attributes Skills Player MMOInv Waypoints Guild:
          - execute as_player <[button]>
        - case Close:
          - inventory close
    on player clicks MMO_Menu_Close in:MMO_Menu:
      - determine passively cancelled
      - inventory close
    on player clicks MMO_Menu_Open in inventory:
      - determine passively cancelled
      - inventory open d:MMO_Menu
    on player drags MMO_Menu_Open:
      - determine cancelled
    on player clicks block with:MMO_Menu_Open:
      - determine passively cancelled
      - inventory open d:MMO_Menu
    on player swaps items:
      - if <context.main.scriptname> == MMO_Menu_Open || <context.offhand.scriptname> == MMO_Menu_Open: 
        - determine passively cancelled
        - inventory open d:MMO_Menu
    on player drops MMO_Menu_Open:
      - determine passively cancelled
      - inventory open d:MMO_Menu
    on player dies:
      - if !<player.world.gamerule[KeepInventory]>:
        - determine <player.inventory.list_contents.exclude[<item[MMO_Menu_Open]>]>

MMO_Menu_Quest:
  type: item
  material: book
  display name: <&d>Quests

MMO_Menu_Attributes:
  type: item
  material: apple
  display name: <&a>Attributes

MMO_Menu_Skills:
  type: item
  material: blaze_powder
  display name: <&c>Skills

MMO_Menu_Player:
  type: item
  material: PLAYER_HEAD
  mechanisms:
      skull_skin: <player.uuid>
  display name: <&9>Player Stats

MMO_Menu_Filler:
  type: item
  material: gray_stained_glass_pane
  display name: <&8>

MMO_Menu_MMOInv:
  type: item
  material: PLAYER_HEAD
  mechanisms:
    skull_skin: 7f4f0b9a-85ff-48fc-bab9-7c78d6f772a4|eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjEyYzBhMzljZjQ2YTcyYzE4ZmJhMzA3YjgxNTQ2MmQxOTk3NGZlZWU3YTA3ODY0MzU2OWRlY2JmNWI3In19fQ==
  display name: <&b>Inventory

MMO_Menu_Waypoints:
  type: item
  material: compass
  display name: <&6>Waypoints

MMO_Menu_Guild:
  type: item
  material: banner
  display name: Guild

MMO_Menu_Close:
  type: item
  material: barrier
  display name: <&f>Close Menu

MMO_Menu_Open:
  type: item
  material: writable_book
  hides: enchants
  display name: <&6>[<&b>RPG Menu<&6>]
  lore:
  - <&9>Click me to open the RPG Command menu!
  enchantments:
  - silk_touch:1

Menu_on_join:
  type: World
  events:
    on player joins:
      - if <player.inventory.slot[9].material.name> == air:
        - inventory set o:MMO_Menu_Open slot:9