【发布时间】:2014-04-25 06:48:30
【问题描述】:
我正在创建一个 Spigot(Bukkit(Minecraft 服务器软件)的高性能分支)插件,它与 Bungee(用于管理多个 spigot 实例的代理服务器)服务器通信。
我有一个功能,当您键入命令“/setbar (time-in-seconds) (message)”时,它将使用 API(如果您熟悉 BarAPI)在连接到的每个服务器上创建一个栏Bungee 实例。
这样做的问题是,当玩家在发出命令后加入其中一个 Spigot 服务器时,Bar 不存在。我通过在代理级别存储栏的信息并将这些值发送到玩家尝试加入的特定 Spigot 实例来解决这个问题。
好的,足够的背景信息。我遇到的问题是我将管理员(或发出命令的人)请求的时间存储在变量中。当用户加入时,显然时间会稍微减少(或减少很多。)我想确保加入的用户收到正确的经过时间的方式,(所以 BarAPI 知道计时器图形需要多大be),是将命令执行的时间存储在变量(currentTimeMillis / currentTimeNano)中并将其转换为秒,然后从命令中指定的时间中减去该时间。
我知道我的逻辑存在缺陷,我似乎无法计算出数学。我知道这很简单,但是您能提供的任何帮助都会非常有益。
提前致谢。
后记:任何我未能提供的信息,请告诉我,我会将其添加到此帖子中。
【问题讨论】:
-
将时间存储在 HashMap 中,然后当玩家加入时在地图中显示时间条如何?