🟪
SunLicense Docs
  • Welcome
  • Getting Started
    • Quickstart
    • VPS Setup
  • API Documentation
    • License API
    • Java API
  • Automations
    • BuiltByBit Automation
    • Discord Automation
  • PRODUCT INTEGRATIONS
    • Minecraft Plugins
    • Server Software
    • Minecraft Mods
    • Discord Bots
    • FiveM Projects
    • PHP Projects
    • Python Projects
    • JavaScript Projects
    • Lua Projects
  • SERVICES
    • Managed Hosting
  • LINKS
    • Discord
    • Store
    • Java API Wrapper
    • Sample Project
    • Pterodactyl Egg
    • Other Products
Powered by GitBook
On this page
  • Prerequisites
  • Integration Steps
  • Common Issues and Solutions
  1. PRODUCT INTEGRATIONS

Minecraft Plugins

SunLicense Integration Guide for Minecraft Plugins

Prerequisites

  • Spigot/Paper development environment

  • Maven or Gradle build system

  • SunLicense API credentials

  • Your product ID and license key

Integration Steps

1. Add Repository and Dependency

For Maven (plugin.xml):

<repositories>
    <repository>
        <id>sundevs</id>
        <name>Sundevs Repository</name>
        <url>https://repo.hapangama.com/releases</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.hapangama</groupId>
        <artifactId>SunLicenseAPI</artifactId>
        <version>1.0.3</version>
    </dependency>
</dependencies>

2. Create License Manager Class

public class LicenseManager {
    private final JavaPlugin plugin;
    private SunLicenseAPI licenseApi;

    public LicenseManager(JavaPlugin plugin) {
        this.plugin = plugin;
        setupLicense();
    }

    private void setupLicense() {
        // Save default config if it doesn't exist
        plugin.saveDefaultConfig();
        
        // Initialize license API
        licenseApi = SunLicenseAPI.getLicense(
            plugin.getConfig().getString("license.key"),
            602, // Your Product Id
            "1.1.0", // Your Product Version (Plugin Version)
            "YOUR_API_URL"
        );

    }

    public void validateLicense() {
        try {
            licenseApi.validate();
            plugin.getLogger().info("License validated successfully!");
        } catch (IOException e) {
            plugin.getLogger().severe("License validation failed: " + e.getMessage());
            Bukkit.getPluginManager().disablePlugin(plugin);
        }
    }
}

3. Implement in Main Plugin Class

public class YourPlugin extends JavaPlugin {
    private LicenseManager licenseManager;

    @Override
    public void onEnable() {
        // Initialize license manager
        licenseManager = new LicenseManager(this);
        
        // Validate license
        licenseManager.validateLicense();
        
        // Continue with plugin initialization if license is valid
        if (isEnabled()) {
            // Your plugin initialization code
        }
    }
}

4. Create Default Config

Create config.yml in your plugin's resources folder:

license:
  key: "YOUR-LICENSE-KEY"

5. License Command Implementation (Optional)

public class LicenseCommand implements CommandExecutor {
    private final LicenseManager licenseManager;

    public LicenseCommand(LicenseManager licenseManager) {
        this.licenseManager = licenseManager;
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!sender.hasPermission("yourplugin.license")) {
            sender.sendMessage("§cNo permission!");
            return true;
        }

        if (args.length != 1) {
            sender.sendMessage("§cUsage: /license <key>");
            return true;
        }

        // Update license logic here
        return true;
    }
}

Common Issues and Solutions

  1. Plugin Won't Enable

    • Check if license key is properly configured

    • Verify product ID matches

    • Check server connectivity to license API

  2. License Validation Fails

    • Confirm license key hasn't expired

    • Check if HWID matches

    • Verify IP restrictions

  3. Configuration Issues

    • Ensure config.yml is properly formatted

    • Check if all required fields are present

    • Verify encoding is UTF-8

PreviousDiscord AutomationNextServer Software

Last updated 4 months ago

Need additional help? Contact support or check the for more details.

Java API Documentation