cant just blame the algorithm tho. Datapack making in general is severely underrated and even though we're growing every time mojang gives us new datapack features, we also lose some because of how stressful and limited datapack making is. Stuff will definitely change if they finally gave us more data-driven features and people like Conure will gain more subs because we'll need more people like him
i have never touched structure blocks in minecraft but i recognize a useful thing when i see it, gonna leave a comment so more people have a chance of seeing this. nice work
Another nice addition to this could be a command to give you a clickable item that performs the fill macros every time they're used, especially for dynamic fills. That way you could type the command once to get a clickable item that replaces all air blocks with a specified one, like voids or bedrock or something else, but you only need to run the command once and then just have the item available. Then again, really thinking about it, that would be a good idea for a datapack in general- a function macro item generator. You can just pass it the function to call and parameters to pass (if required) and get an item that runs it every time clicked. I might just do that myself, in fact...
This would be super super handy for me if I had kept learning how to make structures last year lol. Good tool! Seems really useful. Hopefully lots of people can give this a try.
Really really useful actually! This gave me ideas to further expand its functionality: For example, being able to change the box's volume and displacement/offset in-world.
Something I forgot to mention is that it auto-updates when you make these changes! You can move the box around from within the structure block UI, and if you do, your commands will automatically obey that without needing to re-select the structure block
@@conure512 I somehow expected you'd have done something like that instead of brute forcing it, but woah it makes so much sense to re calc before every command. You're too smart 😔
I would like to mention that "Structure Gel API" mod has similar (and expanded) functionality. I understand this is a good alternative for vanilla Minecraft though.
Another simple algorithm that could be used, at least for relatively basic structures that only consist of an "inside" and "outside" is just doing a collision line from a point to the edges of the space, or the first collision with the boundary of the shape (whichever comes first) in both directions. If that line intersects with an even number of points on the boundary of the shape in that space, it must be INSIDE the shape, but if it intersects at an odd number of points, it must be outside. Now, you don't actually need to perform a raycast at every block, as you would be iterating over the blocks and keeping track of the number of structure solid boundaries you've crossed as you do. It has a bit more to account for obviously, but I've got an idea in mind for how it could be done. Of course, that's not to say your spreading approach is bad at all, it only fails in situations where the structure features multiple outer sections entirely separated by walls, but then you can just run the command 2 or 3 times, but it's still a neat idea to me to do it all in one go.
This is definetly going in my Playlist for stuff i will use in the future, thanks! Though i do not think as of right now i will use the structure blocks... yet
Thank you, but no, I'm not gonna do that haha. When you don't ask, the people who DO subscribe tend to be much more likely to stick around rather than unsub or just stop watching your content Also it just kinda feels rude to ask for it lol
WAIT, MACROS ARE A THING NOW!?!?!? When were those added, out of curiosity? That's actually really awesome, and was one of the main things functions/commands were missing. I remember being unable to do a lot of things simply because I couldn't use scoreboard variables in the place of coordinates.
Macros were added back in 1.20.2 and lots of people completely missed it because it was the SAME SNAPSHOT where they introduced the villager trade rebalance that everyone got so mad about
@@conure512 Crazy. Just goes to show you that Mojang isn't to be grouped all into one bad bag. While I think all the devs *believe* they're working in the community's best interest, only some of them know what the community really wants (though I will say villager trade rebalancing doesn't bother me as much, personally I think traveling to a biome is nicer than rerolling books for thirty minutes).
hey boy theres a cool server called legitimoose its pretty cool and lets you show off data packs (please help the server is dying and has such good mini-games just no audience retention.)
I could, but I wanted to reduce lag a bit and also it ended up looking really cool. Even as it is now, the game starts running several ticks behind on larger structures
in the "update_all_markers" you have a schedule for 1 tick.. why? I haven't tried this datapack yet, but I'm pretty sure it can work without the schedule, making the dynamic fill instant
It could work that way but it's MUCH more likely to crash the server. that function already causes lag for big structures as-is. And plus it looks cool :)
You could MAYBE try it and see if it works as far back as 1.20.2 (I haven't tested it) but the macros, which are a crucial part, were added in 1.20.2. So no, 1.19 isn't feasible unfortunately Edit: Turns out, you can use it in 1.20.4 (not 1.20.2), BUT in that version the blaze rod method for selecting a block doesn't work (you have to use the command).
Starting the algorithm places a marker, then every tick, each marker places more markers near it. If they're outside the box or not touching air, they die, and otherwise they just continue the chain and place voids. The ticking is done from a scheduled function that reschedules itself only if more markers still exist, so there's no ambient ticking commands running all the time.
No? I can see your comments just fine Sometimes I have noticed some comments showing up in my unread feed, and when i actually go to the video, theyre just gone. i think youtube sometimes just decides to have a stroke
Brother at this point you should have at least 10k subscribers
cant just blame the algorithm tho. Datapack making in general is severely underrated and even though we're growing every time mojang gives us new datapack features, we also lose some because of how stressful and limited datapack making is.
Stuff will definitely change if they finally gave us more data-driven features and people like Conure will gain more subs because we'll need more people like him
they have mine!
Omg you don’t know how much PAIN IVE ENDURED while trying to hollow out structures. This is a life saver. Subbed
slugcat pfp is wild
@@callisto9_2 I get so many of these comments lmao
Slugcar
Fyi, the proper name fir "dynamic fill" is "flood fill"
Very useful though!
Good to know!
i have never touched structure blocks in minecraft but i recognize a useful thing when i see it, gonna leave a comment so more people have a chance of seeing this. nice work
fair enough, macros are always really useful!
This is magic, I cannot be convinced otherwise
Umm actually its […]🤓🤓🤓
i don't make custom structures but your videos are super entertaining to watch, really underrated
Another nice addition to this could be a command to give you a clickable item that performs the fill macros every time they're used, especially for dynamic fills. That way you could type the command once to get a clickable item that replaces all air blocks with a specified one, like voids or bedrock or something else, but you only need to run the command once and then just have the item available.
Then again, really thinking about it, that would be a good idea for a datapack in general- a function macro item generator. You can just pass it the function to call and parameters to pass (if required) and get an item that runs it every time clicked. I might just do that myself, in fact...
oh this is HUGE, i wish i had this years ago...
I think you just saved me from going insane, I am working on a dungeon generator and I have BILLIONS of structure voids to place xD ❤👍
Bro just took hours of manually doing voids and turned it into minutes
3D paint bucket tool
This would be super super handy for me if I had kept learning how to make structures last year lol. Good tool! Seems really useful. Hopefully lots of people can give this a try.
Really really useful actually!
This gave me ideas to further expand its functionality:
For example, being able to change the box's volume and displacement/offset in-world.
Something I forgot to mention is that it auto-updates when you make these changes! You can move the box around from within the structure block UI, and if you do, your commands will automatically obey that without needing to re-select the structure block
@@conure512 That's some QoL right there :) Does it take the data every tick or periodically?
@@AndreSkipper Neither - it just re-calculates the bounding box every time you run one of those commands!
@@conure512 I somehow expected you'd have done something like that instead of brute forcing it, but woah it makes so much sense to re calc before every command. You're too smart 😔
lmao imagining a mojang dev using this, very clever
this is AMAZING. this will save so much time on everything.
genuinely an amazing datapack. I dont particularly use structure blocks, only used once or twice but this is world edit levels of useful
I feel like you've just opened the floodgates, man. We're gonna see a lot more structures, now! Nice work.
So like a bucket fill on a draw program. Sick
So its like the fill bucket in paint, nice
I would like to mention that "Structure Gel API" mod has similar (and expanded) functionality. I understand this is a good alternative for vanilla Minecraft though.
this looks perfect for a project i'm currently working on! tysm!
Well done
You're a wizard.
Another simple algorithm that could be used, at least for relatively basic structures that only consist of an "inside" and "outside" is just doing a collision line from a point to the edges of the space, or the first collision with the boundary of the shape (whichever comes first) in both directions. If that line intersects with an even number of points on the boundary of the shape in that space, it must be INSIDE the shape, but if it intersects at an odd number of points, it must be outside.
Now, you don't actually need to perform a raycast at every block, as you would be iterating over the blocks and keeping track of the number of structure solid boundaries you've crossed as you do. It has a bit more to account for obviously, but I've got an idea in mind for how it could be done.
Of course, that's not to say your spreading approach is bad at all, it only fails in situations where the structure features multiple outer sections entirely separated by walls, but then you can just run the command 2 or 3 times, but it's still a neat idea to me to do it all in one go.
This seems like it is really helpful
This is SOOOO underrated!
This is definetly going in my Playlist for stuff i will use in the future, thanks!
Though i do not think as of right now i will use the structure blocks... yet
i dont even need this i just like watching it
MAN THIS IS SOO GOOD, thank you so much
this is awesome thank you dude
cool! I think flood fill would have been a better name. cheers
why did you wait till now to make this???
my life just got 200x easier
I watched you for the custom enchantment content! Need more enchantment content!
Im always watching 😂 also fancy data pack I like it ❤
Really cool! Good work :)
surprised you didnt call it flood fill instead of dynamic fill
that does sound really cool. but then again i think dynamic fill does too lol
@@conure512 It's not because it sounds cool, it's because it's the literal name of the algorithm en.wikipedia.org/wiki/Flood_fill
@@zperk13 Huh. Didn't know it was already a thing. That's neat
I think what you call "dynamic fill" is actually called "flood fill"
An undo command would probably be useful
This is really cool.
This is lit 🔥🔥
ARRRGHHHHHH FINALLY
Very cool. Also how am I not already subscribed to you lol... REMIND PEOPLE TO SUBSCRIBE!
Thank you, but no, I'm not gonna do that haha. When you don't ask, the people who DO subscribe tend to be much more likely to stick around rather than unsub or just stop watching your content
Also it just kinda feels rude to ask for it lol
@@conure512 that's true!
bro made a library datapack
WAIT, MACROS ARE A THING NOW!?!?!? When were those added, out of curiosity? That's actually really awesome, and was one of the main things functions/commands were missing. I remember being unable to do a lot of things simply because I couldn't use scoreboard variables in the place of coordinates.
Almost a year ago now
Macros were added back in 1.20.2 and lots of people completely missed it because it was the SAME SNAPSHOT where they introduced the villager trade rebalance that everyone got so mad about
@@conure512 Crazy. Just goes to show you that Mojang isn't to be grouped all into one bad bag. While I think all the devs *believe* they're working in the community's best interest, only some of them know what the community really wants (though I will say villager trade rebalancing doesn't bother me as much, personally I think traveling to a biome is nicer than rerolling books for thirty minutes).
Must-have
nice
hey boy theres a cool server called legitimoose its pretty cool and lets you show off data packs (please help the server is dying and has such good mini-games just no audience retention.)
I love it ❤
fuckin brilliant
sick
Woah
Friendship ended with /fill.
yo. im using this. i love you you are so skibidi
im hoping thats a compliment
@@conure512 yes it is this is sick dude
this made me physically recoil
@@DankMemz69 ur not a sigma
You could have made the dynamic fill work in one tick… but then it would look less cool. :D It takes at most 7.2 seconds anyway.
I could, but I wanted to reduce lag a bit and also it ended up looking really cool. Even as it is now, the game starts running several ticks behind on larger structures
Chief we might need a macro tutorial next ngl, or maybe you've posted it?
No I haven't but that's a good idea!
Yess please, great Idea!
When you imported the structure again, it left the name in chat, which I think includes the project name. Isn't that supposed to be secret for now?
Eons is not a secret (lots of people have already made videos on the SMP) but what the structures for the next eon actually look like is a secret :)
Neat
in the "update_all_markers" you have a schedule for 1 tick.. why? I haven't tried this datapack yet, but I'm pretty sure it can work without the schedule, making the dynamic fill instant
It could work that way but it's MUCH more likely to crash the server. that function already causes lag for big structures as-is. And plus it looks cool :)
Have some video engagement
Cant believe i forgot to subscribe (solved)
Does this require commands introduced in 1.20.6 or is it possible to backport this to 1.19?
You could MAYBE try it and see if it works as far back as 1.20.2 (I haven't tested it) but the macros, which are a crucial part, were added in 1.20.2. So no, 1.19 isn't feasible unfortunately
Edit: Turns out, you can use it in 1.20.4 (not 1.20.2), BUT in that version the blaze rod method for selecting a block doesn't work (you have to use the command).
i need to know I NEED TO KNOW how this works
Starting the algorithm places a marker, then every tick, each marker places more markers near it. If they're outside the box or not touching air, they die, and otherwise they just continue the chain and place voids.
The ticking is done from a scheduled function that reschedules itself only if more markers still exist, so there's no ambient ticking commands running all the time.
@@conure512
amazing
i had no idea you could detect being outside the bounding box of a structure block
@@NotBigSurprise It takes some math, you have to save the corners as scoreboard values and then compare those to your current position
@@conure512
ohhh
and you get the values by getting the data from the structure block! right?
What mc version is this for?
w
damn
Oooooooooooooooo
:D
am i banned from commenting or something
No? I can see your comments just fine
Sometimes I have noticed some comments showing up in my unread feed, and when i actually go to the video, theyre just gone. i think youtube sometimes just decides to have a stroke
@@conure512 oh bc i couldn't see my replies i sent to you
could you make a jigsaw tutorial for bedrock ed?
this is crazy useful thank you