Paste #50434: Edit of P#50433 dEssentials Home Menu

Date: 2018/10/27 13:12:37 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


dessentials_home_menu:
  type: inventory
  debug: true
  inventory: chest
  title: <red>Heim Menu
  size: 18
  definitions:
    # translate: uhu: i@human_skull[skull_skin=<player.name>;display_name=<&4>Your Home Menu;lore=<&2>The beds are showing your homes]
    uhu: i@human_skull[skull_skin=<player.name>;display_name=<&4>Das Heim Menu;lore=<&2>Die Betten zeigen Deine Heime]
    # translate: bed: i@bed:14[display_name=<&4>Your Bed;lore=<&2>Only for bed owners]
    bed: i@bed:14[display_name=<&4>Dein Bett;lore=<&2>Nur, wenn Du ein Bett hast]

  procedural items: 
    - define list li@ 
    - foreach <player.home_name_list>: 
      - define item i@bed:<def[loop_index].sub[1]>[lore=<def[value]>]
      #translate: - adjust <def[item]> display_name:Teleportingtarget save:item
      - adjust <def[item]> display_name:Teleportziel save:item
      - adjust <entry[item].result> "lore:<def[value]>" save:item
      - define item <entry[item].result>
      - define list <def[list].include[<def[item]>]> 
    - determine <def[list]> 

  slots:
    - "[uhu] [bed] [i@air] [] [] [] [] [] [] "
    - "[] [] [] [] [] [] [] [] []"

dessentials_home_menu_handler:
  type: world
  debug: true
  events:
    on player clicks in dessentials_home_menu:
    - if <c.item.material.contains[bed]> {
      - if <c.item.display.contains[Dein<&sp>Bett].not> {
        - execute as_player "home <c.item.lore.get[1]||ibash>"
        #translate: - narrate "<&6>You are going to your home: <&2><c.item.lore.get[1]||ibash>"
        - narrate "<&6>Du gehst zu Deinem Heim: <&2><c.item.lore.get[1]||ibash>"
        - inventory close d:<c.inventory>
        - queue clear
      }
      - if <player.bed_spawn> == null {
        #translate - narrate "<&4>You do not own a bed, where you can go to!"
        - narrate "<&4>Du hast kein Bett, zu dem Du teleportieren kannst!"
        - queue clear
      }
      else {
        - execute as_player "home bed"
        - queue clear
      }
    }  
    - determine passively cancelled
    on home command:
    - if <player.has_permission[essentials.home].not> {
      #translate: - narrate "<&4>You do not have the permission to use this!"
      - narrate "<&4>Du hast nicht die Permission, dies zu benutzen!"
    }
    - if <c.args.get[1]||null> == null && <player.home_name_list.size> >= 2 && <player.has_permission[essentials.home]> {
      - inventory open d:in@dessentials_home_menu
      - determine fulfilled
    }
    - if <c.args.get[1]||null> != null && <player.home_name_list.size> < 2 && <player.has_permission[essentials.home]> {
      - queue clear
    }

home_menu_version:
  type: dessentials_home_menu
  name: dEssentials Home Menu
  description: /home brings up a menu for your homes
  version: 0.7.6
  author: n0nnie
  id: 151