AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
>[danger] random-list **[4.4.2+]** 适用于 装备/宝石/mob 的随机词条 ![](https://img.kancloud.cn/ff/ed/ffedda5968b52faf897140f367ed1d6e_259x181.png) ![](https://img.kancloud.cn/3d/f9/3df99856e512f48843c8383155e2a6d5_107x185.png) ``` #让系统随机的模式,返回数字几就是从下列词条组随机选取几个 random-amount: DataUtil.equipRandomAttributeAmount(data); #[4.4.2+] #返回list模式,list里面有几个就生成对应的几个(优先级比random-amount高) #用了这个模式,weight 和 maximum 字段失效 #data = 对应数据ID,有玩家的话也会添加 #all = 下列所有对应的词条ID,有继承也会获取继承后的 #List randomList(UMap data,List all); random-list: |- List list = new ArrayList(); //先新建一个待返回的内容 //向控制台打印data的所有内容 //Set set = data.keys(); //for(String key : set){ // System.out.println(key + " 的内容类型为: " + data.get(key).getClass()); //} int amount = 0; //先定义一个变量为0 ItemObject item = data.get("inter");//拿到这个物品的数据对象 import com.pxpmc.pxrpg.api.modules.quality.Quality; //导入品质类 Quality 物品品质 = item.getData("quality");//拿到装备品质,做相关的条数处理 if("神话".equals(物品品质.getId())){ //比较装备品质的ID == "神话" amount = 4;//随机条数就是4条 }else if("史诗".equals(物品品质.getId())){ //比较装备品质的ID == "史诗" amount = 3;//随机条数就是3条 }else if("稀有".equals(物品品质.getId())){ //比较装备品质的ID == "稀有" amount = Math.random(1,3);//随机条数就是1~3条 } //这一段必须在装备的随机词条组才可使用,否则会报错 import com.pxpmc.pxrpg.api.modules.equipcontainer.EquipType; //导入装备类型类 EquipType 装备类型对象 = item.getData("equip-type");//拿到装备类型,可以做相关的条数处理 if("剑".equals(装备类型对象.getId())){ //比较装备类型ID == "剑" 时 amount += 1; //属性条数再原有的基础上加一条 } //其他操作同理,逻辑判断,匹配就修正数量 //简单的随机例子 for(int i = 0;i < amount;i++){ String next = all.get(Math.random(0,all.size()-1)); //这样可以随机拿词条ID System.out.println("当前随机到的是: " + next); //向控制台打印内容, 调试完可以删除 list.add(next); } //或者固定添加也行 //list.add("攻击_100"); //添加 攻击_100 进去 //list.add("攻击_100"); //可以添加多个相同的,也就意味着生成2次 //list.add("致命一击_100"); return list; //返回结果 entries: 攻击_100: type: attribute data: id: 攻击 min: |- ItemObject inter = data.get("inter"); //拿到装备数据 int level = inter.getData("level"); //拿到装备等级 return (double) level*5+10; max: |- double min = data.get("min"); //在data内还具有一个min的结果数据 return min * 1.2; //max就返回min*1.2 float: 0 sign: false display: TemplateUtil.entryAtt(data) streng: 0 order: 1 weight: 1 maximum: 3 exclude: [] show: true 法术攻击_100: type: attribute data: id: 法术攻击 min: 100 float: 0 sign: false display: TemplateUtil.entryAtt(data) streng: 0 order: 1 weight: 1 maximum: 3 exclude: [] show: true 命中_100: type: attribute data: id: 命中 min: 200 float: 0 sign: false display: TemplateUtil.entryAtt(data) streng: 0 order: 1 weight: 1 maximum: 3 exclude: [] show: true 致命一击_100: type: attribute data: id: 致命一击 min: 300 float: 0 sign: false display: TemplateUtil.entryAtt(data) streng: 0 order: 1 weight: 1 maximum: 3 exclude: [] show: true ```