The Wild Mod [Fabric]

The Wild Mod [Fabric]

658k Downloads

Better Sculk Spread

Xfrtrex opened this issue ยท 43 comments

commented

So if you have a catalyst, you can see that the sculk generates in a line kind of way:
2022-01-29_12 32 05
it would be better if it generate more circular with less veins like this:
2022-01-29_12 35 36
(prob bigger then that but yeah)

Edit From AViewFromTheTop:

  • Make Sculk spread in singular, larger blobs, rather than several smaller patches (bedrock & mc live behaviour)
  • Sculk Sensors can't grow within 3 blocks of another Sensor
  • Make checks Catalyst to dictate spread radius (possibly remove spreadMultiplier gamerule)
  • Make sculk spread outward if catalyst's detection radius is filled with Sculk
commented

ah, alright. it looks amazing so far, good job!

Thank you! Also there is a problem- Activator placement runs in a different thread than Sculk placement, so this is quite tricky to do... I might have to merge them into one thread, honestly, and that could hurt performance. To balance out the performance drain, we could always just raise the default value of the sculkThreads gamerule.

yeah, we might have to. it's not like it'll make much of a difference if we raise it to 3 or 4, since essentially nobody has only 1 or 2 cpu cores lol

by the way, i'm sure you're aware but wardens still aren't spawning from shriekers. it was working a couple of days ago and i can't recall you changing anything, so that's the weird part

it's been working fine for me... Odd.

hm. i'll try it in a different world then, there's a possibility the one i'm using is corrupted

i forgot to pull new commits lol

buh moment

commented

Oh wow. Removing multithreading makes this FASTER, actually... Strange.
I was always watching performance and worrying that this would be the case, but I've finally gotten an answer, I guess.

commented

Oh wow. Removing multithreading makes this FASTER, actually... Strange. I was always watching performance and worrying that this would be the case, but I've finally gotten an answer, I guess.

huh. that's really strange, actually lol

commented

Oh wow. Removing multithreading makes this FASTER, actually... Strange. I was always watching performance and worrying that this would be the case, but I've finally gotten an answer, I guess.

huh. that's really strange, actually lol

2022-01-30_15 16 22

I just got the non-threaded Sculk working properly (not the activator placement though) and it's looking great! I'll go back to multithreaded, I have a feeling that I just screwed something up with it and that's why it caused lag.

commented

Oh wow. Removing multithreading makes this FASTER, actually... Strange. I was always watching performance and worrying that this would be the case, but I've finally gotten an answer, I guess.

huh. that's really strange, actually lol

2022-01-30_15 16 22

I just got the non-threaded Sculk working properly (not the activator placement though) and it's looking great! I'll go back to multithreaded, I have a feeling that I just screwed something up with it and that's why it caused lag.

yeah i did screw something up with threading, it's working mostly* fine now.
*I think I just broke something else

commented

it looks REALLY good so far, even if it is broken

commented

It may be a little while until I get around to this, but @BluePhoenixLOL @MerpisMe , should Sculk be able to replace blocks that aren't exposed to air?

We also need to make the sculk_replaceable tag more accurate, kingbdogz confirmed that Sculk will only replace specific blocks that naturally generate in the overworld, so I think it's safe to just change it back to the current blocks it can replace in Bedrock.

commented

@MerpisMe , should Sculk be able to replace blocks that aren't exposed to air?

no, sculk should only spread to blocks exposed to air. this is exactly how it works in mc live, in bedrock, and even in the deep dark city structures.

We also need to make the sculk_replaceable tag more accurate, kingbdogz confirmed that Sculk will only replace specific blocks that naturally generate in the overworld, so I think it's safe to just change it back to the current blocks it can replace in Bedrock.

it should already be like this if i'm not mistaken.

i think you might have taken the ideas that were being proposed out of context, so i've gone ahead and updated the checklist with what i believe xfrtrex was trying to convey.

commented

@MerpisMe , should Sculk be able to replace blocks that aren't exposed to air?

no, sculk should only spread to blocks exposed to air. this is exactly how it works in mc live, in bedrock, and even in the deep dark city structures.

We also need to make the sculk_replaceable tag more accurate, kingbdogz confirmed that Sculk will only replace specific blocks that naturally generate in the overworld, so I think it's safe to just change it back to the current blocks it can replace in Bedrock.

it should already be like this if i'm not mistaken.

i think you might have taken the ideas that were being proposed out of context, so i've gone ahead and updated the checklist with what i believe xfrtrex was trying to convey.

