Closed CJCrafter closed 7 months ago
A note on Kotlin:
WeaponMechanics will likely never be fully converted over to Kotlin. While I plan on converting a few specific classes to Kotlin, it will likely stop there. The reason for NOT converting everything is this: maintainability. For example, the main purpose of this PR is to make it easier for all devs to contribute to WeaponMechanics.
So why am I adding Kotlin in the first place? Why am I converting a few classes over and not others? WeaponMechanicsPlus and ArmorMechanics are written in Kotlin. All my future JVM projects are written in Kotlin. I strongly believe that how Kotlin handles nullibility results in better code that is as fast as or even faster then typical Java code. So I want to make it easier for Kotlin devs to use WeaponMechanics.
This is being merged, but the work is not entirely "done". We still need to update all plugins to use the new references, new methods. This is sortof a bummer, but my naming conventions were HORRIBLE 4 years ago.
It is hard for me to believe, but we are now 4 years into WeaponMechanics development (We started January 22nd, 2020). It's about time that this code base received a fresh coat of paint with all the things we have learned since we started, namely:
Gradle Changes
build.gradle.kts
filesname
,version
, anddescription
variablesrepositories {}
calls to 1 central file inbuildSrc
Codebase Changes
@NotNull
and@Nullable
where appropriate.NumberUtil
to contain more math utilities, and follow better standards (Specifically in argument order)Misc