Skip to content
This repository has been archived by the owner on Jun 14, 2024. It is now read-only.

[FEAT]: based to Java17 and export as module #518

Open
graycat27 opened this issue Feb 5, 2023 · 5 comments
Open

[FEAT]: based to Java17 and export as module #518

graycat27 opened this issue Feb 5, 2023 · 5 comments
Assignees

Comments

@graycat27
Copy link

Feature Description

since Java9, module has introduced. ( Oracle JDK9 releaseNote )
As a plugin developer who developping the plugin that works together with the TNE on MC1.19.3 (Java17LTS environment), I want the TNE will become a moduled project.

at /src/net/tnemc module-info.java

module tne {
   requires ... // the list of dependencies

   exports net.tnemc.tne; // important to use TNEs API in the other plugin
}

Reasoning

With current release(0.1.1.16), my plugins module-info.java has an error.

パッケージ 'net.tnemc.core.economy' はモジュール 'java.xml.bind' で宣言されており、モジュール 'myModule' にはエクスポートされません
=> it says " the package 'net.tnemc.core.economy` is declared in a module `java.xml.bind` so that is will not be exported to the module `myModule`"
@creatorfromhell
Copy link
Member

This is something I've been contemplating doing, but since I've been working on a brand new source base for TNE on java 17 Im not sure if this one will make the jump to 17. This is mostly so that when the new TNE releases everyone goes for it.

@BrycensRanch
Copy link

where are you kidding the repo bro I thought this project was dead

also please cloud.commandframework for command handling, it's godly fr

@creatorfromhell
Copy link
Member

creatorfromhell commented Mar 6, 2023

where are you kidding the repo bro I thought this project was dead

also please cloud.commandframework for command handling, it's godly fr

The repository for the recode is currently private. The recode currently uses the ACF by aikar, what makes cloud better than ACF? I remember looking between the two and deciding on ACF, but is cloud better?

For when it's public the repository is located at https://github.com/TheNewEconomy/EconomyCore. I may publicize it within a few weeks when I start beta testing for it. I've mostly been keeping it private to stay on the downlow until I believe it's ready.

@BrycensRanch
Copy link

Cloud is like a flexible swiss knife that covers all the bases ACF does and does more.

From one of the cloud devs

jmp — 03/13/2022 2:20 PM
the syntax is going to be checked first because cloud uses a deterministic command tree unlike acf
and the permission checking happens as a part of the parsing
it needs to know that command it's going to run in order to check conditions for that command

cave cat — 01/27/2021 2:09 PM
iirc the main difference is ACF is built around annotations and using string patterns, Cloud is built around a tree system, with annotations being one of several ways to construct that tree

jmp — 12/08/2020 6:04 PM
all of us that work on cloud used to use ACF
and disliked it enough to want to run away and work on something else
its ok
but it has a lot of annoying issues
Cloud supports all the way back to 1.8, while providing fantastic developer features.

One thing to remember is that Cloud isn't ACF but supports even more annotations constructs than ACF.

I personally vouch for cloud.commandframework and their fantastic brigadier support have allowed me to make my plugins even more friendly for users no matter the platform.

Their examples to get you up and running are detailed and they have actual functioning examples such as Pl3xMap and my own plugin https://github.com/BrycensRanch/TownyPlus/tree/v1.0.11-alpha.6/src/main/java/me/romvnly/TownyPlus/command
https://github.com/BrycensRanch/TownyPlus/blob/v1.0.11-alpha.6/src/main/java/me/romvnly/TownyPlus/util/CommandUtil.java

@creatorfromhell
Copy link
Member

Cloud is like a flexible swiss knife that covers all the bases ACF does and does more.

From one of the cloud devs

jmp — 03/13/2022 2:20 PM
the syntax is going to be checked first because cloud uses a deterministic command tree unlike acf
and the permission checking happens as a part of the parsing
it needs to know that command it's going to run in order to check conditions for that command

cave cat — 01/27/2021 2:09 PM
iirc the main difference is ACF is built around annotations and using string patterns, Cloud is built around a tree system, with annotations being one of several ways to construct that tree

jmp — 12/08/2020 6:04 PM
all of us that work on cloud used to use ACF
and disliked it enough to want to run away and work on something else
its ok
but it has a lot of annoying issues
Cloud supports all the way back to 1.8, while providing fantastic developer features.

One thing to remember is that Cloud isn't ACF but supports even more annotations constructs than ACF.

I personally vouch for cloud.commandframework and their fantastic brigadier support have allowed me to make my plugins even more friendly for users no matter the platform.

Their examples to get you up and running are detailed and they have actual functioning examples such as Pl3xMap and my own plugin https://github.com/BrycensRanch/TownyPlus/tree/v1.0.11-alpha.6/src/main/java/me/romvnly/TownyPlus/command https://github.com/BrycensRanch/TownyPlus/blob/v1.0.11-alpha.6/src/main/java/me/romvnly/TownyPlus/util/CommandUtil.java

Fair enough, I'll consider the prospect of using cloud again after starting beta testing. I don't recall why I didn't use it, maybe it was related to translation support, but honestly that was a few months back.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants