ChAoSUnItY / Forgelin-Continuous

Stands with Kotlin!
Other
6 stars 4 forks source link

Compatibility with Forgelin #1

Closed slava110 closed 1 year ago

slava110 commented 2 years ago

Yes, I saw that it's not possible to replace forgelin with forgelin-continuous but what about compatibility? I guess this mod won't work with forgelin installed in modpack as there's no relocation?

ChAoSUnItY commented 2 years ago

Currently Forgelin Continuous shares original one's mod ID, there would be some unexpected problems if you try to use it with ShadowFact's Forgelin.

btw this mod will get a new mod ID soon.

slava110 commented 2 years ago

It... Doesn't share same mod id actually https://github.com/ChAoSUnItY/Forgelin-Continuous/blob/1eeece2c16f27f7576e6bb4baa5e16e9bcf4a463/src/main/resources/mcmod.info#L3 Is it possible to relocate kotlin in forgelin-continuous somehow so it doesn't conflict with the original forgelin? Cause I'm not sure if I'll be able to get permission to fork all forgelin mods in my modpack (and make them depend on forgelin-continuous instead of outdated forgelin)

ChAoSUnItY commented 2 years ago

You're allowed to edit its source as long as you follow license.

But for the implementation of relocating kotlin I'm not pretty sure if it would work, you may need to edit the source and try it yourself since forgelin-continuous is not design to replace original one.

thedarkcolour commented 2 years ago

Why not just use the same class name as Forgelin's lang provider? Then you could use Forgelin-Continuous in place of Forgelin

slava110 commented 2 years ago

@thedarkcolour, different kotlin versions. Some stuff might have been deprecated/removed between these versions, some stuff added. So if certain mod will depend on "forgelin" and it will use new stuff - it will be actually incompatible with older forgelin. And it will be almost impossible to tell what's wrong with it by crash log too Also if certain mod will depend on "forgelin" and it will use removed stuff - it will be incompatible with newer forgelin

thedarkcolour commented 2 years ago

It would be worth a try, instead of having complete incompatibility, there'd just be partial incompatibility in case those older mods use deprecated Kotlin features

slava110 commented 2 years ago

Tested this approach with most of available Kotlin mods on CurseForge (except of abandoned) Forgelin Continuous will crash for sure with LibrarianLib because of shaded library https://github.com/TeamWizardry/LibrarianLib/blob/1.12/build.gradle.kts#L72 https://github.com/thecodewarrior/Bitfont/blob/master/core/src/main/kotlin/dev/thecodewarrior/bitfont/data/BitGrid.kt#L47 Crash report: https://www.toptal.com/developers/hastebin/ulayifujeb.yaml All other mods are fine on client load & world load

ChAoSUnItY commented 1 year ago

Forgelin Continuous does not suppose to compatible with Shadowfacts's Forgelin, since the standard library of kotlin might as well had breaking changes, thus you should either use Forgelin Continuous or Shadowfacts's Forgelin, using both would leads to library confliction.