Commit Graph

56 Commits

Author SHA1 Message Date
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
305ebae9bf Attempt at fixing command registration
Signed-off-by: Paul Reilly <pawereus@gmail.com>
2023-08-11 15:58:40 -05:00
6ef6eacea0 Addressed requested changes
Signed-off-by: Paul Reilly <pawereus@gmail.com>
2023-08-11 15:26:26 -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
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
9bb7ebb770 Changed phrasing to match latest changes. 2023-08-06 17:07:49 -05: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
6842cb2792 Adjusted Command Processing
Completion annotations have been moved to top level, from per method, for a much clearer understanding of how the annotation should be used.
2023-07-23 02:15:12 -05:00
2b12f4eebb hotfixes 2023-06-25 21:46:01 -05:00
d0e8d6e361 pbs kids 2023-06-25 01:10:30 -05:00
fb97a8e65b updates 2023-06-21 15:45:55 -05:00
09699ccabb AdminChat 2023-06-20 09:24:28 -05:00
e18a0c0808 Minor fixes 2023-06-10 21:41:14 -05:00
a22f7fb215 Super edited with Notepad++ 2023-06-09 21:18:29 -05:00
de1da2bd61 Edited with Notepad++ 2023-06-09 21:17:42 -05:00
bacf6e8818 Beans 2023-06-09 21:11:36 -05:00
f459842eaf Some more updates 2023-06-09 14:15:53 -05:00
6631aebaa0 Merge branch 'kitchen-sink' into Displayable-GUI-API 2023-06-09 13:25:18 -05:00
09c511ef34 Additional documentation 2023-06-09 13:23:06 -05:00
6ccaf5eb25 Add documentation to economy-related interfaces 2023-06-09 17:24:12 +01:00
1ea106d999 Documentation, Add BouncyPads 2023-06-08 10:02:20 -05:00
27dafd69e6 Fixings! 2023-06-04 21:30:17 -05:00
6edf320bf7 Merge branch 'Displayable-GUI-API' into videos-stupid-contributions 2023-06-02 18:08:55 -05:00
e160868967 Reformatting 2023-06-02 17:58:08 -05:00
ccb456ea0c Removes old unused UserData methods 2023-06-02 16:57:26 -06:00
bf2b48d670 Merge branch 'kitchen-sink' into Displayable-GUI-API 2023-06-02 17:11:20 -05:00
9481f88afd Update 2023-06-02 17:07:14 -05:00
4ebeca9c73 Ports /cake over to Fossil and now every submodule has a plugin yml 2023-06-02 15:46:59 -06:00
a632eb778c Start implementations 2023-06-01 23:02:01 -05:00
def84bd747 updates 🎱 2023-05-30 17:39:54 -05:00
b95a06fa7c Start implementing GUI API 2023-05-25 13:13:32 -05:00
73d9f1e91d Create KyoriConstants.java
See docs for info
2023-05-24 21:10:59 -05:00
b9a5440733 Minor update 2023-05-23 17:11:08 -05:00
5f6e7a153e Slight bugfix, also more code spec alignment 2023-05-21 22:11:31 -05:00
faca73f99c Merge branch 'banning-update' of https://github.com/SimplexDevelopment/FreedomNetworkSuite into banning-update 2023-05-21 21:47:54 -05:00
49ad109671 Adjust to better align with code specs 2023-05-21 21:47:10 -05:00
4dd4fa6ad1 Merge branch 'kitchen-sink' into banning-update 2023-05-21 19:29:17 -05:00
036ddf3e04 Add mutable & immutable transaction interfaces and implementations, replacing copy() 2023-05-20 20:20:39 +01:00
7817b0770c Refactor arithmetic operations in EconomicEntityData to be more in-line with Transaction 2023-05-20 06:11:24 +01:00
cb208c710f Refactor transaction balance methods to be more in-line with EconomicEntityData 2023-05-20 06:08:17 +01:00
0429604737 Add method for directly setting a transaction's balance 2023-05-20 05:55:26 +01:00
cd5c42801d Rename transaction-related references of transfer amount to balance
This is done for more consistency between methods.
2023-05-20 05:54:24 +01:00
f366a91b36 Add transaction logging classes 2023-05-20 05:36:43 +01:00
0e31bea33f Add transactor & transaction result 2023-05-20 05:20:18 +01:00
57853a37c5 Add transaction freezing 2023-05-20 05:14:10 +01:00
8b692d1b11 Add financial transaction classes 2023-05-20 05:08:42 +01:00
2f18e4d8ef Add economic entity interfaces
I decided to add these interfaces, instead of just building upon the User & UserData interface, as support for commerce between clans & users might be something that we want to add in the future in Clans.
2023-05-20 05:08:23 +01:00
2fd2008f65 Make the FreedomLogger an Audience
This will allow for a FreedomLogger instance to be added to any collection of audiences.

This was written for usage in a future TransactionSpy implementation.
2023-05-20 05:08:19 +01:00