Paste #36531: Edit of P#36530 Item Bind API

Date: 2016/09/29 06:54:24 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


BindItem_Listener:
  type: world
  debug: false
  events:
    on player changes gamemode to creative:
    - foreach <player.inventory.list_contents>:
      - if <def[value].scriptname.starts_with[Bind_]||false> take <def[value]> qty:<player.inventory.quantity[<def[value]>]>
    on player drops item:
    - if <c.item.scriptname.starts_with[Bind_]||false> determine CANCELLED
    on player drags item:
    - if <c.item.scriptname.starts_with[Bind_]||false> && <c.raw_slots.filter[is[less].than[<c.inventory.size>]].size.is[more].than[0]> determine CANCELLED
    on player clicks in inventory:
    - if <c.action.is[==].to[NOTHING]> queue clear
    - if <c.action.starts_with[DROP].and[<c.cursor_item.scriptname.starts_with[Bind_].or[<c.item.scriptname.starts_with[Bind_]||false>]||false>]||false> determine CANCELLED
    - if <c.item.scriptname.starts_with[Bind_]||false> {
      - if <c.action.starts_with[DROP]> determine CANCELLED
      - if <c.action.is[==].to[MOVE_TO_OTHER_INVENTORY]> && <c.inventory.inventory_type.is[!=].to[CRAFTING]> {
        - determine CANCELLED
        }
      }
    - if <c.cursor_item.scriptname.starts_with[Bind_]||false> {
      - if <c.action.starts_with[DROP]> || <c.raw_slot.is[or_less].than[<c.inventory.size>]> {
        - determine passively CANCELLED
        - inventory update d:<player.inventory>
        - queue clear
        }
      }
    - if <c.action.is[==].to[HOTBAR_SWAP]> {
      - if <player.inventory.slot[<c.hotbar_button>].scriptname.starts_with[Bind_]||false> && <c.raw_slot.is[or_less].than[<c.inventory.size>]> determine CANCELLED
      }
    on item recipe formed:
    - if <c.recipe.parse[scriptname].filter[starts_with[Bind_]].size.is[more].that[0]> determine CANCELLED
    on player death:
    - determine <c.drops.exclude[<c.drops.filter[scriptname.starts_with[Bind_]]>]>
    on system time hourly: 
    - webget "http://stats.denizenscript.com/tracker?script=114&version=0.01"