Commit Graph

161 Commits

Author SHA1 Message Date
07ce76e0d0 Some stuff 2024-02-12 23:56:58 -06:00
98fb321685 Merge branch 'update/toml-json-config' into impl/tyr-backbone 2023-09-09 19:12:02 -05:00
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
33731b611f Tyr Backbone Creation
# Changes:

## Patchwork
- Renamed FreedomExecutor to ExecutorProvider and moved the class to the provider package.
- Created an SQL Registry to prevent dependencies on Datura for SQL data. SQL is returned through an Optional, in the event that there is no SQL service registered.
- Created SQLResult, a generic ORM for ResultSets to avoid working directly with SQL data.

## Tyr
- Created Identity, which houses a username and related secret key.
- Created SQLEntry which stores the information from the Identity class into an SQL table called sessionData.
- Created TOTP, a simple static class that allows easy access to TimeBasedOneTimePasswordUtils class.
- Created OAuth2 which houses identities and performs the appropriate credential validations (incomplete)
2023-09-09 18:57:15 -05:00
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
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
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
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
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
51c96269d2 Merge remote-tracking branch 'origin/Implementations' into impl/discord-bot 2023-08-28 17:04:20 -05:00
c71ab845b9 Fully implement Discord bot 2023-08-28 01:53:48 -05:00
b4c8e05310 Update license header (#32)
* Migrate license header to new organisation

* Thank you Intellij
2023-08-27 17:58:16 -05:00
a676207afa Add Veritas, Tyr, also other changes 2023-08-26 19:05:45 -05:00
8e2e466864 Rebump plugin-yml to 0.6.0 2023-08-25 13:58:28 -05:00
01a0d66886 Fixes {} being used instead of [] for array declaration causing a build script error. 2023-08-25 12:39:09 -05:00
6cd4d83cf8 Migrate back to Paper. 2023-08-23 11:24:06 -05:00
9237353686 "FlorianMichael" -> "FlorianMichael/EnZaXD" 2023-08-23 11:21:00 -05:00
f65762698a Updated plugin descriptions and group ids 2023-08-22 21:02:45 -05:00
8c36ecc4aa Update plugin description and group id 2023-08-22 20:55:12 -05:00
598011a853 Update group id 2023-08-22 20:53:27 -05:00
dd88b95859 Update group id 2023-08-22 20:52:55 -05:00
e8213d5efd Update plugin description and group id. 2023-08-22 20:52:22 -05:00
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
eb173d2276 Updated README links from old repo url to new repo url
Please merge downstream!!!
2023-08-22 18:39:46 -05:00
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
305ebae9bf Attempt at fixing command registration
Signed-off-by: Paul Reilly <pawereus@gmail.com>
2023-08-11 15:58:40 -05:00
0f848f434c Merge pull request #25 from AtlasMediaGroup/module/NetworkManager-Hook
Create Cladis (NetworkManager Hook)
2023-08-11 15:28:19 -05:00
6ef6eacea0 Addressed requested changes
Signed-off-by: Paul Reilly <pawereus@gmail.com>
2023-08-11 15:26:26 -05:00
dd353b4429 Addressed requested changes
Signed-off-by: Paul Reilly <pawereus@gmail.com>
2023-08-11 15:26:05 -05:00
3e92c4db24 Merge pull request #27 from AtlasMediaGroup/kitchen-sink
Merge downstream
2023-08-11 14:35:15 -05:00
1544a60730 Merge pull request #26 from AtlasMediaGroup/readme/add-eva
Update README.md
2023-08-11 14:34:36 -05:00
f24f278b86 Update README.md 2023-08-11 14:32:54 -05:00
bbaa325ad6 Create Cladis (NetworkManager Hook)
Signed-off-by: Paul Reilly <pawereus@gmail.com>
2023-08-11 14:08:49 -05:00
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
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
f236ea261a Merge pull request #22 from AtlasMediaGroup/kitchen-sink
Merge downstream into implementations
2023-08-11 13:18:09 -05:00
e3807e29d8 Merge pull request #19 from FlorianMichael/Implementations
Merge dev into production
2023-08-11 13:17:21 -05:00
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
6ecf945396 Merge branch 'kitchen-sink' into Implementations 2023-08-07 02:08:07 +02:00
368f3cae12 Modify banner formatting 2023-08-06 17:44:39 -05:00
60b63b5857 Fix readme incorrectly stating "proof of concept" 2023-08-06 17:41:41 -05:00
9bb7ebb770 Changed phrasing to match latest changes. 2023-08-06 17:07:49 -05:00
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
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
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
dd4e1bbda0 Merge pull request #13 from FlorianMichael/command-spy
Implemented basic command spy
2023-08-01 09:09:42 -05:00
58bcc1c2d6 Use command API properly 2023-08-01 13:12:43 +02:00
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