Search in sources :

Example 1 with LocalStorageManager

use of mc.dragons.core.storage.local.LocalStorageManager in project DragonsOnline by UniverseCraft.

the class Dragons method onLoad.

@Override
public synchronized void onLoad() {
    FIXED_ENTITY_KEY = new NamespacedKey(this, "fixed");
    started = System.currentTimeMillis();
    getLogger().info("Searching for compatible version...");
    switch(BUKKIT_API_VERSION) {
        case "1_16_R3":
            bridge = new BridgeSpigot116R3();
            break;
        default:
            getLogger().severe("Incompatible server version (" + BUKKIT_API_VERSION + ")");
            getLogger().severe("Cannot run DragonsOnline.");
            getServer().getPluginManager().disablePlugin(this);
            return;
    }
    joinable = false;
    getLogger().info("Disabled player joins until Dragons startup completes");
    serverName = getConfig().getString("serverName");
    getLogger().info("Server instance name is " + serverName);
    getLogger().info("Initializing storage and registries...");
    saveDefaultConfig();
    mongoConfig = new MongoConfig(this);
    persistentStorageManager = new MongoStorageManager(this);
    localStorageManager = new LocalStorageManager();
    gameObjectRegistry = new GameObjectRegistry(this, persistentStorageManager);
    addonRegistry = new AddonRegistry(this);
    userHookRegistry = new UserHookRegistry();
    lightweightLoaderRegistry = new LightweightLoaderRegistry();
    sidebarManager = new SidebarManager(this);
    chatMessageRegistry = new ChatMessageRegistry();
    messageDispatcher = new MessageDispatcher(this);
    setCustomLoggingProvider(new CustomLoggingProvider(this));
    autoSaveRunnable = new AutoSaveTask(this);
    spawnEntityRunnable = new SpawnEntityTask(this);
    verifyGameIntegrityRunnable = new VerifyGameIntegrityTask(this);
    lagMeter = new LagMeter();
    lagMonitorTask = new LagMonitorTask();
    updateScoreboardTask = new UpdateScoreboardTask(this);
    serverOptions = new ServerOptions(this);
    serverOptions.setLogLevel(Level.parse(getConfig().getString("loglevel")));
    debug = getConfig().getBoolean("debug");
    if (debug) {
        if (serverOptions.getLogLevel().intValue() > Level.CONFIG.intValue()) {
            serverOptions.setLogLevel(Level.CONFIG);
        }
        serverOptions.setVerifyIntegrityEnabled(false);
        getLogger().warning("==========================================================");
        getLogger().warning("THIS SERVER IS IN DEVELOPMENT MODE.");
        getLogger().warning("GAME INTEGRITY WILL NOT BE VERIFIED AFTER INITIAL LOAD.");
        getLogger().warning("==========================================================");
    }
    customLoggingProvider.enableCustomLogging();
    enableDebugLogging();
    getLogger().info("Log token is " + customLoggingProvider.getCustomLogFilter().getLogEntryUUID());
}
Also used : LightweightLoaderRegistry(mc.dragons.core.storage.loader.LightweightLoaderRegistry) AddonRegistry(mc.dragons.core.addon.AddonRegistry) ChatMessageRegistry(mc.dragons.core.gameobject.user.chat.ChatMessageRegistry) SidebarManager(mc.dragons.core.gameobject.user.SidebarManager) LocalStorageManager(mc.dragons.core.storage.local.LocalStorageManager) UserHookRegistry(mc.dragons.core.gameobject.user.UserHookRegistry) LagMonitorTask(mc.dragons.core.tasks.LagMonitorTask) MongoConfig(mc.dragons.core.storage.mongo.MongoConfig) MongoStorageManager(mc.dragons.core.storage.mongo.MongoStorageManager) GameObjectRegistry(mc.dragons.core.gameobject.GameObjectRegistry) MessageDispatcher(mc.dragons.core.networking.MessageDispatcher) LagMeter(mc.dragons.core.tasks.LagMeter) AutoSaveTask(mc.dragons.core.tasks.AutoSaveTask) SpawnEntityTask(mc.dragons.core.tasks.SpawnEntityTask) NamespacedKey(org.bukkit.NamespacedKey) CustomLoggingProvider(mc.dragons.core.logging.CustomLoggingProvider) UpdateScoreboardTask(mc.dragons.core.tasks.UpdateScoreboardTask) VerifyGameIntegrityTask(mc.dragons.core.tasks.VerifyGameIntegrityTask) BridgeSpigot116R3(mc.dragons.core.bridge.impl.BridgeSpigot116R3)

