⚙️
T-MiniGameAPI
WebsiteDiscord
2.0.0
2.0.0
  • 🏠Home
  • 💻Maven and Gradle
  • 📦Minigame setup
  • 🖱️Plugins are using this libarary
  • Basic features
    • 🗺️Configuration
      • 🎯Configurators
      • 🔴Override Configuartors
    • 🧑Models
      • 📦File model
        • 🟢Single file
        • 🟠Many files
      • 🧑‍🦱Users
    • 📔Loaders
      • 📗Loader
        • 📂File loader
  • Minigame features
    • 🅰️Arena system
      • 🟢Arena
      • 🔵ArenaManager
    • 🎮Game system
      • 🔴Game Manager
      • 🔵Game State
      • 🟡Users in game
      • 🟢Teams
    • ⏰Timers
      • 😀SimpleTimer
      • ✨XpTimer
    • 🪙Coins system
      • 🟢UserCoins
      • 🔵UserCoinsManager
    • ✨Statistics system
      • 🟢Default statistics system
      • 🔵Your own statistics system
    • 💥Cosmetics system
      • 📀Cosmetic
        • 💕ParticleCosmetic
      • ✳️Cosmetics Manager
      • 🧒Users' cosmetics
        • 💿UserCosmeticsManager
        • ✅UserCosmetics
  • Modules
    • 🔌What is module ?
    • 🗒️Modules list
    • Internal Modules
      • Commands Module
        • 🧔Parent commands
        • 🧒Sub commands
        • 📑Tab completer
        • ®️Command registration
      • SQL Module
        • 💡DbModel
        • SQLDatabaseDao
        • 💾Database loader
        • SQLDatabaseAdapter
        • SQLDatabaseMigrator
      • MongoDB Module
        • MongoDbConnector
        • 💡MongoDbModel
        • MongoDbDao
        • 💾MongoDb loader
    • 💾How to create module?
Powered by GitBook
On this page
  1. Basic features
  2. Loaders
  3. Loader

File loader

File loader loads data into a list from YAML files.

File loader must extend AbstractFileLoader.

How to create a loader from a single file?

public class MyFileLoader extends AbstractFileLoader<UserCoins> {
    
    @Override
    public void load() {
        load("users_coins.yml", "users");
    }
    
    @Override
    public void load(String fileName, String primarySection) {
      loadFile(fileName, primarySection, (key, section) -> 
          this.addObject(section.getObject(key, UserCoins.class)));
    }
}

How to create a loader from a many files?

public class MyManyFilesLoader extends AbstractFileLoader<UserCoins> {
    
    @Override
    public void load() {
        File file = new File(MiniGame.getInstance().getDataFolder(), "users");

        File[] files = file.listFiles();

        if (files == null) return;

        for (File childFile : files) {
            load(childFile.getAbsolutePath(), "user");
        }
    }
    
    @Override
    public void load(String fileName, String primarySection) {
        File file = new File(fileName);

     loadFile(file , primarySection, (key, section) -> 
          this.addObject(section.getObject(key, UserCoins.class)));
    }
}
PreviousLoaderNextArena system
📔
📗
📂