expressionwho last changed block at <location>HyperLogexample
The name of whoever last placed or broke the block there; unset if nobody is on record
set {_name} to who last changed block at player's location
expressionblock changes at <location>HyperLogexample
What happened to that block, newest first, as a list of lines such as Steve placed stone, 5 minutes ago. Looks back 30 days
set {_lines} to block changes at player's location in the last 7 days
expressionblock changes at <location> in the last <duration>HyperLogexample
The same, as far back as you say
set {_lines} to block changes at player's location in the last 7 days
expressionblock changes by <who> in the last <duration>HyperLogexample
What that player placed and broke in that time, newest first, each line with its place
set {_did} to block changes by arg.1 in the last 1 hour within 50 blocks of player
expression... within <n> blocks of <location>HyperLogexample
Behind block changes by: only around a place
rollback everything for 10 minutes within 20 blocks of player
Guide and examples
command /history:
permission: "staff.history"
trigger:
async:
set {_lines} to block changes at player's location in the last 7 days
loop {_lines}:
send "&7%loop-value%"
else:
send "&7Nothing happened to this block."
command /griefcheck <target>:
permission: "staff.griefcheck"
trigger:
async:
set {_did} to block changes by arg.1 in the last 1 hour within 50 blocks of player
send "&7%arg.1% changed &f%size of {_did}% &7blocks near you in the last hour."
Syntax
Meaning
who last changed block at <location>
The name of whoever last placed or broke the block there; unset if nobody is on record
block changes at <location>
What happened to that block, newest first, as a list of lines such as Steve placed stone, 5 minutes ago. Looks back 30 days
block changes at <location> in the last <duration>
The same, as far back as you say
block changes by <who> in the last <duration>
What that player placed and broke in that time, newest first, each line with its place
... within <n> blocks of <location>
Behind block changes by: only around a place
Put lookups in an async: block, as the examples do. CoreProtect reads its database to answer, and that should not hold up the server.
<who> is a name, and it need not be somebody who is online. Where a location is asked for, player stands for where the player is.