I was thinking about a circular area cause of the new screenshots, the Sculk was spreading on the walls and ceilings and was in a circular shape

commented

@MerpisMe , should Sculk be able to replace blocks that aren't exposed to air?

no, sculk should only spread to blocks exposed to air. this is exactly how it works in mc live, in bedrock, and even in the deep dark city structures.

We also need to make the sculk_replaceable tag more accurate, kingbdogz confirmed that Sculk will only replace specific blocks that naturally generate in the overworld, so I think it's safe to just change it back to the current blocks it can replace in Bedrock.

it should already be like this if i'm not mistaken.

i think you might have taken the ideas that were being proposed out of context, so i've gone ahead and updated the checklist with what i believe xfrtrex was trying to convey.

Also I don't think that checking an entire radius for Sculk is feasible

commented

@MerpisMe , should Sculk be able to replace blocks that aren't exposed to air?

no, sculk should only spread to blocks exposed to air. this is exactly how it works in mc live, in bedrock, and even in the deep dark city structures.

We also need to make the sculk_replaceable tag more accurate, kingbdogz confirmed that Sculk will only replace specific blocks that naturally generate in the overworld, so I think it's safe to just change it back to the current blocks it can replace in Bedrock.

it should already be like this if i'm not mistaken.
i think you might have taken the ideas that were being proposed out of context, so i've gone ahead and updated the checklist with what i believe xfrtrex was trying to convey.

I was thinking about a circular area cause of the new screenshots, the Sculk was spreading on the walls and ceilings and was in a circular shape

oh, okay, thats what you meant. i thought you meant that it would spread outwards directly from the catalyst, which is.. weird.

oh, by the way,

warden_emerge.mp4

this is without geckolib :)

HOWEVER, it is done entirely manually. i have been working on this for over 12 hours. rather than having actual keyframes, i have to manually subtract each next value from the previous, so there are several hundreds of inaccuracies that i just cannot be bothered to fix. anyway, my issue now is that the other animations override it, so i've had to disable them by making them check for an unchanging value for the time being. when you get back from your break, could you show me how i would go about doing that?

commented

warden_emerge.mp4
this is without geckolib :)
HOWEVER, it is done entirely manually. i have been working on this for over 12 hours. rather than having actual keyframes, i have to manually subtract each next value from the previous, so there are several hundreds of inaccuracies that i just cannot be bothered to fix. anyway, my issue now is that the other animations override it, so i've had to disable them by making them check for an unchanging value for the time being. when you get back from your break, could you show me how i would go about doing that?

I hate to say this but I have NO clue how to do that, I'm only gonna be useful in hand-drawn animation... Minecraft animations are a whole other beast, and I'm genuinely surprised you got it working!

well, you did just get it working in your latest commit! now we need to figure out frogs and digging lol

commented

warden_emerge.mp4
this is without geckolib :)

HOWEVER, it is done entirely manually. i have been working on this for over 12 hours. rather than having actual keyframes, i have to manually subtract each next value from the previous, so there are several hundreds of inaccuracies that i just cannot be bothered to fix. anyway, my issue now is that the other animations override it, so i've had to disable them by making them check for an unchanging value for the time being. when you get back from your break, could you show me how i would go about doing that?

I hate to say this but I have NO clue how to do that, I'm only gonna be useful in hand-drawn animation... Minecraft animations are a whole other beast, and I'm genuinely surprised you got it working!

commented

wait, i think this is actually already a thing that happens with higher exp mobs 2022-01-30_09 48 48 this is from a ravager

Merp I wrote the spreading code
It doesn't check for all Sculk in a radius, it just expands the radius based on the mob's default XP drop

commented

@MerpisMe , should Sculk be able to replace blocks that aren't exposed to air?

no, sculk should only spread to blocks exposed to air. this is exactly how it works in mc live, in bedrock, and even in the deep dark city structures.

We also need to make the sculk_replaceable tag more accurate, kingbdogz confirmed that Sculk will only replace specific blocks that naturally generate in the overworld, so I think it's safe to just change it back to the current blocks it can replace in Bedrock.

it should already be like this if i'm not mistaken.
i think you might have taken the ideas that were being proposed out of context, so i've gone ahead and updated the checklist with what i believe xfrtrex was trying to convey.

Also I don't think that checking an entire radius for Sculk is feasible

wait, i think this is actually already a thing that happens with higher exp mobs
2022-01-30_09 48 48
this is from a ravager

commented

