package com.livingworld.bootstrap;

import com.livingworld.debug.DiagnosticCategory;
import com.livingworld.debug.LivingWorldLogger;

/**
 * Bootstrap class for Living World mod startup lifecycle.
 *
 * Each method logs its lifecycle stage. No gameplay logic, region/ecosystem,
 * or persistence systems are implemented yet.
 */
public class LivingWorldBootstrap {

    /**
     * Called once during mod construction.
     */
    public void initialize() {
        LivingWorldLogger.info(DiagnosticCategory.BOOTSTRAP, "initialize — mod bootstrap initialized.");
    }

    /**
     * Called during common (dedicated & integrated server) setup phase.
     */
    public void onCommonSetup() {
        LivingWorldLogger.info(DiagnosticCategory.BOOTSTRAP, "onCommonSetup — common setup phase reached.");
    }

    /**
     * Called when the server is starting.
     */
    public void onServerStarting() {
        LivingWorldLogger.info(DiagnosticCategory.BOOTSTRAP, "onServerStarting — server starting.");
    }

    /**
     * Called when the server has finished starting.
     */
    public void onServerStarted() {
        LivingWorldLogger.info(DiagnosticCategory.BOOTSTRAP, "onServerStarted — server started.");
    }

    /**
     * Called when the server is stopping.
     */
    public void onServerStopping() {
        LivingWorldLogger.info(DiagnosticCategory.BOOTSTRAP, "onServerStopping — server stopping.");
    }
}
