• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
beacon授权前置

开源 前置/API 工具 beacon授权前置 0.1

完成注册/登录后下载
版权类型
原创
插件中文名称
beacon授权前置
插件英文名称
beaconauth
原帖地址
https://www.mcmy.love/
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Folia
  4. Purpur
  5. PufferFish
  6. Leaves
语言支持
中文(简体)
前置组件
适配版本(Java)
  1. 最新版本
  2. 26.x
  3. 1.21
  4. 1.20

BeaconAuth 集成指南​

BeaconAuth 是一个用于在线验证 插件授权的 Minecraft 插件。 其他开发者可以通过以下步骤将授权系统集成到自己的插件中。

1. 依赖设置​

在您的插件 plugin.yml 中添加 BeaconAuth 作为依赖:

[MD] name: MyPaidPlugin version: 1.0.0 main: com.example.myplugin.MyPlugin depend: [BeaconAuth] # 强制依赖 # 或者 # softdepend: [BeaconAuth] # 软依赖(如果不强制用户安装验证插件) [/MD]

2. 代码集成​

方法一:使用 AuthAPI (推荐)​

在您的插件 onEnable 方法中调用验证接口:

[MD] import com.beaconmc.auth.AuthAPI;<br>import org.bukkit.plugin.java.JavaPlugin;<br><br>public class MyPlugin extends JavaPlugin {<br><br> @Override<br> public void onEnable() {<br> // 验证授权 (异步)<br> AuthAPI.verify("MyPaidPlugin").thenAccept(isValid -&gt; {<br> if (isValid) {<br> getLogger().info("授权验证成功!感谢您的购买。");<br> // 通过 runTask 回到主线程初始化插件<br> getServer().getScheduler().runTask(this, () -&gt; {<br> initPlugin();<br> });<br> } else {<br> getLogger().warning("授权验证失败!请购买正版插件。");<br> // 通过 runTask 回到主线程禁用插件<br> getServer().getScheduler().runTask(this, () -&gt; {<br> getServer().getPluginManager().disablePlugin(this);<br> });<br> }<br> }).exceptionally(ex -&gt; {<br> getLogger().severe("验证服务器连接失败: " + ex.getMessage());<br> getServer().getScheduler().runTask(this, () -&gt; {<br> getServer().getPluginManager().disablePlugin(this);<br> });<br> return null;<br> });<br> }<br><br> private void initPlugin() {<br> // 插件逻辑<br> }<br>} [/MD]

方法二:反射调用 (不依赖 jar)​

如果您不想在编译时依赖 BeaconAuth,可以使用反射,但较为复杂。建议直接通过 Maven/Gradle 引入 BeaconAuth.jar 作为 provided 依赖。

3. 用户配置​

用户在使用您的插件前,需要在 plugins/BeaconAuth/config.yml 中配置他们的 Beacon 账号以及每个插件的授权码(授权码可在 Beacon 平台「授权中心 → 我的授权」页面查看):

[MD] auth:<br> account: "user123"<br><br>plugins:<br> - name: "MyPaidPlugin"<br> auth_code: "BC-A1B2C3D4E5F6G7H8"[/MD]

4. Paper/Folia 支持​

BeaconAuth 已经支持 Paper 和 Folia 服务端。 AuthAPI.verify 方法是异步的,不会阻塞主线程,因此在 Folia 中也是安全的。 注意:不要在 thenAccept 回调中直接操作 Bukkit API (如生成方块),除非您确定当前上下文是安全的。建议使用 getScheduler().runTask(this, ...) (Spigot) 或 getRegionScheduler().execute(...) (Folia) 回到主线程/区域线程。

5. API 参考​

  • AuthAPI.verify(String pluginName): 异步验证,返回 CompletableFuture&lt;Boolean&gt;。
  • AuthAPI.verifySync(String pluginName): 同步验证 (不推荐在主线程使用)。
作者
silented
下载
3
查看
46
首次发布
最后更新

评分

0.00 星 0 次评分

silented 的其他资源

后退
顶部 底部