Commit Graph

69 Commits

Author SHA1 Message Date
Paul Reilly
49ad109671 Adjust to better align with code specs 2023-05-21 21:47:10 -05:00
Paldiu
4dd4fa6ad1
Merge branch 'kitchen-sink' into banning-update 2023-05-21 19:29:17 -05:00
Allink
036ddf3e04
Add mutable & immutable transaction interfaces and implementations, replacing copy() 2023-05-20 20:20:39 +01:00
Allink
7817b0770c
Refactor arithmetic operations in EconomicEntityData to be more in-line with Transaction 2023-05-20 06:11:24 +01:00
Allink
cb208c710f
Refactor transaction balance methods to be more in-line with EconomicEntityData 2023-05-20 06:08:17 +01:00
Allink
0429604737
Add method for directly setting a transaction's balance 2023-05-20 05:55:26 +01:00
Allink
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
Allink
f366a91b36
Add transaction logging classes 2023-05-20 05:36:43 +01:00
Allink
0e31bea33f
Add transactor & transaction result 2023-05-20 05:20:18 +01:00
Allink
57853a37c5
Add transaction freezing 2023-05-20 05:14:10 +01:00
Allink
8b692d1b11
Add financial transaction classes 2023-05-20 05:08:42 +01:00
Allink
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
Allink
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
Allink
12cfdfe31d
Add methods specifically for logging components to FreedomLogger
The new component-logging methods are ALL suffixed with "Component" to prevent type erasure conflicts with the other Supplier methods.

These methods were added for completeness for when I make the FreedomLogger an Audience.
2023-05-20 05:08:15 +01:00
Allink
55859b6b15
Add adventure utility class
This class is meant to track a global PlainTextComponentSerializer instance, so we don't have to call PlainTextComponentSerializer#plainText in every class that needs to serialize a Component into a String.

I implemented this so I can add component logging to FreedomLogger.
2023-05-20 05:08:11 +01:00
Allink
7756813d01
Add mutable audience forwarder class
This class allows for ForwardingAudience-esque behaviour, while being mutable. It is currently not thread safe.

It was implemented as we need a good way to implement a "TransactionSpy" (or "EconomySpy", maybe) in the future, once we finalize planned administrative functions.
2023-05-20 04:00:51 +01:00
Paul Reilly
8605120752 Remove ACF 2023-05-19 16:46:45 -05:00
Paul Reilly
47fcda6462 Updates 💯 2023-05-18 23:15:17 -05:00
Paul Reilly
6f400e505c Upgrades 2023-05-15 01:30:37 -05:00