Conversation

never been happier to see an empty minecraft world in my life. like. i fucking screamed of happiness when i saw this.

the context is that this is done intentionally via a plugin made in rust. after a few more minor tweaks (and after making some macros) i will be able to make feature complete spigot plugins without java

4
2
1
@IoI_xD you are going to so much length to not use java is it really that bad
1
1
3

@zebo java is a shitstain on this industry and i geniunelt believe its creation was a mistake

0
0
1
@IoI_xD oooo wow is this the new FFI stuff or the old JNI / JNA ?
1
0
1

@bun i wasnt aware of any new features. this is done via jni and a months worth of work creating rust bindings since jni kinda sucks to work with

1
0
0
@IoI_xD the new foreign function stuff is available in JDK 19 & 20 as a preview feature
https://openjdk.org/jeps/434
2
0
1
@IoI_xD JNI + Rust is really annoying though I know it well; it's so cool to do Spigot plugins with this
0
0
1

@bun if its a preview feature that might get rejected that makes me feel better. because who knows when minecraft will move to java 20

0
0
0

@IoI_xD do you think you can reimplement (not bind, *reimplement*) mixins in rust

1
0
0

@notnite i have a vague idea of how i could do it if i as masochistic enough but it’d way beyond what i’m willing to do tbh.

(also hot take, i have yet to be convinced that spigot is bad. its works as i would expect an event api to, and a lot of the specific shortcomings i’ve noticed can be blamed on either java or mojang themselves. when you remove java from the equation, and also when you barely upgrade the mc version of your servers anymore, i feel like its more bearable). its true that mixins are more powerful then an event based api but that comes at the cost of having to use java)

1
0
0

@notnite the only idea i have for replicating the functionality of mixins is generating a function that takes whatever variables happen to be in scope and pass it via jni, a solution so complex that i may as well just stick with an event api

0
0
0