|  功能介绍:
   目前所知的任何经济和记录点数的插件,其展示点数的方式均大同小异 (数值,整数或小数),在经过一些另类想法和一些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) 
求支持!求鼓励! 
如果喜欢该插件请点击下方评分按钮为我打分~~| 本插件所用代码部分来自其他开源或闭源(已授权)作品 |