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