Developer API

Installation & Usage example

 

package net.example;

import net.flawe.offlinemanager.api.OfflineManagerAPI;
import net.flawe.offlinemanager.api.data.entity.IPlayerData;
import net.flawe.offlinemanager.api.enums.SavePlayerType;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.NotNull;

public class Example extends JavaPlugin {

    private OfflineManagerAPI offlineManagerAPI;

    @Override
    public void onEnable() {
        Plugin plugin = Bukkit.getPluginManager().getPlugin("OfflineManager");
        if (plugin == null) {
            getLogger().severe("Could not find OfflineManager! This plugin is required!");
            Bukkit.getPluginManager().disablePlugin(this);
            return;
        }
        offlineManagerAPI = (OfflineManagerAPI) plugin; 
        Bukkit.getPluginCommand("example").setExecutor(this);
    }

    @Override
    public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
        if (!(sender instanceof Player))
            return false;
        Player player = (Player) sender;
        String playerName = args[0];
        if (!offlineManagerAPI.getStorage().hasPlayer(playerName))
            return false;
        String sub = args[1];
        IPlayerData playerData;
        switch (sub.toLowerCase()) {
            case "teleport":
                playerData = offlineManagerAPI.getPlayerData(playerName);
                player.teleport(playerData.getLocation());
                break;
            case "feed":
                playerData = offlineManagerAPI.getPlayerData(playerName);
                playerData.setFoodLevel(20);
                playerData.save(SavePlayerType.FOOD_LEVEL);
                break;
            default:
                sender.sendMessage("Sub command not found");
                break;
        }
        return true;
    }
}

 

 

 


Comments

Posts Quoted:
Reply
Clear All Quotes