Example 2 with LocalStorageManager

use of mc.dragons.core.storage.local.LocalStorageManager in project DragonsOnline by UniverseCraft.

the class NPCLoader method loadObject.

public NPC loadObject(StorageAccess storageAccess, List<BukkitRunnable> spawnRunnables) {
    lazyLoadAllPermanent();
    UUID uuid = storageAccess.getIdentifier().getUUID();
    if (uuidToNpc.containsKey(uuid)) {
        LOGGER.debug("Prevented spawn of duplicate NPC " + uuid);
        return uuidToNpc.get(uuid);
    }
    LOGGER.trace("Loading NPC " + storageAccess.getIdentifier());
    NPC.NPCType npcType = NPC.NPCType.valueOf((String) storageAccess.get("npcType"));
    Location loc = StorageUtil.docToLoc((Document) storageAccess.get("lastLocation"));
    NPC npc = new NPC(loc, spawnRunnables, npcType.isPersistent() ? storageManager : (StorageManager) localStorageManager, npcType.isPersistent() ? storageAccess : (StorageAccess) localStorageManager.downgrade(storageAccess));
    masterRegistry.getRegisteredObjects().add(npc);
    return npc;
}
Also used : LocalStorageManager(mc.dragons.core.storage.local.LocalStorageManager) StorageManager(mc.dragons.core.storage.StorageManager) UUID(java.util.UUID) NPCType(mc.dragons.core.gameobject.npc.NPC.NPCType) LocalStorageAccess(mc.dragons.core.storage.local.LocalStorageAccess) StorageAccess(mc.dragons.core.storage.StorageAccess) Location(org.bukkit.Location)

Aggregations

LocalStorageManager (mc.dragons.core.storage.local.LocalStorageManager)2 UUID (java.util.UUID)1 AddonRegistry (mc.dragons.core.addon.AddonRegistry)1 BridgeSpigot116R3 (mc.dragons.core.bridge.impl.BridgeSpigot116R3)1 GameObjectRegistry (mc.dragons.core.gameobject.GameObjectRegistry)1 NPCType (mc.dragons.core.gameobject.npc.NPC.NPCType)1 SidebarManager (mc.dragons.core.gameobject.user.SidebarManager)1 UserHookRegistry (mc.dragons.core.gameobject.user.UserHookRegistry)1 ChatMessageRegistry (mc.dragons.core.gameobject.user.chat.ChatMessageRegistry)1 CustomLoggingProvider (mc.dragons.core.logging.CustomLoggingProvider)1 MessageDispatcher (mc.dragons.core.networking.MessageDispatcher)1 StorageAccess (mc.dragons.core.storage.StorageAccess)1 StorageManager (mc.dragons.core.storage.StorageManager)1 LightweightLoaderRegistry (mc.dragons.core.storage.loader.LightweightLoaderRegistry)1 LocalStorageAccess (mc.dragons.core.storage.local.LocalStorageAccess)1 MongoConfig (mc.dragons.core.storage.mongo.MongoConfig)1 MongoStorageManager (mc.dragons.core.storage.mongo.MongoStorageManager)1 AutoSaveTask (mc.dragons.core.tasks.AutoSaveTask)1 LagMeter (mc.dragons.core.tasks.LagMeter)1 LagMonitorTask (mc.dragons.core.tasks.LagMonitorTask)1