功能介绍:
目前所知的任何经济和记录点数的插件,其展示点数的方式均大同小异 (数值,整数或小数),在经过一些另类想法和一些mmorpg手游的熏陶下, 我萌生了开发这种达到数值后进数的点数插件(就是一种点数类型可以分为 多个不同价值的点数,然后之间相互进退转换),其趣味性和展现形式均得 到了加强! 功能的介绍使用一段语言很难表达清楚,请移步图说~ 图说:
 首先此插件拥有完善的命令系统,一应俱全。
 然后此插件拥有一个十分有趣的点数展现形式(支持papi的方式调用) 到点进数!  不知道大家有没有玩过一些2D的横版手游(例如 艾诺迪亚), 这款游戏的经济系统就是铜币银币金币转换 比如100个铜币 = 1 个银币 100个银币 = 1 个金币 因此一个金币价值10000个铜币, 灵感来源于此,便着手写了出来。  图中的意思是 100个怪异尘埃 = 1 个怪异泥土 现在我用命令给自己增加100个怪异尘埃点数  然后我便得到了一个怪异泥土 现在我用命令给自己减少1个怪异尘埃点数  然后怪异泥土便拆解为99个怪异尘埃 这个点数支持互相进退转换,并且支持负数(小数不支持)
还有另外一种展现形式: 并排这种展现,比如一些珍贵的点数,极其稀有,可以使用 有别于上一种形式的展现,根据它的sign(货币或者点数标记) 并排出现在那里(类似QQ等级) 现在我给它增加到4个  它就合并为一个价值更高的点数 现在拆一个 |  这个点数插件的功能就是这种有趣展现形式 |
当然,如果不喜欢这种展现形式,也可以让它呈现一串纯数字(根据基数值计算得到的总值)
| 以配置文件为主,支持无限拓展的点数类型,通过api可以无障碍get到所有点数实例 并且完全支持数据库 |
配置解析:
 config.yml - # 隐藏超过 1296000000 毫秒未上线的玩家数据
