Commit Graph

158 Commits

Author SHA1 Message Date
Paul Reilly
df442ef4b0 Merge branch 'Implementations' into update/toml-json-config
# Conflicts:
#	Patchwork/src/main/java/fns/patchwork/config/Configuration.java
#	Veritas/src/main/java/fns/veritas/Aggregate.java
#	Veritas/src/main/java/fns/veritas/bukkit/ServerListener.java
#	Veritas/src/main/java/fns/veritas/client/BotClient.java
#	Veritas/src/main/java/fns/veritas/client/BotConfig.java
2023-09-09 19:11:19 -05:00
Paul Reilly
85cc1f7ae0 Bot Command Implementation
# Changes:
- Added /ban <player> <reason> [duration] command. Bans a user on the server for the specified reason and duration (in minutes). If no duration is specified, the default is 5 minutes.

- Added /kick <player> <reason> command. Kicks a player on the server for the specified reason.

- Added /whisper <player> <message> command. Send a private message to a player on the server.
2023-09-04 22:57:36 -05:00
Paul Reilly
4681fc9596 Minor tweaks to GenericConfig & ContextProvider
# Changes:
- Changed Configuration#getList(String, Class) to Configuration#getCollection(String, Class)

- Renamed GenericConfiguration -> GenericConfig

- Implemented semantics for GenericConfig#getCollection and GenericConfig#getStringList

- Adjusted return value of ContextProvider#fromString to return Optional<T> instead of @Nullable T

