Paste #20142: Untitled Paste

Date: 2015/09/18 14:38:46 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Stoppigspawner:
  type: world
  events:
    on player places mob_spawner:
    - choose "<player.item_in_hand.display>":
      - case "Zombie Spawner":
        - adjust <context.location> spawner_type:e@zombie
      - case "Spider Spawner":
        - adjust <context.location> spawner_type:e@spider
      - case "CaveSpider Spawner":
        - adjust <context.location> spawner_type:e@cave_spider
      - case "Blaze Spawner":
        - adjust <context.location> spawner_type:e@blaze
      - case "Silverfish Spawner":
        - adjust <context.location> spawner_type:e@silverfish
      - case "Skeleton Spawner":
        - adjust <context.location> spawner_type:e@Skeleton
      - case "<&6>Empty Spider Cage":
        - narrate "You cannot place an emtpy cage. If this is not supposed to be an empty cage ask an Admin for help."
        - determine cancelled
      - case "<&6>Empty CaveSpider Cage":
        - narrate "You cannot place an emtpy cage. If this is not supposed to be an empty cage ask an Admin for help."
        - determine cancelled
      - case "<&6>Empty Zombie Cage":
        - narrate "You cannot place an emtpy cage. If this is not supposed to be an empty cage ask an Admin for help."
        - determine cancelled
      - case "<&6>Empty Skeleton Cage":
        - narrate "You cannot place an emtpy cage. If this is not supposed to be an empty cage ask an Admin for help."
        - determine cancelled
      - case "<&6>Empty Blaze Cage":
        - narrate "You cannot place an emtpy cage. If this is not supposed to be an empty cage ask an Admin for help."
        - determine cancelled
      - case "<&6>Empty Silverfish Cage":
        - narrate "You cannot place an emtpy cage. If this is not supposed to be an empty cage ask an Admin for help."
        - determine cancelled

looping:
  type: task
  script:
  - foreach <server.list_online_players> {
    - if <def[value].location.add[0,-1,0].spawner_type||none> == e@Spider {
      - if "<def[value].inventory.contains.display[Empty Spider Cage].qty[1]>" {
        - if <def[value].inventory.can_fit[bedrock].qty[1]> == true {
          - ^execute as_server 'give <def[value].name> minecraft:mob_spawner 1 0 {display:{Name:"Spider Spawner"}, BlockEntityTag:{EntityId:Spider}}'
          - ^execute as_server 'execute <def[value].name> ~ ~ ~ setblock ~ ~-1 ~ minecraft:air'
          - ^take "bydisplay:<&6>Empty Spider Cage" from:<def[value].inventory> qty:1
          } else {
          - execute as_server 'msg <def[value].name> Your inventory is full.'
          }
        }
      }
    - if <def[value].location.add[0,-1,0].spawner_type||none> == e@Zombie {
      - if "<def[value].inventory.contains.display[Empty Zombie Cage].qty[1]>" {
        - if <def[value].inventory.can_fit[bedrock].qty[1]> == true {
          - ^execute as_server 'give <def[value].name> minecraft:mob_spawner 1 0 {display:{Name:"Zombie Spawner"}, BlockEntityTag:{EntityId:Zombie}}'
          - ^execute as_server 'execute <def[value].name> ~ ~ ~ setblock ~ ~-1 ~ minecraft:air'
          - ^take "bydisplay:<&6>Empty Zombie Cage" from:<def[value].inventory> qty:1
          } else {
          - execute as_server 'msg <def[value].name> Your inventory is full.'
          }
        }
      }
    - if <def[value].location.add[0,-1,0].spawner_type||none> == e@Skeleton {
      - if "<def[value].inventory.contains.display[Empty Skeleton Cage].qty[1]>" {
        - if <def[value].inventory.can_fit[bedrock].qty[1]> == true {
          - ^execute as_server 'give <def[value].name> minecraft:mob_spawner 1 0 {display:{Name:"Skeleton Spawner"}, BlockEntityTag:{EntityId:Skeleton}}'
          - ^execute as_server 'execute <def[value].name> ~ ~ ~ setblock ~ ~-1 ~ minecraft:air'
          - ^take "bydisplay:<&6>Empty Skeleton Cage" from:<def[value].inventory> qty:1
          } else {
          - execute as_server 'msg <def[value].name> Your inventory is full.'
          }
        }
      }
    - if <def[value].location.add[0,-1,0].spawner_type||none> == e@Cave_Spider {
      - if "<def[value].inventory.contains.display[Empty CaveSpider Cage].qty[1]>" {
        - if <def[value].inventory.can_fit[bedrock].qty[1]> == true {
          - ^execute as_server 'give <def[value].name> minecraft:mob_spawner 1 0 {display:{Name:"CaveSpider Spawner"}, BlockEntityTag:{EntityId:CaveSpider}}'
          - ^execute as_server 'execute <def[value].name> ~ ~ ~ setblock ~ ~-1 ~ minecraft:air'
          - ^take "bydisplay:<&6>Empty CaveSpider Cage" from:<def[value].inventory> qty:1
          } else {
          - execute as_server 'msg <def[value].name> Your inventory is full.'
          }
        }
      }
    - if <def[value].location.add[0,-1,0].spawner_type||none> == e@Silverfish {
      - if "<def[value].inventory.contains.display[Empty Silverfish Cage].qty[1]>" {
        - if <def[value].inventory.can_fit[bedrock].qty[1]> == true {
          - ^execute as_server 'give <def[value].name> minecraft:mob_spawner 1 0 {display:{Name:"Silverfish Spawner"}, BlockEntityTag:{EntityId:Silverfish}}'
          - ^execute as_server 'execute <def[value].name> ~ ~ ~ setblock ~ ~-1 ~ minecraft:air'
          - ^take "bydisplay:<&6>Empty Silverfish Cage" from:<def[value].inventory> qty:1
          } else {
          - execute as_server 'msg <def[value].name> Your inventory is full.'
          }
        }
      }
    - if <def[value].location.add[0,-1,0].spawner_type||none> == e@Blaze {
      - if "<def[value].inventory.contains.display[Empty Blaze Cage].qty[1]>" {
        - if <def[value].inventory.can_fit[bedrock].qty[1]> == true {
          - ^execute as_server 'give <def[value].name> minecraft:mob_spawner 1 0 {display:{Name:"Blaze Spawner"}, BlockEntityTag:{EntityId:Blaze}}'
          - ^execute as_server 'execute <def[value].name> ~ ~ ~ setblock ~ ~-1 ~ minecraft:air'
          - ^take "bydisplay:<&6>Empty Blaze Cage" from:<def[value].inventory> qty:1
          } else {
          - execute as_server 'msg <def[value].name> Your inventory is full.'
          }
        }
      }
  }
  - run looping instantly delay:100t