Ritual of the Cloned Soul not Triggering rate?
lanceweber opened this issue ยท 8 comments
ATM3: Remix
woot-1.12.2-1.4.9.jar
BloodMagic-1.12.2-2.4.0-102.jar
I'm using a Tier IV Factory with Mass 3, Rate 3, Blood Magic Tank 3 and Blood Magic Crystal 3 to farm 6xHorses every 100ticks. This is working great for the blood tank ritual thanks!
I setup the Ritual of the Cloned Soul then placed 20 will crystallizers on top of it. I seeded/grew 20 crystals from tartaric gems, then the ritual appeared to kick in and start spawning secondary crystals which immediately broke and were burned to create more will. Edit: I set the area using the tinkerer, and crystals do break across the entire range.
Using the original Gathering of the Forsaken Souls and a mob spawner, I would expect this to fairly quickly (within an hour for sure) create a positive feedback loop with a stacks of excess will beyond the amount burned to generate new secondary crystals.
However, the Ritual of the Cloned Soul only seems to generate enough will to break even or often run out and stall the entire will generation engine as it were. At first I thought it was a chunk loading issue, but I idled in the same chunk for an hour and I'm still just breaking even on burned will with no excess.
I would expect at least 1-2 secondary will spikes to be dropping every 100 ticks. This does seem to work for 4-5 cycles, but then no crystals will grow for 30-60-90 seconds, causing any excess to burn up. The most excess will I've seen at any time is 8, it usually maxes out at 5-6 before dropping to 1 or none. Then I have to seed it to jump start it again.
I hope this makes sense! Let me know if there's anything I can to help investigate.
So I'll confess to not having a huge knowledge of Blood Magic, it getting that cloned soul ritual setup was a bit of a struggle. (I had to look at quite a few YouTube videos to understand crystal growth).
It should work the same way as the Blood Magic ritual, but be less efficient, primarily because of the loss of uniqueness. However it is completely possible that by making it less efficient it also now causes this stall issue.
The first thing I'll need to do is to compare the code for the ritual against the latest BloodMagic, just to ensure that the mechanics haven't been tweaked and then go from there.
Sorry this is taking a while to look at.
Nothing is jumping out as different in the Forsaken Soul ritual and this one, apart from the origin of the crystal range being on the Master Ritual Stone.
The uniqueness boost that is missing from Cloned Soul would be the obvious problem as you will not get that bonus to the Will amount.
Do you know if the Forsaken Soul needs a variety of mobs to create a positive feedback loop, or if will work correctly with just one mob type?
Apologies for not picking these notifications up sooner. I spent this morning code walking the Forsaken Soul ritual and the Cloned Soul ritual. I see a couple of things that might be clues.
Uniqueness appears to be calculated as a penalty not a boost. Since your code runs this as a constant it should not be an issue.
One difference I see right away is that the original [lines 113-118] includes a *4 multiplier for animal mobs, while you fix this at *1 for all entities. I don't think that's the root cause, but it could help.
The other difference I see is in the health calculation, the original uses entity.getMaxHealth() [line 120], whereas yours is a little more...complicated :) [lines 143-148]. Apart from uniqueness, this is probably the key value driving the calculation of crystalbuffer/willbuffer amounts. I'd want to see if this somehow progressively lowers as time goes on for some reason.
Looking at the code is a bit enthusiastic! I'm a C programmer, hence the quality of my Java :)
So the enhanced (cough, cough) health calculation allows people to override the percentage of health that will be provided to the ritual to give a different between the three upgrade layers. (But you have probably already worked that out)
Crystal 1 - 25%
Crystal 2 - 60%
Crystal 3 - 100%
But you are running with Crystal 3, so you should be getting the full 100% of the health.
There is some debug code in there that can be enabled during run time that should show the health vs scaled health. I'm very good at getting scaling wrong it my code.
/woot dev debug genbmcrystal (Turn it on)
/woot dev debug !genbmcrystal (Turn it off)
As for the *4 multiplier for animal mobs, I may have just looked straight through that piece of code.
I've ran a quick test on my dev world with cows, mass 3 and crystal 3.
100% of the health is going to the ritual, so the scaling is correct.
I need to see how the 4x multiplier for the animal mobs would feed into this.
eg.
[21:29:48] [Server thread/INFO] [woot]: Woot: performRitual - ClonedSoul:
[21:29:48] [Server thread/INFO] [woot]: Woot: performRitual - ClonedSoul: ipsis.woot.tileentity.TileEntityMobFactoryHeart@3f52f6f6
[21:29:48] [Server thread/INFO] [woot]: Woot: performRitual - ClonedSoul: health:10/10
[21:29:48] [Server thread/INFO] [woot]: Woot: performRitual - ClonedSoul: feedWillAndCrystal health:10 willInc:17.5 crystalInc:0.5
[21:29:48] [Server thread/INFO] [woot]: Woot: performRitual - ClonedSoul: feedWillAndCrystal health:10 willInc:17.5 crystalInc:0.5
[21:29:48] [Server thread/INFO] [woot]: Woot: performRitual - ClonedSoul: feedWillAndCrystal health:10 willInc:17.5 crystalInc:0.5
[21:29:48] [Server thread/INFO] [woot]: Woot: performRitual - ClonedSoul: feedWillAndCrystal health:10 willInc:17.5 crystalInc:0.5
[21:29:48] [Server thread/INFO] [woot]: Woot: performRitual - ClonedSoul: feedWillAndCrystal health:10 willInc:17.5 crystalInc:0.5
[21:29:48] [Server thread/INFO] [woot]: Woot: performRitual - ClonedSoul: feedWillAndCrystal health:10 willInc:17.5 crystalInc:0.5
[21:29:48] [Server thread/INFO] [woot]: Woot: performRitual - ClonedSoul: crystals:1
[21:29:48] [Server thread/INFO] [woot]: Woot: performRitual - ClonedSoul: tryFeedTheCrystal willDrain:37.49787924461456 progress:1.0
I'm going to be releasing an updated version of Woot soon, so what I'll do is add the 4x multiplier for animal mobs.
Without the modifier
health:10 willinc:17.5 crystalInc:0.5
With the modifider
health:10 willinc:70.0 crystalInc:2.0
It might not make any difference to your setup, but since it is a unintentional difference between the two rituals, it is worth bringing them into line.
Modpack: FTB Sky Adventures (with some additional mods)
woot-1.12.2-1.4.11 (manually updated)
BloodMagic-1.12.2-2.3.3-103
Forge Version 14.23.5.2796
I think I may experience the same issue. Since there was no activity on this issue, I wanted to push it.
Edits: Installed new versions of woot and Blood magic and updater versions above