Class Services

java.lang.Object
de.cech12.bucketlib.platform.Services

public class Services extends Object
Service loaders are a built-in Java feature that allow us to locate implementations of an interface that vary from one environment to another. In the context of MultiLoader we use this feature to access a mock API in the common code that is swapped out for the platform specific implementation at runtime.
  • Field Details

    • BUCKET

      public static final IBucketHelper BUCKET
      bucket helper instance
    • CONFIG

      public static final IConfigHelper CONFIG
      Config helper instance
    • FLUID

      public static final IFluidHelper FLUID
      Fluid helper instance
    • PLATFORM

      public static final IPlatformHelper PLATFORM
      Platform helper instance
    • REGISTRY

      public static final IRegistryHelper REGISTRY
      Registry helper instance
  • Method Details

    • load

      public static <T> T load(Class<T> clazz)
      This code is used to load a service for the current environment. Your implementation of the service must be defined manually by including a text file in META-INF/services named with the fully qualified class name of the service. Inside the file you should write the fully qualified class name of the implementation to load for the platform. For example our file on Forge points to ForgePlatformHelper while Fabric points to FabricPlatformHelper.
      Type Parameters:
      T - Type of service class
      Parameters:
      clazz - Service class, which should be loaded.
      Returns:
      service instance