Paste #136133: Unnamed Denizen Script Paste

Date: 2025/09/09 16:06:27 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link



builderhandlerinv:
    type: inventory
    inventory: chest
    title: <&a>Builders
    gui: true
    slots:
    - [] [] [] [] [] [] [] [] []
    - [] [] [] [] [] [] [] [] []
    - [] [] [] [] [] [] [] [] []
    - [] [] [] [] [] [] [] [] []
    - [] [] [] [] [] [] [] [] []
    - [] [] [] [] [] [] [] [] []

open_inventory_builderhandler:
    type: task
    definitions: mode
    script:
    - define i <inventory[builderhandlerinv]>

    - flag <player> maxmodel:100

    - if !<player.has_flag[pagemodel]>:
        - define num 1
    - else:
        - define num <player.flag[pagemodel]>

    - repeat 45 as:set:
        - if <[num]> != <player.flag[maxmodel]>:
            - inventory set slot:<[set]> d:<[i]> origin:<item[ite<[num]>].with[display_name=<item[ite<[num]>].display><[num]>]>
            - define num:++

    - flag <player> pagemodel:<[num]>

    - inventory set origin:<item[arrow]> d:<[i]> slot:54
    - inventory set origin:<item[arrow]> d:<[i]> slot:46

    - flag <player> ininvmodel
    - inventory open d:<[i]>
    - flag <player> ininvmodel:!

builders_command:
    type: command
    name: builders
    description: builders
    usage: /builders
    script:
    - if <player.is_op>:
        - run open_inventory_builderhandler

buildershandler:
    type: world
    debug: false
    events:
        on player places item_flagged:model:
        - define loc <context.location>
        - define yaw <player.location.yaw.round_to_precision[90]>
        - spawn armor_stand[visible=false] <[loc].center.with_yaw[<[yaw]>]> save:armorstand
        - define armorstand <entry[armorstand].spawned_entity>
        - equip <[armorstand]> head:<context.item_in_hand.script.name>
        - adjust <[armorstand]> disabled_slots:[HEAD=REMOVE;CHEST=PLACE;FEET=ALL|REMOVE]
        - define blocks <[loc].center.find_blocks.within[1]>
        - modifyblock <[blocks]> barrier
        on player clicks item in builderhandlerinv:
        - if <context.slot> < 46:
            - give <context.item>
        - if <context.slot> == 46:
            - flag <player> pagemodel:!
            - run open_inventory_builderhandler
        - if <context.slot> == 54:
            - if <player.flag[pagemodel]> != <player.flag[maxmodel]>:
                - run open_inventory_builderhandler
        on player closes builderhandlerinv:
        - if !<player.has_flag[ininvmodel]>:
            - flag <player> pagemodel:!
            - flag <player> maxmodel:!

ite1:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 1
        flag: model
ite2:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 2
        flag: model
ite3:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 3
        flag: model
ite4:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 4
        flag: model
ite5:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 5
        flag: model
ite6:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 6
        flag: model
ite7:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 7
        flag: model
ite8:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 8
        flag: model
ite9:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 9
        flag: model
ite10:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 10
        flag: model
ite11:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 11
        flag: model
ite12:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 12
        flag: model
ite13:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 13
        flag: model
ite14:
    type: item
    material: stone
    display name: <&3><&l>Model
    allow in material recipes: false
    lore:
    - <&r>Model
    mechanisms:
        custom_model_data: 14
        flag: model