Silk Spawners

Hydra

Helper
Staff member
Helper
Jan 26, 2019
23
6
3
30
Simple script replacement for an entire plugin concept: Silk-touch pickaxes retain spawners when broken.

Step One: Hold your pickaxe
Step Two: Swing your pickaxe at spawner
Step Three: $$$$$

Here's the haste link: https://one.denizenscript.com/haste/67203

And here's the raw script:
Code:
Silk_Spawners:
    type: world
    debug: false
    events:
        on player breaks spawner with *pickaxe:
            - if !<player.item_in_hand.enchantments.contains[silk_touch]>:
                - stop
            - define Type <context.location.spawner_type.entity_type.to_titlecase>
            - determine <context.material.item.with[display_name=<[Type]><&sp>Spawner;nbt=key/<[Type]>]>
        on player places spawner:
            - if !<context.item_in_hand.has_nbt[key]>:
                - stop
            - define Type <context.item_in_hand.nbt[key]>
            - wait 1t
            - adjust <context.location> spawner_type:<[Type]>
 

mcmonkey

Administrator
Staff member
Helper
Code:
        on player places spawner:
            - if !<player.item_in_hand.has_nbt[key]>:
                - stop
            - if <context.hand> == HAND:
                - define Type <player.item_in_hand.nbt[key]>
            - else:
                - define Type <player.item_in_offhand.nbt[key]>
^ somethings gone funky in the handedness logic here.
Code:
            - modifyblock <context.location> spawner
^ is there a particular reason for this modifyblock of a block into what it should already be?
 

Hydra

Helper
Staff member
Helper
Jan 26, 2019
23
6
3
30
mcmonkey said:
^ somethings gone funky in the handedness logic here.
I forgot to change that to the context as opposed to the playertag's equivalent; thanks for pointing that out

mcmonkey said:
^ is there a particular reason for this modifyblock of a block into what it should already be?
I don't think so, I can't remember why I had that there, and it clearly works without it so I've removed it. Thanks!