- Adjusted classes which used previous API methods to use the newly updated ones.
2023-08-30 20:49:22 -05:00
Paldiu
7d5cb35e50
Fully implement Discord bot (#33)
* Fully implement Discord bot

* Fix plugin-yml plugin errors & switch to night-config

# Changes:
- Migrate from com.google.gson:gson and com.tomlj:tomlj over to com.electronwill.night-config:core, toml, and json
- Add the appropriate bukkit tags required by the minecrell/plugin-yml gradle plugin to Veritas and Tyr.

* Replace TOML wrapper with generic support

# Changes:
- Removed specific TOML wrapper in favor of GenericConfiguration.
- Added ConfigType enum to define configuration formats, parsers, and writers for TOML and JSON.
- Created FileUtils class containing useful file and directory creation methods
- Added @ApiStatus.Internal to both the BukkitDelegate class and Completions annotation to specify that they should not be used externally.
2023-08-29 17:32:13 -05:00
Paul Reilly
26f4e0746b Replace TOML wrapper with generic support
# Changes:
- Removed specific TOML wrapper in favor of GenericConfiguration.
- Added ConfigType enum to define configuration formats, parsers, and writers for TOML and JSON.
- Created FileUtils class containing useful file and directory creation methods
- Added @ApiStatus.Internal to both the BukkitDelegate class and Completions annotation to specify that they should not be used externally.
2023-08-28 21:52:40 -05:00
Paul Reilly
e71c167d5e Fix plugin-yml plugin errors & switch to night-config
# Changes:
- Migrate from com.google.gson:gson and com.tomlj:tomlj over to com.electronwill.night-config:core, toml, and json
- Add the appropriate bukkit tags required by the minecrell/plugin-yml gradle plugin to Veritas and Tyr.
2023-08-28 18:17:12 -05:00
Paul Reilly
51c96269d2 Merge remote-tracking branch 'origin/Implementations' into impl/discord-bot 2023-08-28 17:04:20 -05:00
Paul Reilly
c71ab845b9 Fully implement Discord bot 2023-08-28 01:53:48 -05:00
EnZaXD
b4c8e05310
Update license header (#32)
* Migrate license header to new organisation

* Thank you Intellij
2023-08-27 17:58:16 -05:00
Paul Reilly
a676207afa Add Veritas, Tyr, also other changes 2023-08-26 19:05:45 -05:00
Paul Reilly
8e2e466864 Rebump plugin-yml to 0.6.0 2023-08-25 13:58:28 -05:00
Paul Reilly
01a0d66886 Fixes {} being used instead of [] for array declaration causing a build script error. 2023-08-25 12:39:09 -05:00
Paldiu
6cd4d83cf8
Migrate back to Paper. 2023-08-23 11:24:06 -05:00
Paldiu
9237353686
"FlorianMichael" -> "FlorianMichael/EnZaXD" 2023-08-23 11:21:00 -05:00
Paldiu
f65762698a
Updated plugin descriptions and group ids 2023-08-22 21:02:45 -05:00
Paldiu
8c36ecc4aa
Update plugin description and group id 2023-08-22 20:55:12 -05:00
Paldiu
598011a853
Update group id 2023-08-22 20:53:27 -05:00
Paldiu
dd88b95859
Update group id 2023-08-22 20:52:55 -05:00
Paldiu
e8213d5efd
Update plugin description and group id. 2023-08-22 20:52:22 -05:00
Paldiu
8a32d9980d
Merge pull request #31 from SimplexDevelopment/kitchen-sink
Updated README links from old repo url to new repo url
2023-08-22 20:40:19 -05:00
Paldiu
eb173d2276
Updated README links from old repo url to new repo url
Please merge downstream!!!
2023-08-22 18:39:46 -05:00
allinkdev
18951fa120
Port to ClassGraph (#30)
* Port to ClassGraph

* Migrate to Minecrell plugin-yml

This allows us to load libraries at runtime instead of using shading & creating massive JAR files.

* Fix constructor modifiers of cake command

* Fix improper usage of CommandMap
2023-08-21 17:39:50 -05:00
Eva
bec93a9142
Merge pull request #28 from AtlasMediaGroup/fix/command-handling
Attempt at fixing command registration
2023-08-11 22:03:53 +01:00
Paul Reilly
305ebae9bf Attempt at fixing command registration
Signed-off-by: Paul Reilly <pawereus@gmail.com>
2023-08-11 15:58:40 -05:00
Paldiu
0f848f434c
Merge pull request #25 from AtlasMediaGroup/module/NetworkManager-Hook
Create Cladis (NetworkManager Hook)
2023-08-11 15:28:19 -05:00
Paul Reilly
6ef6eacea0 Addressed requested changes
Signed-off-by: Paul Reilly <pawereus@gmail.com>
2023-08-11 15:26:26 -05:00
Paul Reilly
dd353b4429 Addressed requested changes
Signed-off-by: Paul Reilly <pawereus@gmail.com>
2023-08-11 15:26:05 -05:00
Paldiu
3e92c4db24
Merge pull request #27 from AtlasMediaGroup/kitchen-sink
Merge downstream
2023-08-11 14:35:15 -05:00
Paldiu
1544a60730
Merge pull request #26 from AtlasMediaGroup/readme/add-eva
Update README.md
2023-08-11 14:34:36 -05:00
Paldiu
f24f278b86
Update README.md 2023-08-11 14:32:54 -05:00
Paul Reilly
bbaa325ad6 Create Cladis (NetworkManager Hook)
Signed-off-by: Paul Reilly <pawereus@gmail.com>
2023-08-11 14:08:49 -05:00
allinkdev
8e5c52d0e8
Implement configuration system (#12)
* Return primitives in configuration interface where possible

This should save some unnecessary performance and memory overhead caused by the storage of object wrappers of the primitive types and the unboxing of those object wrappers into the wrapped primitive types when we try to do some primitive-exclusive operation.

I doubt that we'll be using the additional sugar methods that these wrappers provide most of the time, and if we need to we can just box the returned primitives.

* Mark returned lists in Configuration interface as Unmodifiable

I can't think of a use-case where we would want to modify the returned list from the Configuration interface we're accessing; however in case those situations do in-fact exist, I've made the decision to mark the return values of those methods as Unmodifiable so that there are no confusions in the future when the returned list throws an UnsupportedOperationException

* Provide class parameter in Configuration#getList

Otherwise, it's impossible to actually check if the on-disk configuration values are actually of the same type as/a subclass of what the plugin is expecting in the implementation.

* State that Configuration#getList will return an empty list if it fails

I don't think it would go particularly well if we were to return a list of Objects when we have a parameterized method. Additionally, how would components of the plugin respond to being given a list of Objects instead of whatever type they were expecting? This should be a better fail-safe solution compared to what we were previously going to do.

* Return an optional in Configuration#get if something went wrong

* Add class parameter to Configuration#get

* Update JavaDoc of Configuration#getList to reflect new parameter

* Remove final modifier from parameter

* Add class parameter to Configuration#getOrDefault

* Fix misspelled JavaDoc tag

* Partially implement a wrapper over FileConfiguration that implements our Configuration

* Fix codestyle violation

* Add copyright header & change package

* Add code for WrappedBukkitConfiguration#getList and WrappedBukkitConfiguration#get
2023-08-11 14:01:19 -05:00
EnZaXD
086e5ca72f
Added copyright notice to all class files (#23)
* Pushed copyright configuration to all classes

* Removed duplicated copyright headers
2023-08-11 19:41:38 +01:00
Paldiu
f236ea261a
Merge pull request #22 from AtlasMediaGroup/kitchen-sink
Merge downstream into implementations
2023-08-11 13:18:09 -05:00
Paldiu
e3807e29d8
Merge pull request #19 from FlorianMichael/Implementations
Merge dev into production
2023-08-11 13:17:21 -05:00
EnZaXD
31d52af6bc
Merge branch 'AtlasMediaGroup:Implementations' into Implementations 2023-08-11 20:16:20 +02:00
Eva
3e8c63221d
Overhaul of Patchwork and Registration system, fix-up for all plugin.yml files and removal of .negates(0 and .value() from DefaultNodes in turn for the .expiry() system removing the redundancies. (#21)
Co-authored-by: eva <66324759+evax64@users.noreply.github.com>
2023-08-11 13:15:36 -05:00
FlorianMichael
6ecf945396 Merge branch 'kitchen-sink' into Implementations 2023-08-07 02:08:07 +02:00
Paldiu
368f3cae12
Modify banner formatting 2023-08-06 17:44:39 -05:00
Paldiu
60b63b5857
Fix readme incorrectly stating "proof of concept" 2023-08-06 17:41:41 -05:00
Paldiu
9bb7ebb770
Changed phrasing to match latest changes. 2023-08-06 17:07:49 -05:00
EnZaXD
169e387a5a
Bump Gradle to latest, updated Dev list (#18)
* Bump Gradle to latest, updated Dev list

* Thanks git
2023-08-03 21:58:40 +01:00
Paldiu
21463c50fe
Migrates the entire package nomenclature to be more direct and straightforward. (#17)
Signed-off-by: Paul Reilly <pawereus@gmail.com>
2023-08-01 22:34:18 -05:00
EnZaXD
e1a6b5e587
Implemented Fuckoff command from TFM back (#16)
* Implemented Fuckoff command back from TFM

* Actual use the radius field

* Change default radius to 15

* Renamed Fuckoff#pushPlayers

* Use command API properly
2023-08-01 09:15:46 -05:00
Paldiu
dd4e1bbda0
Merge pull request #13 from FlorianMichael/command-spy
Implemented basic command spy
2023-08-01 09:09:42 -05:00
FlorianMichael
58bcc1c2d6
Use command API properly 2023-08-01 13:12:43 +02:00
Paldiu
b01e8352bf
Merge pull request #15 from FlorianMichael/plugin-scope
Add description to all modules of the project
2023-07-31 23:36:50 -05:00
FlorianMichael
bbc6e76908
Add description to all modules of the project 2023-07-31 13:17:34 +02:00
EnZaXD
c5fbafe015
Make all command constructors public (#14) 2023-07-31 11:02:37 +00:00
FlorianMichael
1ca7b9edc7
Make CommandSpyCommand constructor public 2023-07-31 12:58:44 +02:00