@BluePhoenixLOL @MerpisMe I WAS WRONG
THE CODE I'D ALREADY WRITTEN WAS PERFECT FOR MAKING IT EXPAND THE RADIUS IF IT CANT PLACE SCULK
I JUST HAD TO MAKE IT A BOOLEAN AND ADD A FEW MORE CHECKS
OH MY GOD

commented

@BluePhoenixLOL @MerpisMe I WAS WRONG THE CODE I'D ALREADY WRITTEN WAS PERFECT FOR MAKING IT EXPAND THE RADIUS IF IT CANT PLACE SCULK I JUST HAD TO MAKE IT A BOOLEAN AND ADD A FEW MORE CHECKS OH MY GOD

WHAAAT

now all we need is for the placement of sensors and the shapes of the blobs to be tweaked and then it's perfect ๐Ÿ‘€

commented

@BluePhoenixLOL @MerpisMe I WAS WRONG THE CODE I'D ALREADY WRITTEN WAS PERFECT FOR MAKING IT EXPAND THE RADIUS IF IT CANT PLACE SCULK I JUST HAD TO MAKE IT A BOOLEAN AND ADD A FEW MORE CHECKS OH MY GOD

WHAAAT

now all we need is for the placement of sensors and the shapes of the blobs to be tweaked and then it's perfect ๐Ÿ‘€

https://www.dropbox.com/s/vne6vekpmfgz553/CatalystTesting2.mp4?dl=0

commented

@BluePhoenixLOL @MerpisMe I WAS WRONG THE CODE I'D ALREADY WRITTEN WAS PERFECT FOR MAKING IT EXPAND THE RADIUS IF IT CANT PLACE SCULK I JUST HAD TO MAKE IT A BOOLEAN AND ADD A FEW MORE CHECKS OH MY GOD

WHAAAT
now all we need is for the placement of sensors and the shapes of the blobs to be tweaked and then it's perfect ๐Ÿ‘€

https://www.dropbox.com/s/vne6vekpmfgz553/CatalystTesting2.mp4?dl=0

PERFECT

also, just so you know, this is probably a bit too fast,
image

commented

@BluePhoenixLOL @MerpisMe I WAS WRONG THE CODE I'D ALREADY WRITTEN WAS PERFECT FOR MAKING IT EXPAND THE RADIUS IF IT CANT PLACE SCULK I JUST HAD TO MAKE IT A BOOLEAN AND ADD A FEW MORE CHECKS OH MY GOD

WHAAAT
now all we need is for the placement of sensors and the shapes of the blobs to be tweaked and then it's perfect ๐Ÿ‘€

https://www.dropbox.com/s/vne6vekpmfgz553/CatalystTesting2.mp4?dl=0

PERFECT

also, just so you know, this is probably a bit too fast, image

nevermind, just realized it starts to slow down towards the end. this is probably perfect.

commented

@BluePhoenixLOL @MerpisMe I WAS WRONG THE CODE I'D ALREADY WRITTEN WAS PERFECT FOR MAKING IT EXPAND THE RADIUS IF IT CANT PLACE SCULK I JUST HAD TO MAKE IT A BOOLEAN AND ADD A FEW MORE CHECKS OH MY GOD

WHAAAT
now all we need is for the placement of sensors and the shapes of the blobs to be tweaked and then it's perfect ๐Ÿ‘€

https://www.dropbox.com/s/vne6vekpmfgz553/CatalystTesting2.mp4?dl=0

PERFECT

also, just so you know, this is probably a bit too fast, image

I already implemented a cap, and also I think he means it takes forever because it just take so long to fill up the radius- look at the Bedrock screenshots, a simple mob spawner got to that same radius

commented

@BluePhoenixLOL @MerpisMe I WAS WRONG THE CODE I'D ALREADY WRITTEN WAS PERFECT FOR MAKING IT EXPAND THE RADIUS IF IT CANT PLACE SCULK I JUST HAD TO MAKE IT A BOOLEAN AND ADD A FEW MORE CHECKS OH MY GOD

WHAAAT
now all we need is for the placement of sensors and the shapes of the blobs to be tweaked and then it's perfect ๐Ÿ‘€

https://www.dropbox.com/s/vne6vekpmfgz553/CatalystTesting2.mp4?dl=0

PERFECT
also, just so you know, this is probably a bit too fast, image

I already implemented a cap, and also I think he means it takes forever because it just take so long to fill up the radius- look at the Bedrock screenshots, a simple mob spawner got to that same radius

ah, alright. it looks amazing so far, good job!

commented

ah, alright. it looks amazing so far, good job!

Thank you! Also there is a problem- Activator placement runs in a different thread than Sculk placement, so this is quite tricky to do... I might have to merge them into one thread, honestly, and that could hurt performance.
To balance out the performance drain, we could always just raise the default value of the sculkThreads gamerule.

commented

ah, alright. it looks amazing so far, good job!

Thank you! Also there is a problem- Activator placement runs in a different thread than Sculk placement, so this is quite tricky to do... I might have to merge them into one thread, honestly, and that could hurt performance. To balance out the performance drain, we could always just raise the default value of the sculkThreads gamerule.

yeah, we might have to. it's not like it'll make much of a difference if we raise it to 3 or 4, since essentially nobody has only 1 or 2 cpu cores lol

commented

ah, alright. it looks amazing so far, good job!

Thank you! Also there is a problem- Activator placement runs in a different thread than Sculk placement, so this is quite tricky to do... I might have to merge them into one thread, honestly, and that could hurt performance. To balance out the performance drain, we could always just raise the default value of the sculkThreads gamerule.

yeah, we might have to. it's not like it'll make much of a difference if we raise it to 3 or 4, since essentially nobody has only 1 or 2 cpu cores lol

by the way, i'm sure you're aware but wardens still aren't spawning from shriekers. it was working a couple of days ago and i can't recall you changing anything, so that's the weird part

commented

ah, alright. it looks amazing so far, good job!

Thank you! Also there is a problem- Activator placement runs in a different thread than Sculk placement, so this is quite tricky to do... I might have to merge them into one thread, honestly, and that could hurt performance. To balance out the performance drain, we could always just raise the default value of the sculkThreads gamerule.

yeah, we might have to. it's not like it'll make much of a difference if we raise it to 3 or 4, since essentially nobody has only 1 or 2 cpu cores lol

If you set the value to 21, I made it create one thread per Sculk placed- I think it'll be fine honestly, cause I've done that with over 500 Sculk a few times

commented

ah, alright. it looks amazing so far, good job!

Thank you! Also there is a problem- Activator placement runs in a different thread than Sculk placement, so this is quite tricky to do... I might have to merge them into one thread, honestly, and that could hurt performance. To balance out the performance drain, we could always just raise the default value of the sculkThreads gamerule.

yeah, we might have to. it's not like it'll make much of a difference if we raise it to 3 or 4, since essentially nobody has only 1 or 2 cpu cores lol

by the way, i'm sure you're aware but wardens still aren't spawning from shriekers. it was working a couple of days ago and i can't recall you changing anything, so that's the weird part

it's been working fine for me... Odd.

commented

ah, alright. it looks amazing so far, good job!

Thank you! Also there is a problem- Activator placement runs in a different thread than Sculk placement, so this is quite tricky to do... I might have to merge them into one thread, honestly, and that could hurt performance. To balance out the performance drain, we could always just raise the default value of the sculkThreads gamerule.

yeah, we might have to. it's not like it'll make much of a difference if we raise it to 3 or 4, since essentially nobody has only 1 or 2 cpu cores lol

by the way, i'm sure you're aware but wardens still aren't spawning from shriekers. it was working a couple of days ago and i can't recall you changing anything, so that's the weird part

it's been working fine for me... Odd.

hm. i'll try it in a different world then, there's a possibility the one i'm using is corrupted

commented

ah, alright. it looks amazing so far, good job!

Thank you! Also there is a problem- Activator placement runs in a different thread than Sculk placement, so this is quite tricky to do... I might have to merge them into one thread, honestly, and that could hurt performance. To balance out the performance drain, we could always just raise the default value of the sculkThreads gamerule.

yeah, we might have to. it's not like it'll make much of a difference if we raise it to 3 or 4, since essentially nobody has only 1 or 2 cpu cores lol

by the way, i'm sure you're aware but wardens still aren't spawning from shriekers. it was working a couple of days ago and i can't recall you changing anything, so that's the weird part

it's been working fine for me... Odd.

hm. i'll try it in a different world then, there's a possibility the one i'm using is corrupted

i forgot to pull new commits lol

commented

it looks REALLY good so far, even if it is broken

I hate to say this, but there's no hope left for multithreading. Either we get rid of it or we leave in an EXTREMELY broken method of Sculk spreading- it isn't shown in the screenshot, and for a very good reason.

commented

it looks REALLY good so far, even if it is broken

I hate to say this, but there's no hope left for multithreading. Either we get rid of it or we leave in an EXTREMELY broken method of Sculk spreading- it isn't shown in the screenshot, and for a very good reason.

