Search in sources :

Example 1 with LevelsData

use of world.bentobox.level.objects.LevelsData in project Level by BentoBoxWorld.

the class Level method getLevelsData.

/**
 * Provide the levels data for the target player
 * @param targetPlayer - UUID of target player
 * @return LevelsData object or null if not found. Only island levels are set!
 * @deprecated Do not use this anymore. Use {@link #getIslandLevel(World, UUID)}
 */
@Deprecated
public LevelsData getLevelsData(UUID targetPlayer) {
    LevelsData ld = new LevelsData(targetPlayer);
    getPlugin().getAddonsManager().getGameModeAddons().stream().filter(gm -> !settings.getGameModes().contains(gm.getDescription().getName())).forEach(gm -> {
        if (getSettings().isZeroNewIslandLevels()) {
            Island island = getIslands().getIsland(gm.getOverWorld(), targetPlayer);
            if (island != null) {
                ld.setInitialLevel(gm.getOverWorld(), this.getInitialIslandLevel(island));
            }
        }
        ld.setLevel(gm.getOverWorld(), this.getIslandLevel(gm.getOverWorld(), targetPlayer));
    });
    return ld;
}
Also used : Plugin(org.bukkit.plugin.Plugin) Island(world.bentobox.bentobox.database.objects.Island) User(world.bentobox.bentobox.api.user.User) BlockConfig(world.bentobox.level.config.BlockConfig) JoinLeaveListener(world.bentobox.level.listeners.JoinLeaveListener) BentoBoxReadyEvent(world.bentobox.bentobox.api.events.BentoBoxReadyEvent) IslandValueCommand(world.bentobox.level.commands.IslandValueCommand) ArrayList(java.util.ArrayList) Addon(world.bentobox.bentobox.api.addons.Addon) EventHandler(org.bukkit.event.EventHandler) TopTenRequestHandler(world.bentobox.level.requests.TopTenRequestHandler) Nullable(org.eclipse.jdt.annotation.Nullable) World(org.bukkit.World) GameModeAddon(world.bentobox.bentobox.api.addons.GameModeAddon) AdminLevelCommand(world.bentobox.level.commands.AdminLevelCommand) LevelsData(world.bentobox.level.objects.LevelsData) Map(java.util.Map) IslandTopCommand(world.bentobox.level.commands.IslandTopCommand) Bukkit(org.bukkit.Bukkit) Listener(org.bukkit.event.Listener) IslandLevelCommand(world.bentobox.level.commands.IslandLevelCommand) AdminSetInitialLevelCommand(world.bentobox.level.commands.AdminSetInitialLevelCommand) ConfigSettings(world.bentobox.level.config.ConfigSettings) Pipeliner(world.bentobox.level.calculators.Pipeliner) TopTenData(world.bentobox.level.objects.TopTenData) IOException(java.io.IOException) UUID(java.util.UUID) Collectors(java.util.stream.Collectors) IslandActivitiesListeners(world.bentobox.level.listeners.IslandActivitiesListeners) File(java.io.File) List(java.util.List) AdminLevelStatusCommand(world.bentobox.level.commands.AdminLevelStatusCommand) YamlConfiguration(org.bukkit.configuration.file.YamlConfiguration) Config(world.bentobox.bentobox.api.configuration.Config) Util(world.bentobox.bentobox.util.Util) AdminTopCommand(world.bentobox.level.commands.AdminTopCommand) Collections(java.util.Collections) NonNull(org.eclipse.jdt.annotation.NonNull) InvalidConfigurationException(org.bukkit.configuration.InvalidConfigurationException) LevelRequestHandler(world.bentobox.level.requests.LevelRequestHandler) LevelsData(world.bentobox.level.objects.LevelsData) Island(world.bentobox.bentobox.database.objects.Island)

Example 2 with LevelsData

use of world.bentobox.level.objects.LevelsData in project Level by BentoBoxWorld.

the class LevelsManager method migrate.

public void migrate() {
    Database<LevelsData> oldDb = new Database<>(addon, LevelsData.class);
    oldDb.loadObjects().forEach(ld -> {
        try {
            UUID owner = UUID.fromString(ld.getUniqueId());
            // Step through each world
            ld.getLevels().keySet().stream().map(Bukkit::getWorld).filter(Objects::nonNull).map(w -> addon.getIslands().getIsland(w, owner)).filter(Objects::nonNull).forEach(i -> {
                // Make new database entry
                World w = i.getWorld();
                IslandLevels il = new IslandLevels(i.getUniqueId());
                il.setInitialLevel(ld.getInitialLevel(w));
                il.setLevel(ld.getLevel(w));
                il.setMdCount(ld.getMdCount(w));
                il.setPointsToNextLevel(ld.getPointsToNextLevel(w));
                il.setUwCount(ld.getUwCount(w));
                // Save it
                handler.saveObjectAsync(il);
            });
            // Now delete the old database entry
            oldDb.deleteID(ld.getUniqueId());
        } catch (Exception e) {
            addon.logError("Could not migrate level data database! " + e.getMessage());
            e.printStackTrace();
            return;
        }
    });
}
Also used : IslandLevels(world.bentobox.level.objects.IslandLevels) LevelsData(world.bentobox.level.objects.LevelsData) Database(world.bentobox.bentobox.database.Database) UUID(java.util.UUID) Bukkit(org.bukkit.Bukkit) World(org.bukkit.World)

Aggregations

UUID (java.util.UUID)2 Bukkit (org.bukkit.Bukkit)2 World (org.bukkit.World)2 LevelsData (world.bentobox.level.objects.LevelsData)2 File (java.io.File)1 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 Collections (java.util.Collections)1 List (java.util.List)1 Map (java.util.Map)1 Collectors (java.util.stream.Collectors)1 InvalidConfigurationException (org.bukkit.configuration.InvalidConfigurationException)1 YamlConfiguration (org.bukkit.configuration.file.YamlConfiguration)1 EventHandler (org.bukkit.event.EventHandler)1 Listener (org.bukkit.event.Listener)1 Plugin (org.bukkit.plugin.Plugin)1 NonNull (org.eclipse.jdt.annotation.NonNull)1 Nullable (org.eclipse.jdt.annotation.Nullable)1 Addon (world.bentobox.bentobox.api.addons.Addon)1 GameModeAddon (world.bentobox.bentobox.api.addons.GameModeAddon)1