Matt-MX / KtPaperGui

Declarative GUI focused library for PaperMC. Made for personal use but open source enjoy! :)
Apache License 2.0
25 stars 5 forks source link

Structure for features #36

Open mani1232 opened 3 months ago

mani1232 commented 3 months ago

Initiation

mani1232 commented 3 months ago

30

mani1232 commented 3 months ago

It's a lot of work) image

Matt-MX commented 3 months ago

I think some of the core stuff could do with a refactor tbh, it also needs more JavaDocs since I always add something then forget to document.

If possible try and retain the method signatures so existing plugins using it don't need to be updated (too much)

mani1232 commented 2 months ago

@Matt-MX There's a lot of work to add Spigot support, I can't do it, and I don't need it already. But I'm going to do com.mattmx:ktgui-[feature]:[version] Examples:

com.mattmx:ktgui-config-core: com.mattmx:ktgui-config-json: com.mattmx:ktgui-config-yaml:

com.mattmx:ktgui-gui:

com.mattmx:ktgui-commands:

etc.

Matt-MX commented 2 months ago

Yeah I was gonna say it's a big job to abstract this all but that sounds good man 👍

mani1232 commented 2 months ago

@Matt-MX

3 questions

  1. Im think about dropping protocollib and use https://github.com/retrooper/packetevents
  2. Drop 1.20 and every old version? and use latest version (now 1.21)
  3. Add support coroutines? Good feature but not very need
Matt-MX commented 2 months ago

packet-events is definately superior. However, we could really just get rid of the Anvil gui example since then we don't need protocollib or packet events. That's literally all ProtocolLib is there for in the first place.

I'd like to keep support for 1.20.4+ since my servers run on it. We can and should still upgrade to 1.21 since I'd like to add brigadier support for the declarative commands and some sort of holograms/interactions helper or wrapper.

I've never used coroutines and so haven't much understanding or experience working with them so my usage might cause unneeded issues and complications.

Matt-MX commented 2 months ago

I'll do a review of the changes made here later. I've also updated the dev branch to impl libs.versions.toml, paperweight and more.