[Suggestion] Compatibility with ValleyCraft & BetterNether/End chains
ayuwooh opened this issue ยท 9 comments
ValleyCraft, BetterNether & BetterEnd have different types of chains like gold, copper, netherite and etc. Would be nice to have compatibility :)
@efffauw That would be too much work for me. Once the next update is out you should open an issue in their repo to add compatibility. A guide for mod authors will also be released with the update.
Please also note that ConnectibleChains will not be maintaining the compatibility for ValleyCraft & BetterNether/End. If it breaks in the future create an issue in their repos!
I've stared working on this feature and am progressing quite well, one thing that is holding me back however is how the mod keeps track of links. You have a source knot that knows that is connected to a destination knot and that's basically it. The source knot keeps track of all the information, that's why in creative mode items still drop when breaking one of the knots (the dst knot). So with the current system this would not be possible:
fence --- copper_chain --- fence --- gold_chain --- fence
because there's 1 knot per fence and 1 type per knot. A class like ChainLink
with KnotA, KnotB, Type
would be useful. Any comments @legoatoom?
https://github.com/Qendolin/ConnectibleChains/tree/mod-compat
You firstly have to ask yourself does it matter if a source chain connects to a chainlink that is from a different type?
Can only gold chains connect to gold chains or can they all interlock, if that is the case it doesn't matter about the how it is defined, the source just needs to keep track of the types then aswell.
Adding something like KnotA, KnotB, Type
will require a lot of rewriting. Something that should not be needed
I wouldn't mind refactoring the linking, IMO the ChainKnotEntity class is too big and a little messy anyway. If you don't mind I'm gonna refactor the linking system and make it simpler / less prone to edge cases like #14.
Also compatibility with Mythic Metals Decorations
I rather you not change too much from the ChainKnotEntity. I mimicked most of the code from Mojang and the connections are working fine and pretty smoothly. You risk creating more bugs.