does it really improve performance that much anyway? i say it's fine if you get rid of it tbh, i never had any issues with performance even before your mod was integrated into twm

commented

does it really improve performance that much anyway? i say it's fine if you get rid of it tbh, i never had any issues with performance even before your mod was integrated into twm

My mod uses a completely different spreading system, which was merged in when along with the other stuff, so it depends honestly
Given how broken it is with the even newer WIP spreading, it isn't worth keeping

commented

does it really improve performance that much anyway? i say it's fine if you get rid of it tbh, i never had any issues with performance even before your mod was integrated into twm

My mod uses a completely different spreading system, which was merged in when along with the other stuff, so it depends honestly Given how broken it is with the even newer WIP spreading, it isn't worth keeping

fair enough then. do you think there would be any way to potentially improve performance hits caused by sculk spreading (if any) with the new system?

commented

does it really improve performance that much anyway? i say it's fine if you get rid of it tbh, i never had any issues with performance even before your mod was integrated into twm

My mod uses a completely different spreading system, which was merged in when along with the other stuff, so it depends honestly Given how broken it is with the even newer WIP spreading, it isn't worth keeping

fair enough then. do you think there would be any way to potentially improve performance hits caused by sculk spreading (if any) with the new system?

sadly no

commented

how significant is the performance impact?

Kinda big, but ONLY if you're spamming mobs with a command block. Otherwise, it's unnoticeable. (I've also been doing some small performance improvements so it might even be faster when you're not spamming mobs with a command block) It really doesn't matter at all unless someone has access to command blocks, honestly

that should be fine then. in any case, is it nearly ready to push? osmioo's been asking all day about it lol

commented

does it really improve performance that much anyway? i say it's fine if you get rid of it tbh, i never had any issues with performance even before your mod was integrated into twm

My mod uses a completely different spreading system, which was merged in when along with the other stuff, so it depends honestly Given how broken it is with the even newer WIP spreading, it isn't worth keeping

fair enough then. do you think there would be any way to potentially improve performance hits caused by sculk spreading (if any) with the new system?

sadly no

how significant is the performance impact?

commented

how significant is the performance impact?

Kinda big, but ONLY if you're spamming mobs with a command block. Otherwise, it's unnoticeable.
(I've also been doing some small performance improvements so it might even be faster when you're not spamming mobs with a command block)
It really doesn't matter at all unless someone has access to command blocks, honestly

commented

how significant is the performance impact?

Kinda big, but ONLY if you're spamming mobs with a command block. Otherwise, it's unnoticeable. (I've also been doing some small performance improvements so it might even be faster when you're not spamming mobs with a command block) It really doesn't matter at all unless someone has access to command blocks, honestly

that should be fine then. in any case, is it nearly ready to push? osmioo's been asking all day about it lol

oooh. It does cause lag when there's lots of sculk in one area. It's getting near ready, but I still haven't gotten around to the proper activator placement yet.

commented

@MerpisMe good news, I was able to save multithreading.
The threads slow down significantly when you're spamming mobs through a command block, but the game doesn't lag AT ALL. Even better, the spreading actually works now!

commented

@MerpisMe good news, I was able to save multithreading. The threads slow down significantly when you're spamming mobs through a command block, but the game doesn't lag AT ALL. Even better, the spreading actually works now!

Edit: Well it breaks at large radii, but at least it does something. I'm working on activator placement now, which MIGHT be a bit trickier.

activator placement?

commented

@MerpisMe good news, I was able to save multithreading. The threads slow down significantly when you're spamming mobs through a command block, but the game doesn't lag AT ALL. Even better, the spreading actually works now!

Edit: Well it breaks at large radii, but at least it does something. I'm working on activator placement now, which MIGHT be a bit trickier.

commented

@MerpisMe good news, I was able to save multithreading. The threads slow down significantly when you're spamming mobs through a command block, but the game doesn't lag AT ALL. Even better, the spreading actually works now!

Edit: Well it breaks at large radii, but at least it does something. I'm working on activator placement now, which MIGHT be a bit trickier.

activator placement?

Sensors & Shriekers

commented

@MerpisMe good news, I was able to save multithreading. The threads slow down significantly when you're spamming mobs through a command block, but the game doesn't lag AT ALL. Even better, the spreading actually works now!

Edit: Well it breaks at large radii, but at least it does something. I'm working on activator placement now, which MIGHT be a bit trickier.

activator placement?

Sensors & Shriekers

ahh