LibJF/docs/libjf-base.md

773 B

libjf-base

libjf-base is a dependency of all other modules and provides common functionality between them. It has no dependencies. It includes:

  • a Gson strategy to ignore fields annotated with GsonHidden
  • 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
  • a "flags" system to allow dynamically enabling LibJF features through system properties and fabric.mod.jsons
  • a shared logger and Gson instance
  • the ResourcePath abstraction to describe locations of resources as simple strings

All of these are implemented in one reusable class (except the Gson strategy, whose annotation is separate), which should be simple to read