All source projects

MrUltimateLibrary Source

Standalone source project / 68 files

MrUltimateLibrary is the backbone of all my plugins; it offers features that facilitate plugin creation, maintenance, and updates.

java

MrUltimateLibrary/src/main/java/eu/mrneznamy/mrultimatelibrary/holograms/MrLibHologramManager.java

JAVA · Read-only source

package eu.mrneznamy.mrultimatelibrary.holograms;

import org.bukkit.Location;

import java.util.List;

/**
 * Backward-compatibility hologram manager.
 *
 * This class restores the original API used by dependent plugins
 * (e.g., MrSellChests) and delegates to the new MrLibHologramFacade
 * introduced in MrUltimateLibrary 1.0.x.
 */
public class MrLibHologramManager {

    private static MrLibHologramManager instance;

    private MrLibHologramManager() {
        
    }

    /**
     * Get singleton instance of legacy manager.
     */
    public static MrLibHologramManager getInstance() {
        if (instance == null) {
            instance = new MrLibHologramManager();
        }
        return instance;
    }

    /**
     * Create a hologram via facade
     */
    public void createHologram(String name, Location location, List<String> lines) {
        MrLibHologramFacade.getInstance().createHologram(name, location, lines);
    }

    /**
     * Update hologram lines via facade
     */
    public void updateHologram(String name, List<String> lines) {
        MrLibHologramFacade.getInstance().updateHologram(name, lines);
    }

    /**
     * Delete hologram via facade
     */
    public void deleteHologram(String name) {
        MrLibHologramFacade.getInstance().deleteHologram(name);
    }

    /**
     * Check if hologram exists via facade
     */
    public boolean hologramExists(String name) {
        return MrLibHologramFacade.getInstance().hologramExists(name);
    }

    /**
     * Cleanup all holograms via facade
     */
    public void cleanupAllHolograms() {
        MrLibHologramFacade.getInstance().cleanupAllHolograms();
    }

    /**
     * Get active provider name via facade
     */
    public String getActiveProviderName() {
        return MrLibHologramFacade.getInstance().getActiveProviderName();
    }

    /**
     * Force update all entity holograms via facade (debug/maintenance)
     */
    public void forceUpdateAllEntityHolograms() {
        MrLibHologramFacade.getInstance().forceUpdateAllEntityHolograms();
    }

    /**
     * Check if hologram system is enabled via facade
     */
    public boolean isEnabled() {
        return MrLibHologramFacade.getInstance().isEnabled();
    }

    /**
     * Set hologram provider by name via facade
     * @param providerName Provider name (e.g., "DecentHolograms", "CMI", "MrUltimateLibrary-Entity")
     * @return true if provider was set, false otherwise
     */
    public boolean setProvider(String providerName) {
        return MrLibHologramFacade.getInstance().setProvider(providerName);
    }

    /**
     * Alias for hologramExists for backward compatibility
     * @param name Hologram name
     * @return true if hologram exists
     */
    public boolean has(String name) {
        return MrLibHologramFacade.getInstance().has(name);
    }
}
106 linesGNU GENERAL PUBLIC LICENSE · Version 3, 29 June 2007 · UTF-8 · Read only