Commit Graph
21 Commits
Author SHA1 Message Date
Allink 95df78da6f Expose MutableAudienceForwarder in SimpleTransactionLogger
This will add the ability for us to add audiences to the MutableAudienceForwarder inside of SimpleTransactionLogger, which will make TransactionSpy much easier.
2023-05-20 06:37:12 +01:00
Allink b98b0870b1 Finalize MutableAudienceForwarder instance inside of SimpleTransactionLogger 2023-05-20 06:36:16 +01:00
Allink 18353deb13 Remove unnecessary console sender audience from simple transaction logger 2023-05-20 06:35:58 +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 a598434bf9 Refactor transaction results to be more consistent 2023-05-20 05:55:51 +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 cad1ab8ec7 Remove a few this references 2023-05-20 05:42:17 +01:00
Allink f366a91b36 Add transaction logging classes 2023-05-20 05:36:43 +01:00
Allink bdd8c1fb68 Atomicize balance field in SimpleUserData 2023-05-20 05:21:36 +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
Allink e044434512 Use Scissors API instead of Paper API
This will allow us to use Scissors-exclusive events in the future
2023-05-18 01:25:44 +01:00
Allink ce48bd2ab8 Mark gradlew wrapper as executable 2023-05-18 01:03:15 +01:00