如何获得这个经过的时间?

时间:2014-04-25 06:48:30

标签: java sql minecraft bukkit

我正在创建一个Spigot(Bukkit(Minecraft服务器软件))的性能精通分支插件,它与Bungee(用于管理多个套管实例的代理服务器)服务器进行通信。

我有一个功能,当你输入一个命令“/ setbar(time-in-seconds)(message)”时,它会使用一个API(如果你熟悉的话是BarAPI)在每个连接到的服务器上创建一个吧蹦极实例。

这样做的一个问题是,当玩家加入其中一个之后发出命令时,该栏就不存在了。我通过在代理级别存储栏的信息并将这些值发送到玩家尝试加入的特定Spigot实例来解决此问题。

好的,足够的背景信息。我遇到的问题是我正在存储变量中请求的admin(或发出命令的人)的时间。当用户加入时,显然时间会略微减少(或很多)。我想到的方法是确保正在加入的用户收到正确的经过时间,(因此BarAPI知道计时器图形需要多大的时间)是),通过将命令执行的时间存储在变量(currentTimeMillis / currentTimeNano)中并将其转换为秒,然后从命令中指定的时间减去该值。

我知道我的逻辑存在缺陷,我似乎无法计算出数学。我知道这很简单,但是你能提供的任何帮助都会非常有益。

提前致谢。

后记:我提供的任何信息都没有提供,请告诉我,我会将其添加到这篇文章中。

1 个答案:

答案 0 :(得分:0)

我意识到这是一个" no-end"问题,因为我没有给出任何代码,所以没有确切的答案。

以下是我用简单的英语解决它的方法:

  • 以毫秒为单位存储执行命令的时间。

  • 接下来执行命令时,从新值中删除第一个值并将其除以1000以获得秒值。

  • 秒值是经过的时间。一旦找到剩余的时间,然后从最初提供的条形秒值中减去秒值。

  • 删除相关用户的栏;重新创建相同的值,但将秒替换为新计算的秒值。