illusivesoulworks / constructsarmory

A Tinkers' Construct add-on for those looking to enter the world of armor
https://www.curseforge.com/minecraft/mc-mods/constructs-armory
Other
54 stars 36 forks source link

Some of the helmets are invisable on player (Conflict with a mod) #207

Closed Jennifercutixx closed 3 years ago

Jennifercutixx commented 4 years ago

This doesnt seem like a conflict. But when i use a obsidian helmet or wood helmet and maybe few others. I can't see them on my player at all. when i can see the others on my player it's super weird and i can't see it being an conflict because i can see the others on my player.(note: don't have Mo Bends installed) (Wood Helmet) dadaded (Prismarine) Untisasd

Jennifercutixx commented 4 years ago

update: seems to be a conflict with The Between lands. Dunno how its effecting the ConstructsArmory mod but it is and making the armor invisable. This is very strange :/ (With out The Between Lands mod installed) Usasad

tonymdisc commented 4 years ago

Me and my friend have same problem also we have between lands installed in modpack

Jennifercutixx commented 4 years ago

ye, quite a few mods make the armor invisable. It's quite strange hopfully the mod auther will have time to make the mod compatible with other mods. but its a brillient mod otherwise. like to me i would check each mod u install and see which one conflicts with it. But if u want a mod but it conflicts with this mod i would decide which mod u want installed untill this mod conflict is sorted.

Jennifercutixx commented 4 years ago

unless the inviable armor doesnt bother u like on a server it will but on singleplayer not as much as u wont rll be in third person much. Well depends on ur play style.

TheIllusiveC4 commented 4 years ago

ye, quite a few mods make the armor invisable

Which ones? Other than the Betweenlands that has already been mentioned.

Jennifercutixx commented 4 years ago

not sure other then the betweenlands and mo bends are the ones i've found had issues with the mod but their is one other one in my mod list that is conflicting with your mod and making some of the armors invisable.

Jennifercutixx commented 4 years ago

but not 2 sure which one it is and i have over 120 mods. tbh i kinda feel like its an dimention mod. like it might have to do with the mods adding armors into the game that has custom textures.

tonymdisc commented 4 years ago

I have no idea which it can be we also have about 142 mods

Jennifercutixx commented 4 years ago

ye, Just like i said above i'm sure its something to do with a conflict between custom armor mods. It seems bc i can't see any other way the mod could conflict with. bc normally an invisable armor or texture is a conflict with other textures.

Jennifercutixx commented 4 years ago

Been testing and seems that Inventory Tweaks has alot of issues. Such as items disapearing and invisable armor. It's very weird but that's what i've found that has stopped the issue of armors being invisable.

Note: Might be other mods that cause the issue but the one i've found that caused the armors to be invisable was in fact inventory tweaks.

Jennifercutixx commented 3 years ago

Done testing, it seems like texfix is indeed the fault of all the armors textures going missing. and when installing the mod recommend clear configs for other mods to support it. The reason i say this is bc i installed mods that where conflicting and their was no missing textures for the armors so. texfix is causeing issues or can be bc of fresh configs.

reddvilzz commented 3 years ago

I've reach TexFix dev and ask about him about this thread. And here is he's respond.

Eh this has nothing to do with texfix. The only thing that TexFix it clears the unessesary pixeldata from Block/Item textures and adds a reloadhook for them if it is accessed. If it does not contain TextureAtlasSprite in the log then texfix has nothing to do with it.

TheIllusiveC4 commented 3 years ago

Sorry for the delay in resolving this issue. I'll be investigating this as a part of a bug-fix update that I will be releasing soon. I'll update this thread accordingly once I've determined its status.

Speiger commented 3 years ago

@TheIllusiveC4 do you replace the "List" of texture frames at any point in the reload? Because when you do that you basically break texfix. (I should have implemented a prevention of exactly like that) Here is my though process of what is happening. (Could be my fault or your fault or someone elses fault doesn't change the theory)

  1. Game Starts,
  2. Textures load
  3. Textures & Models finished loading.
  4. TexFix clears texture data and puts in a custom ArrayList implementation that triggers a reload of that specific sprite when being accessed in any way (in a readonly process though)
  5. PixelData/FrameCounter is accessed.
  6. TexFix ReloadTrigger reloads Texture
  7. Texture replaces the ArrayList (which vanilla doesnt do)
  8. Texture is reloaded but with a New ArrayList, but the trigger access uses the Old ReloadTrigger ArrayList which didn't get any data
  9. PixelData/FrameCounter receives a EmptyData result due to replacement.
  10. Crash/Error because unexpected result.

Does this only happen with special CA Textures? Like custom TextureAtlasSprite?

Jennifercutixx commented 3 years ago

i found out that mods that cause this is mostly due to the config add mods that are no longer exsisting. How do i know this? well ive made a modpack with mods ive had before and havnt had a single armor become invisible. when they've before. to my experience each time u delete a mod u will need to make sure config files are reset so no conflicts and texture errors happen. to me i dont think this is an issue with anymod anymore or a conflict concidering its just code overighting code that doesnt exstist that cannot show a log file of what happend since the code that a mod was using to make a mod work with another mod doesnt exsist anymore. I'm updating this now since i havnt uploaded a response since was busy making a modpack. any notes on this will be handy since this is my opinion and i do not have any coding experience only a lil.

TheIllusiveC4 commented 3 years ago

@Speiger Thank you for outlining your thoughts, they ended up being quite accurate. I did some investigating and Construct's Armory uses a texture implementation from Tinkers' Construct that does replace the frame data on load. This resulted in dummy data being sent to my texture builders when TexFix triggers the reload.

The current workaround I have in-dev is to simply fetch the data twice, first to trigger the reload and second to fetch the real data, which seems to solve this issue well enough.

Speiger commented 3 years ago

@TheIllusiveC4 Ok, now that i know that i can implement a patch for that, though it will most likely take until next month. But when the patch is out it will deal with that kind of scenario and also performance will be a bit better since i can do a cleanup of the code.