Void Thaumaturge Boots Step Assist not working with Gulliver Reborn
DoomRater opened this issue ยท 20 comments
Here's a tough one where I'm not sure whose mod is at fault: The Void Thaumaturge Boots are no longer providing step assist in my modpack. In addition, I recall that they used to work before the 2.0 update. The mod in conflict here is Gulliver Reborn.
I have tested against Thaumcraft with Thaumic Additions: Reconstructed (and all their dependencies) along with a dev build of Augmentations and the boots provided step assist as expected. I still can't get Additions belts to give me step assist, but that's the case even with just Additions and its dependency installed, and it works for him, so I'm stuck there.
When I try my modpack with ArtemisLib removed, however, the boots provide step assist. It's a library that makes it trivial for mods to resize the player. With just ArtemisLib readded, they work. With ArtemisLib and Gulliver Reborn, they stop working once again. Gulliver Reborn does the actual player resizing using commands the player types in. So this could be a mod conflict or incompatibility.
From what I can read in Gulliver Reborn, it is forcibly setting the player's step height in a way that something like Botania overrides, but Thaumic Augmentation doesn't.
What I need to discover is if an older version of Augmentations does indeed provide step assist, and if so which version that was. Since the last time I recall them working was when they were called Boots of the Riftstrider, that should help me narrow down what happened.
So problem 1 is that after 1.1.19 I indeed changed the event to the same one as Gulliver Reborn, so I guess in your modpack their event handler runs after mine and deletes the changes. That one is straightforward, I can just make the handler higher priority, The step height will still be incorrect though - currently the number in the config is just a value that gets added to the step height. It sounds like you want a portion of the player height added instead. I can look into that.
Changing the stepheight to a percentage of the existing stepheight is basically adding compatibility for different player heights. That would be greatly appreciated, and I might even try to pick at how that works to add support in Botania 1.12.2 since it also assumes what the stepheight really is instead of adjusting it as a potential variable. Who woulda thought someone would make every variable of the player's size configurable so easily?
ArtemisLib has been a game changer for every player handler I've seen from Better Diving's swim changes to Ido's improved swimming and crouching changes.
I can't just make it a percentage of the existing stepheight because literally anything can mess with it, so the value will easily be higher or lower than intended from other mods. It's a bit disappointing that Mojang/Forge didn't make it an attribute as then this discussion wouldn't be needed at all, but I guess it's one of those things.
It looks like the default value is about 1/3 of the player height, so I might just use that ratio and pretty much make it in units of that value.
A few days ago I actually revamped how the boots handle step height and such (for maybe the second time now?). I think I got it perfect this time, it now no longer cares what the actual value is and just handles adding/removing an amount. Give the latest dev version a try, and you might also want to reset your config (namely gameplay->voidBootsJumpMovementFactor) because I had to tweak how that worked.
Sad news: All of my recent testing thus far has been against the dev version. I can only guess that Gulliver Reborn's event is firing after the modifications you make each tick.
When I reverted Augmentations to 1.1.19, the boots once again provided step assist. They seem to let me step up a full block even at a player scale of .125 in that version too though, so... I wouldn't exactly call reverting a fix.
Edit: I retested with just Gulliver Reborn 1.8 (and ArtemisLib 1.0.6), Thaumcraft (and Baubles) and the Thaumic Augmentation dev version I just compiled to give us a bare minimum to reproduce the situation. Using Gulliver Reborn 1.10 didn't seem to change anything either. (I use an older version that doesn't have an unfixed command usage bug)
So I was going to release a full fix for this but unfortunately the height scaling part will need a breaking config change, so it'll have to wait for the next major version. The handler should still run after the other mod now, and if you really want the height scaling it should be on experimental.
Super nice, I can wait for breaking changes. Will check out version 13 right away!
Agh, no go. I double checked boot values with my modpack but still could not scale the almighty sandstone block. To speed up testing, I'll be doing everything on the test instance that uses only the mods necessary to cause them to not work. Retested with the test instance, made sure boots values work without Guliver Reborn, then added Gulliver Reborn back in and the sandstone wins.
It's faster to use Gulliver Reborn for testing because Resizing Potion adds items.
Sadly I could not verify it working. I tried version 13 from Curseforge, and when you said experimental I figured it was time to head over there. But after making sure the config setting was altered, and that the step up worked without Gulliver Reborn running, I re-added it and could not step up onto a sandstone block. I'm just double-checking if augmentations step up works in the pask with just resizing potion (it does not).
Tomorrow I'll retest with just Thaumcraft (and depdendencies), Thaumic Augmentations, ArtemisLib, and Gulliver Reborn.
Try experimental again with the latest commit, I was rushing and not paying enough attention so I messed up the handler priority. This time it should actually run after Gulliver Reborn for real. Sorry!
So unfortunately after a bit of testing and code reading I don't think there's really anything I can do about this from my end. Gulliver is trashing the step height value every tick, and it's also doing it twice per tick because it doesn't check the phase of the player tick event, so no matter where I do it my values will get removed.
My system is meant to cope with one time modifications to the step height, like when equipping an item, astral sorcery perks, etc. To support this and dynamic values properly (like the step height not applied when sneaking) I first subtract the amount step height was changed by last tick, recalculate the bonus, then add the new bonus. This is then the amount subtracted next tick. By nuking my changes Gulliver is effectively applying the subtraction step an additional time, resulting in no bonus.
Thanks for the attempt! Unfortunately for me, Gulliver is a must have in the modpack, so I'll be stuck with using Botania's tools to deal with what's going on. I'm actually not sure how Botania's belts are doing it, but this might be a thing I need to actually look into Gulliver's code and either report over there or try to fix on that end and submit a PR for them.
Botania appears to also just take the approach of nuking the step height value every tick. Botania works, however, because the event they picked to change the step height in is actually in the perfect spot - it's after the first time Gulliver resets step height, but before both the time when step height is used and the second time Gulliver resets step height. In other words, the Botania value sticks around just long enough to do its job. That also explains why changing the event caused this issue to begin with, and not just the fact that Gulliver's event handler might run after mine.
I'll give it one more shot to see if I could come up with something that is compatible with everything.
So I thought about this a bit more and I don't think there's a way to make the one method work for every case when there's mods out there that destroy the step height value every tick. I'll probably make some type of compatibility mode that will also do that to the step height, but it won't be the default.
Give it a try again on the latest commit, with gameplay->movementCompat set to true. That should get it working, at least it did for me in testing. This might break the botania belt if you use it at the same time (meaning the step height bonuses won't stack), but that's just how it has to be.
ahahahahahahahaha Absolutely SICK! I'm not worried about the Botania belt since I'd much rather be using the Belt of the Meteor which literally stomps enemies to death, and now I can still get that step up goodness. Did you know with void boots, belt of meteor, and cloudstepper's ring, you can jump 26 blocks in the air easily?
I'm going to take that as meaning everything is working. Enjoy jumping over literal mountains!