devs-immortal / Paradise-Lost

Paradise awaits...
https://immortaldevs.net/paradise-lost/
MIT License
199 stars 43 forks source link

Convert to kootlin #690

Closed SollyW closed 2 years ago

SollyW commented 2 years ago

convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin convert to kootlin

MsRandom commented 2 years ago

based

SollyW commented 2 years ago

Hmm, even when they're only used once?

MsRandom commented 2 years ago

Yeah, I think declaring what's going to be used just looks better

SollyW commented 2 years ago

I can't use delegates (to my knowledge - there might be a feature I'm unaware of) since the property names contain underscores, which don't follow naming conventions for kotlin values. I could do val propertyName = properties["property_name"].toString(), though

MsRandom commented 2 years ago

You could rename the properties to be camel case, that's what I usually do.

Also, declaring it as a variable but accessing it from properties is worse imo since you need to type the name twice

SollyW commented 2 years ago

Perhaps. I'll wait for someone else's opinion on it before I go with it

gudenau commented 2 years ago

Kotlin is evil.

MsRandom commented 2 years ago

Kotlin is evil.

@gudenau is evil.

Jack-Papel commented 2 years ago

@gudenau Eviller than groovy? 🥴

MsRandom commented 2 years ago

Also the alternative in this case is Groovy which I'm sure we can all agree is worse

gudenau commented 2 years ago

We are currently using groovy, why change it when it works and they are both bad?

MsRandom commented 2 years ago

Kotlin build scripts are far better imo and they are way less prone to breaking with changes, due to their statically typed and compiled nature

SollyW commented 2 years ago

It might be nice to extract plugin versions to the properties file. In particular, crowdin includes the minecraft version in its version

MsRandom commented 2 years ago

I think the delegates look a lot better, although shouldn't they be localized to their scope, rather than being global?

SollyW commented 2 years ago

Perhaps. On the other hand, having them all in one place is nice