How buyers get their key
Injected into the jar when the buyer downloads
Code changes needed
The standard license check
A customer buys your premium resource on BuiltByBit and downloads it.
BuiltByBit securely requests a license key from the MC License API for that buyer.
The key is inserted into the jar they download, using your plugin's default settings.
When the plugin enables for the first time, it validates the key as normal.
The license is a normal managed license on your dashboard, so you can edit, disable, or revoke it at any time.
Generate a BuiltByBit webhook secret on the Keys page of the MC License dashboard.
Go to the BuiltByBit placeholders page and create a placeholder with: placeholder %%__BBB_LICENSE__%%, type External license key, URL https://api.mclicense.org/builtbybit, and the secret you generated.
Create a plugin in the dashboard using your BuiltByBit resource URL.
Step-by-step screenshots are in the BuiltByBit setup guide.
See buyer usernames, not profile links
If you're on BuiltByBit's Ultimate tier, add your own BuiltByBit API token and licenses show the buyer's actual username. It applies to new licenses immediately and backfills your existing BuiltByBit licenses in the background.
Marketplace automation doesn't need any BuiltByBit-specific code. Add the library and validate on enable, exactly as you would for any plugin.
1. Add the library
<repository>
<id>flyte-repository-releases</id>
<url>https://repo.flyte.gg/releases</url>
</repository>
<dependency>
<groupId>org.mclicense</groupId>
<artifactId>library</artifactId>
<version>1.5.1</version>
<scope>compile</scope>
</dependency>2. Validate in onEnable
@Override
public void onEnable() {
if (!MCLicense.validateKey(this, "yourPluginId")) {
Bukkit.getPluginManager().disablePlugin(this);
return;
}
// Licensed: load the rest of your plugin as normal
}3. Your customer pastes their key into the mclicense.txt file the library creates. On BuiltByBit and Voxel Shop it's already in the jar they download.
Automation issues licenses for legitimate purchases, which is almost all of them. Refunds and chargebacks don't disable a license automatically, and moving a key to a different buyer is still a manual edit. Both take one click from your dashboard. Read how marketplace automation works for the full picture.
No. The key is inserted into the jar at download time through BuiltByBit's external license key placeholder, so the plugin validates on first start without the buyer doing anything.
Yes. Licenses created from BuiltByBit downloads are fully managed MC License licenses. You can change the expiry or server limit, disable them, or delete them from the dashboard.
Resolving usernames requires BuiltByBit's API. If you're on the Ultimate tier, add your API token following the username resolution guide and existing licenses are backfilled automatically.
No. The integration in your plugin is the standard MC License license check, exactly the same as for any other plugin.
Stop generating keys by hand
Create an account, link your BuiltByBit store, and let every sale license itself.
Sell somewhere else too?