SkriptLang / Skript

Skript is a Spigot plugin which allows server admins to customize their server easily, but without the hassle of programming a plugin or asking/paying someone to program a plugin for them.
https://docs.skriptlang.org
GNU General Public License v3.0
1.06k stars 368 forks source link

Command no longer has event-block option #6852

Open ShaneBeee opened 2 months ago

ShaneBeee commented 2 months ago

Skript/Server Version

[09:53:42 INFO]: [Skript] Server Version: 1.21-DEV-aa8d38d (MC: 1.21)
[09:53:42 INFO]: [Skript] Skript Version: 2.8.7 (selfbuilt-unknown)
[09:53:42 INFO]: [Skript] Installed Skript Addons: 
[09:53:42 INFO]: [Skript]  - skript-reflect v2.4 (https://github.com/SkriptLang/skript-reflect)
[09:53:42 INFO]: [Skript]  - SkBee v3.5.6 (https://github.com/ShaneBeee/SkBee)
[09:53:42 INFO]: [Skript]  - SkBriggy v1.3.2
[09:53:42 INFO]: [Skript] Installed dependencies: 
[09:53:42 INFO]: [Skript]  - Vault v1.7.3-b131

Bug Description

According to the docs: https://docs.skriptlang.org/expressions.html?search=#ExprCommandSender

block should be usable in a command to get the CommandBlock issuing a command. I believe this used to work. I have a small feeling this broke due to the changes made regarding holder of block expression.

Expected Behavior

The command block should be returned.

Steps to Reproduce

test code

command /test:
    trigger:
        broadcast "Sender: %sender% // Block: %event-block%"

Errors or Screenshots

error:

[09:53:15 INFO]: Line 4: (test.sk)
[09:53:15 INFO]:     There's no block in a command event
[09:53:15 INFO]:     Line: broadcast "Sender: %sender% // Block: %event-block%"

Other

A possible fix is adding a block event value to the command event.

Agreement

sovdeeth commented 2 months ago

Adding a BlockCommandSender -> Block converter would probably be best here, since sender's location should also be valid.