Class StaticTrailManager

java.lang.Object
org.boxutil.manager.StaticTrailManager

public final class StaticTrailManager extends Object
For how to simply add your trail on projectile or missile:
 
 public final class YourModPlugin extends BaseModPlugin {
     public void onApplicationLoad() {
         BoxUtilModPlugin.initPre();
         // StaticTrailManager.putCustomTracker("ABCD_efgh_tracker", ABCD_SomeTracker::new); // if you hava any custom tracker
         StaticTrailManager.loadTrailData("data/config/modFiles/ABCD_trail_data.csv"); // also the path can be anywhere
     }
 }
 
 
  • Method Details

    • haveTrailDataConfig

      public static boolean haveTrailDataConfig(String id)
      Parameters:
      id - the id of projectile spec.
    • getTrailDataConfig

      public static Set<String> getTrailDataConfig(String id)
      Parameters:
      id - the id of projectile spec.
    • putTrailDataConfig

      public static boolean putTrailDataConfig(@NotNull String projID, String trailID)
      Parameters:
      projID - the id of projectile spec.
      trailID - same as StaticTrailData.id.
      Returns:
      true if not contain this trail data.
    • removeTrailDataConfig

      public static Set<String> removeTrailDataConfig(String id)
      Parameters:
      id - the id of projectile spec.
    • haveTrailData

      public static boolean haveTrailData(String id)
      Parameters:
      id - same as StaticTrailData.id.
    • getTrailData

      public static StaticTrailData getTrailData(String id)
      Parameters:
      id - same as StaticTrailData.id.
    • putTrailData

      public static StaticTrailData putTrailData(@NotNull StaticTrailData trailData)
      Returns:
      see Map.put(Object, Object)
    • removeTrailData

      public static StaticTrailData removeTrailData(String id)
      Parameters:
      id - same as StaticTrailData.id.
    • haveCustomTracker

      public static boolean haveCustomTracker(String trackerID)
    • getCustomTracker

      public static BiFunction<com.fs.starfarer.api.combat.DamagingProjectileAPI,StaticTrailData,StaticTrailTracker> getCustomTracker(String trackerID)
    • putCustomTracker

      public static BiFunction<com.fs.starfarer.api.combat.DamagingProjectileAPI,StaticTrailData,StaticTrailTracker> putCustomTracker(String trackerID, @NotNull BiFunction<com.fs.starfarer.api.combat.DamagingProjectileAPI,StaticTrailData,StaticTrailTracker> customTracker)
      Parameters:
      trackerID - the unique tracker ID for your mod's, for example ABCD_efgh_tracker;
      customTracker - a standard trail tracker for all the projectiles that BoxUtil built-in autogen static trail system using BaseProjectileTrailTracker.

      must be returned a NotNull tracker, for example BaseProjectileTrailTracker::new

      Returns:
      see Map.put(Object, Object)
    • removeCustomTracker

      public static BiFunction<com.fs.starfarer.api.combat.DamagingProjectileAPI,StaticTrailData,StaticTrailTracker> removeCustomTracker(String trackerID)
    • loadTrailData

      public static void loadTrailData(@NotNull String path)
      For example: StaticTrailManager.loadTrailData("data/config/modFiles/BUtil_trail_data.csv");
    • loadMagicLibLayoutTrailData

      public static void loadMagicLibLayoutTrailData(@NotNull String path)
      For example: StaticTrailManager.loadTrailData("data/config/modFiles/BUtil_trail_data_magiclib.csv");
    • registerTrail

      public static void registerTrail(String projID, StaticTrailData trailData)
      Parameters:
      projID - the id of projectile spec.
    • registerCustomTracker

      public static void registerCustomTracker(String trackerID, @NotNull BiFunction<com.fs.starfarer.api.combat.DamagingProjectileAPI,StaticTrailData,StaticTrailTracker> customTracker)
      Parameters:
      trackerID - the unique tracker ID for your mod's, for example ABCD_efgh_tracker;
      customTracker - a standard trail tracker for all the projectiles that BoxUtil built-in autogen static trail system using BaseProjectileTrailTracker.

      must be returned a NotNull tracker, for example BaseProjectileTrailTracker::new

    • _devModeReload

      public static void _devModeReload()
      Will overwrite all the data or add ones with (new or existed)id, but never clear them.

      Must be only call it by game dev mode F8 reload, do not use it in mod.

      Normally, only effective after scene switched, for example end the mission back to title.