XzeroAir / Trinkets

Interesting Trinkets and Baubles
GNU Lesser General Public License v3.0
5 stars 14 forks source link

Resizing Rings cause suffocation when up against a wall #43

Open Mario90900 opened 4 years ago

Mario90900 commented 4 years ago

It seems when someone has the Dwarf or Fairy rings on in multiplayer on a custom modpack I put together, they tend to suffocate in walls if they get close enough to them. It seems like their actual hitbox might not shrink from the default one, so when that default one is in a block, they suffocate despite their bounding box letting them get close to the wall. The only other mod that I can remember off the top of my head that messes with bounding boxes and such would likely be Ido and Vampirism. Vampirism has their bat form, and Ido is the movement mod, though I saw the other issue thats open that mentioned it had no effect on things. Unfortunately, I can't find any sort of error on the console about this when someone puts the ring on, but visually they do seem to work. It also appears that for both of these rings, if you get too close to the blocks you end up getting slowed down as well.

XzeroAir commented 4 years ago

Sorry, apparently I missed the email notification for this issue. to be honest, I can only guess at what could be causing it, it's clearly a mod conflict, something that's editing the players bounding box/size, If you can figure out what's causing it, I can try to fix it. or, If you can provide a list of mods you're using, the Version of T&B you're using, and if you're using ArtemisLib or not, I'll try to look into it on my own time when I get the chance

Mario90900 commented 3 years ago

No worries! I thought it might be a mod conflict, but unfortunately no luck so far. I've been using a modpack that I put together for me and friends, and its on a multiplayer server as well. You can find the list of mods here, https://pastebin.com/mw0Rq49R pulled from the boot log so it should have them all. If you'd benefit from a link to the pack itself, it can be found here, https://www.curseforge.com/minecraft/modpacks/hiss-house-modpack Its not using ArtemisLib, and its using T&B version 0.30.1.

I did do a bit more experimenting with it, and it seems only some blocks actually cause this suffocation? I'm not sure what it is causing this, but certain blocks seem to give you the ability to climb up them if you jump at them and hold forward when you are using the fairy ring. I thought it might be to compensate for being so tiny and not being able to regularly jump up single blocks anymore, but the interesting bit is that these blocks don't cause you to suffocate in them - while blocks that do not allow you to do this, do cause the suffocation. It seems to be things like dirt, grass and stone allow you to climb, while logs and planks suffocate you. Its so odd that its split like this.

XzeroAir commented 3 years ago

Hm, can you let me know which blocks specifically you're having issues with? when the players width is smaller then normal, it starts to cause issues, I tried to minimize them as much as possible, the issue you're having sounds a lot like when the width is smaller then 0.3, (Player default width is 0.6), the Fairy width is 0.3, the smaller the width the more that happens until the player literally starts falling through blocks

XzeroAir commented 3 years ago

Looking at the mod list you linked, I can't spot any mods that I can think of that would cause an issue, Although I've never tried the Vamperism mod or the Ido mod, I've tested with nearly every thing else I see in the list though

Mario90900 commented 3 years ago

Okay, I just noticed something big. I thought originally it was specific blocks, but actually, its every block - but only on the North and West faces of the blocks. If you push up against the north or west sides of a block while wearing the dwarf or fairy rings, you end up taking damage, but the south and east sides of them are fine. Does this help refine it down any? It doesn't even seem to need to be 2 blocks high for the Dwarf ring, even just a single block is enough to cause the damage.

XzeroAir commented 3 years ago

Yeah, it Helps, I think I Just realized what the issue is, can you check and see if it still happens when you use a Ring, instead of the food/potion?

Mario90900 commented 3 years ago

I've been using the rings to test it out this whole time, but in trying out the potions and the food, it still seems to be happening. I've also noticed the odd slowdown only happens when you get close enough to those specific sides of blocks as well, but at a slightly further distance where you don't take damage yet.

XzeroAir commented 3 years ago

ok, Then it's not what I thought it was, I'll try testing the modpack tomorrow and see if I can find the cause, Currently 6:10 AM for me

XzeroAir commented 3 years ago

but looking at your Mod List, I've personally played a custom modpack for myself using most of the mods you have in the list and didn't have that issue, only ones I'm not sure about are Random Patches, Random Tweaks, Cyberware, Rewired, Ido, and Vampirism, but looking at the Source code for all of them, I can't find anything that I think would cause the issue, regardless, I'll test tomorrow

Mario90900 commented 3 years ago

I went through and tested these mods you mentioned, and I found that its Ido that's been causing this issue. When I glanced at their code, I think it might have to do with how they adjust the size of the player on what looks like a playerTickEvent, so I figure that's on every tick of a player. If I had to guess, it might end up resetting the bounding box because they appear to be just hard-coding the default bounding box of the player, likely because they are assuming the player's size will never change apart from them, which would explain the odd offset and damage only on specific sides that we get while under the Fairy/Dwarf transformations. I guess somehow the Transformation keeps the player's view and some bound box parameters in an odd limbo as they might be fighting/copying over one another?

You can find the relevant code that I was looking at here: https://github.com/Kaydax/Ido/blob/master/src/main/java/xyz/kaydax/ido/handler/CommonHandler.java

But thank you for all the help in trying to figure this out! I'll go see if I can't open up a similar issue with Ido and reference this one. If there is anything that can be done about this on your end, that would be amazing too, but I suspect its Ido's issue in this case! And I also wanna say that I love the mod you have here, the items are all very unique and fun to play with.

XzeroAir commented 3 years ago

Lol, I was literally testing it right now, I had just shut down mc and removed Ido to test it, Thank you, I did look at that code in Ido, it did concern me, but I wasn't sure it would cause an issue, technically, it shouldn't, or so I thought, hopefully now that I know the exact cause I can try to fix it in the future. Thank you for letting me know and providing a lot of information, I really appreciate it

Mario90900 commented 3 years ago

You're welcome! Thanks for giving me the insight on what mods you already know cause no problems, since that helped narrow it down an absolute ton!