
[1.20.1-1.3.0.1] Horses can't be called while holding a Domestication Innovation Collar Tag, and causes the Collar Tag to be deleted
TBlazeWarriorT opened this issue ยท 2 comments
Version:
callablehorses-1.20.1-1.3.0.1.jar
The bug:
When I call my horse using the Callable Horses mod while holding a Collar Tag, the tag deletes itself. Very frustrating, has caused me to delete a bunch of tags by accident and lose progress.
Reproducing:
Using DomesticationInnovation (domesticationinnovation-1.7.1-1.20.1.jar + citadel-2.4.9-1.20.1.jar) and Callable Horses:
- Hold a Collar Tag in any game mode except Creative, even in spectator mode
- Call your horse
- One Tag will be bugged out and deleted on each press :(
Video demonstration:
dom.inno.bug.compressed.mp4
MC Logs:
https://api.paste.ee/p/jFVZE
What I know so far:
This has to do with isAreaProtected() from Callable Horses, fakeHorse from Callable Horses, and something stinky I can't figure out with Collar Tags from this domestication. The collar is likely being applied to the fake horse entity and being deleted, if not deleted entirely for no reason. What I can't figure out why, is why holding a tag triggers Callable Horses' area protection, and why calling a horse would even attempt to apply that tag to the fake horse, if that's even what's happening. My brian hurts and my tags are missing
Corresponding issue on Dom Inn.:
AlexModGuy/DomesticationInnovation#177
After a lot of head scratching, I think I understand it.
If my theory is correct:
Callable Horses uses unsafe methods to check if an area is protected. It forces an interaction with a fake horse with the main hand, which can apply items to the horse, such as the Collar Tag, that gets consumed then deleted. The Collar Tag probably partially realizes it is a fake horse, and despite still being consumed, probably cancels the event partially and doesn't even let the real horse be called when it should, triggering issues on both sides. It's weird that it doesn't happen with vanilla items like name tags or food, but I'm no expert so that's my best guess still.