2022-01-05 11:54:03 +01:00
|
|
|
# libjf-base
|
|
|
|
libjf-base is a dependency of all other modules and provides common functionality between them.
|
|
|
|
It has no dependencies.
|
|
|
|
It includes:
|
|
|
|
|
2022-04-03 18:17:14 +02:00
|
|
|
- a Gson strategy to ignore fields annotated with GsonHidden, ClientOnly and ServerOnly
|
2022-01-05 11:54:03 +01:00
|
|
|
- LazySupplier, a supplier that caches the result of another supplier to which it delegates
|
|
|
|
- ThrowingRunnable and ThrowingSupplier, counterparts of their default lambdas which allow exceptions
|
2022-02-12 12:16:19 +01:00
|
|
|
- a "flags" system to allow dynamically enabling LibJF features through system properties and fabric.mod.json
|
2022-01-05 11:54:03 +01:00
|
|
|
- a shared logger and Gson instance
|
|
|
|
- the ResourcePath abstraction to describe locations of resources as simple strings
|
2022-02-12 12:16:19 +01:00
|
|
|
- the CoProcess system used internally to control threads separate from the game thread
|
2022-03-25 19:13:24 +01:00
|
|
|
- an HTTP abstraction from Inceptum
|
2022-01-05 11:54:03 +01:00
|
|
|
|
|
|
|
All of these are implemented in one reusable class (except the Gson strategy, whose annotation is separate), which should be simple to read
|