# DrawBox **Repository Path**: soulgoodmans/DrawBox ## Basic Information - **Project Name**: DrawBox - **Description**: paper抽奖盒子插件,可自定义抽奖券和奖品 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-19 - **Last Updated**: 2024-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### paper抽奖盒子插件 #### 使用方法: #### 一、插件直接使用 ​ 1.在release中下载DrawBox.jar文件并放入到plugins文件夹下 ​ 2.在plugins文件夹下创建DrawBox文件夹 ​ 3.进入DrawBox文件夹后创建rewards.json、tickets.json ​ ​ tickets.json案例 List ~~~json [ { "id" : "1", "name" : "PAPER", "displayName" : "§7§l铁锭抽奖券", "lore" : ["§8§l点击右键抽奖"] }, { "id" : "2", "name" : "PAPER", "displayName" : "§6§l金锭抽奖券", "lore" : ["§8§l点击右键抽奖"] }, { "id" : "3", "name" : "PAPER", "displayName" : "§b§l钻石抽奖券", "lore" : ["§8§l点击右键抽奖"] } ] ~~~ ​ 字段讲解: ​ id: (String)序号,不能为空 ​ name: (String)物品英文名,Material枚举中valueof()方法获取物品,字符串必须大写并且空格为下划线 ​ displayName:(String)物品名称 ​ lore:(List)物品描述 ​ rewards.json案例 HashMap> ~~~json { "1" : [ { "name" : "DIAMOND", "displayName" : "奖励钻石", "account" : 1, "probability": 1000, "lore" : ["§7§l铁锭抽奖券"] }, { "name" : "COAL", "displayName" : "奖励煤炭", "account" : 1, "probability": 9000, "lore" : ["§7§l铁锭抽奖券"] } ], "2" : [ { "name" : "DIAMOND", "displayName" : "奖励钻石", "account" : 2, "probability": 1000, "lore" : ["§6§l金锭抽奖券"] }, { "name" : "COAL", "displayName" : "奖励煤炭", "account" : 2, "probability": 9000, "lore" : ["§6§l金锭抽奖券"] } ], "3" : [ { "name" : "DIAMOND", "displayName" : "奖励钻石", "account" : 3, "probability": 1000, "lore" : ["§b§l钻石抽奖券"] }, { "name" : "COAL", "displayName" : "奖励煤炭", "account" : 3, "probability": 9000, "lore" : ["§b§l钻石抽奖券"] } ] } ~~~ ​ 字段讲解: ​ name:(String)物品英文名,Material枚举中valueof()方法获取物品,字符串必须大写并且空格为下划线 ​ displayName:(String)物品名称 ​ account:(int)物品数量 ​ probability:(int)概率,可填内容1~10000,既概率为0.01%~100.00% ​ lore:(List)物品描述 ​ 4.启动服务器,进入游戏后输入/getTicket获取抽奖券 #### 二、插件开发添加依赖 ​ 注:插件使用的依赖paperAPI(版本1.20.4)、lombok ​ pom.xml ~~~xml io.gitee.soulgoodmans DrawBox 1.0.2 ~~~ ​ build.gradle ~~~groovy dependencies { implementation 'io.gitee.soulgoodmans:DrawBox:1.0.2' } ~~~ ​ java代码添加 ~~~java public void onEnable() { //奖品设置 Map> rewards = new HashMap<>(); rewards.put("1",Arrays.asList( //奖品添加 Reward.create().name("COAL").displayName("煤炭").lore(Arrays.asList("煤炭")).account(1).probability(9000), Reward.create().name("DIAMOND").displayName("钻石").lore(Arrays.asList("钻石")).account(1).probability(1000) )); //构建奖品信息 RewardUtils.ticketsToRewards = rewards; RewardUtils.loadItemStack(); //抽奖卷设置 TicketUtils.tickets = Arrays.asList( Ticket.create().id("1").name("PAPER").displayName("抽奖卷").lore(Arrays.asList("抽奖券")) ); //构建抽奖券信息 TicketUtils.LoadItemStack(); //添加指令 Bukkit.getPluginCommand("getTicket").setExecutor(new GetTicketCommand()); //添加抽奖监听器 Bukkit.getPluginManager().registerEvents(new UseTicketListener(),this); } ~~~ ​ ​ 添加plugin.yml命令信息 ~~~yaml commands: #获取抽奖券 getTicket: usage: /getTicket aliases: - getT - gt default: op ~~~ ​ 添加config.yml信息 ~~~yml ticket: #是否开启抽奖卷描述奖品概率信息 enableProbabilityLore: true #描述奖品概率信息的字体颜色 probabilityLoreType: "§7§o" ~~~