- # 15 天 = 1296000000 毫秒
- # 在插件启动/重载时执行
- hideData: '1296000000'
- # 清理超过 2592000000 毫秒未上线的玩家数据
- # 30 天 = 2592000000 毫秒
- # 1000 = 1s
- # 将在插件启动/重载时执行
- clearData: '2592000000'
- # 玩家数据重新排序间隔
- # 20 = 1s
- sortDelay: 36000
- # 玩家查看设置
- dataShow:
- # 抬头标题
- title: '&c----------&9玩家 &a{0} &9的点数数据&c----------'
- data: '&a{0}&7: &b{1}'
- # 以show的形式展现玩家点数 false则以value的形式
- show: false
- # 排行榜设置
- rankShow:
- # 抬头标题
- title: '&c----------&9&a {0} &9点数排行榜&c----------'
- data: '&c{0} &7 --&a{1} &7-- &b{2}'
- # 以show的形式展现排行榜点数 false则以value的形式
- show: true
- # 数据库连接
- sql:
- # 不启用数据库的情况下,使用yml存储玩家数据,也就是单端服务器使用
- enable: false
- ip: '127.0.0.1'
- port: '3306'
- user: 'root'
- database: 'mysql'
- password: '123456'
复制代码 |
上方展示用的点数配置文件.yml - id: 0
- name: '怪异挖掘成就点数'
- # 是否可以应用于玩家
- toPlayer: true
- # 是否可以并排不合并显示(基数needs若含有超过 5 的以及point等级超过 6 的慎用,显示会比较辣眼睛)
- toRow: false
- # 怪异点设定
- point:
- # 0 是基础点
- '0':
- name: '&8怪异尘埃'
- sign: '&8?'
- # 当 '0' 的点数达到 100 ,可以得到 1 点 '1' 的点数,200则是2点,类推~
- '1':
- name: '&7怪异泥土'
- sign: '&7?'
- needs: 100
- # 当 '1' 的点数达到 100 ,可以得到 1 点 '2' 的点数,200则是2点,类推~
- '2':
- name: '&1怪异沙砾'
- sign: '&6?'
- needs: 100
- '3':
- name: '&2怪异砂石'
- sign: '&e?'
- needs: 100
- # 当 '3' 的点数达到 300 ,可以得到 1 点 '4' 的点数,600则是2点,类推~
- '4':
- name: '&3怪异石头'
- sign: '&a?'
- needs: 300
- '5':
- name: '&5怪异巨石'
- sign: '&b?'
- needs: 500
- '6':
- name: '&9怪异陨石'
- sign: '&a★'
- needs: 700
- '7':
- name: '&6怪异山丘'
- sign: '&b★'
- needs: 900
- '8':
- name: '&e怪异高峰'
- sign: '&c★'
- needs: 1000
- '9':
- name: '&c怪异大陆'
- sign: '&a?'
- needs: 1000
- '10':
- name: '&4怪异行星'
- sign: '&b?'
- needs: 1000
- '11':
- name: '&4&l怪异恒星'
- sign: '&c?'
- needs: 1000
- '12':
- name: '&6怪7c异&e星&f系'
- sign: '&a?'
- needs: 1000
- '13':
- name: '&6怪7c异&e位&f面'
- sign: '&b?'
- needs: 1000
- '14':
- name: '&6怪7c异&e次&f元'
- sign: '&c?'
- needs: 1000
- '15':
- name: '&6怪7c异&e宇&f宙'
- sign: '&c?'
- needs: 1000
复制代码 |
配置文件的书写十分简便~ 下面那个配置文件因使用了别人的字体材质包(未获授权)就不便发出来了, 大家可以尝试自己制作字体材质包 如果有需要,可以在下方留言(我做一个简易的字体材质包) 使用方法:
命令介绍:
PAPI支持:
文字展现形式查看点数 | %wp_show#点数类型ID% 数字展现形式查看点数 | %wp_value#点数类型ID% 数字展现形式查看点数的某个节点值 | %wp_value#点数类型ID#点数节点ID%  排行榜 榜上玩家名 %wp_rankplayer#排名数% 榜上点数值 %wp_rankvalue#排名数% 榜上点数展现 %wp_rankshow#排名数% |
开发者API:
可以导入插件后直接new API()
- /**
- * 获得玩家的数据
- * @param player 玩家
- * @return PlayerData
- */
- public PlayerData getPlayerData(String player)
- /**
- * 获得一个点数模具map
- * @param pointMapID id
- * @return PointLevelMap
- */
- public PointLevelMap getLevelMap(int pointMapID)
- /**
- * 获得一个点数模具
- * @param pointMapID id
- * @param level id
- * @return Point
- */
- public Point getLevelPoint(int pointMapID,int level)
- /**
- * 为玩家的点数添加数值
- * @param player 玩家
- * @param pointMapID 点数id
- * @param level 点数节点id
- * @param amount 数量
- * @param changeType 触发的事件类型(可以为空,则不触发事件)
- * NATURAL 的类型不会被cancel取消(NATURAL代表自然发生,非主动干预)
- * @return 是否成功
- */
- public boolean add(String player, int pointMapID, int level, int amount,
- WeirdPointChangeEvent.WeirdPointChangeType changeType)
- /**
- * 根据点数为玩家提供点数
- * @param player 玩家
- * @param pointMap 点数实例
- * @param changeType 触发的事件类型
- * NATURAL 的类型不会被cancel取消(NATURAL代表自然发生,非主动干预)
- * @return 是否成功
- */
- public boolean add(String player,PointMap pointMap,
- WeirdPointChangeEvent.WeirdPointChangeType changeType)
- /**
- * 根据点数基数为玩家提供点数
- * @param player 玩家
- * @param pointMapID 点数id
- * @param value 值
- * @param changeType 触发的事件类型
- * @return 是否成功
- */
- public boolean add(String player,int pointMapID,long value,
- WeirdPointChangeEvent.WeirdPointChangeType changeType)
- //
- public boolean take(String player,int pointMapID,int level,int amount ,
- WeirdPointChangeEvent.WeirdPointChangeType changeType)
- //
- public boolean take(String player,PointMap pointMap,
- WeirdPointChangeEvent.WeirdPointChangeType changeType)
- //
- public boolean take(String player,int pointMapID, long value,
- WeirdPointChangeEvent.WeirdPointChangeType changeType)
- /**
- * 设置点数
- * @param player
- * @param pointMapID
- * @param level
- * @param amount
- * @return
- */
- public boolean set(String player,int pointMapID,int level,int amount)
- //
- public boolean set(String player,PointMap pointMap)
- //
- public boolean set(String player,int pointMapID, long value)
- /**
- * 判断玩家是否拥有足够的点数
- * @param player
- * @param pointMapID
- * @param level
- * @param amount
- * @return
- */
- public boolean has(String player,int pointMapID,int level,int amount)
- //
- public boolean has(String player,PointMap pointMap)
- //
- public boolean has(String player,int pointMapID, long value)
- /**
- * 清理玩家的某个点数
- * @param player 玩家
- * @param pointMapID 点数id
- * @return 是否成功
- */
- public boolean clear(String player,int pointMapID)
- /**
- * 获得一个实例化点数空值
- * @param id 点数id
- * @return PointMap
- */
- public PointMap newEmptyPointMap(int id)
复制代码 |
下载
WeirdPoint.jar
(136.48 KB, 下载次数: 207)
求支持!求鼓励!
如果喜欢该插件请点击下方评分按钮为我打分~~ | 本插件所用代码部分来自其他开源或闭源(已授权)作品 |