WeaponMechanics / MechanicsMain

A New Age of Weapons in Minecraft.
https://www.spigotmc.org/resources/WeaponMechanics.99913/
MIT License
80 stars 27 forks source link

Repo Cleanup and Readability Improvements #389

Closed CJCrafter closed 7 months ago

CJCrafter commented 8 months 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

Codebase Changes

Misc

CJCrafter commented 8 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.

CJCrafter commented 7 months ago

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.