#(taigacraft34) Detect ore vein

18 messages · Page 1 of 1 (latest)

nova ravine
#

Hello,
I have a script that sends a message to ops when someone mines diamond ore, but I was wondering if there was a way for it to send the whole vein of ore in one message instead of doing it one message per block

Thanks

steady vergeBOT
#

(taigacraft34) Detect ore vein

steady vergeBOT
#

Hi I'm AutoThreadBot! Don't mind me, I'll just be adding the helper team to this thread so they can see it. A human will get to you soon.

pastel zodiac
#

hmm something as simple as ratelimit could work

#

!c ratelimit

weak iglooBOT
# pastel zodiac !c ratelimit
Group

queue

Syntax

ratelimit [<object>] [<duration>]

Short Description

Limits the rate that queues may process a script at.

Description

Limits the rate that queues may process a script at.
If another queue tries to run the same script faster than the duration, that second queue will be stopped.

Note that the rate limiting is tracked based on two unique factors: the object input, and the specific script line.
That is to say: if you have a 'ratelimit <player> 10s', and then a few lines down a 'ratelimit <player> 10s',
those are two separate rate limiters.
Additionally, if you have a 'ratelimit <player> 10s' and two different play...

pastel zodiac
#

but is there some reason why arent you using the papers builtin antixray?

nova ravine
gaunt basaltBOT
pastel zodiac
#

ohhh

#

hmmm

severe peak
#

You'll need to create some kind of a workaround. Honestly, there's many ways to implement that, one trickier than another...

You can make a timer, for example. Do not send the message right after someone mined an ore, start 10-15s timer and count all ores mined in that period (maybe refreshing the timer after next ore block mined), when the timer runs out (or player starts digging another type of ore) = print the message

Or, which is more difficult, you can also check nearest area for ores when player mines one. Like, someone digging diamond block, there's 3 more, script saves that and after player digs 3 more diamonds it prints the message

atomic fox
#

you could also use a flood_fill and flag all blocks part of the vein, if its flagged when mined then it will not count to the counter

#

!t locationtag.flood_fill

weak iglooBOT
# atomic fox !t locationtag.flood_fill

Returns the set of all blocks, starting at the given location,
that can be directly reached in a way that only travels through blocks of the same type as the starting block.
For example, if starting at an air block inside an enclosed building, this will return all air blocks inside the building (but none outside, and no non-air blocks).
As another example, if starting on a block of iron_ore in the ground, this will find all other blocks of iron ore that are part of the same vein.
This will not t...

Group

world

Returns

ListTag(LocationTag)