簡體   English   中英

如何獲得經過的時間呢?

[英]How to get an elapsed time for this?

我正在創建一個Spigot(Bukkit(Minecraft服務器軟件)的性能精明分支)插件,該插件與Bungee(用於管理多個插頭實例的代理服務器)服務器進行通信。

我具有一項功能,當您鍵入命令“ / setbar(秒)(消息)”時,它將使用API​​(如果您熟悉,則為BarAPI)在連接到Bungee實例的每台服務器上創建一個條。

這樣做的錯誤在於,發出命令 ,如果玩家加入其中一台Spigot服務器,則酒吧就不在那兒。 我通過在代理級別上存儲欄的信息並將這些值發送到玩家嘗試加入的特定Spigot實例來解決此問題。

好的,足夠的背景信息。 我遇到的問題是我將管理員(或發出命令的人)請求的時間存儲在變量中。 當用戶加入時,顯然時間會稍微減少(或減少很多)。我想確保要加入的用戶接收到正確的經過時間的方式(因此BarAPI知道計時器圖形需要多大的時間) be),將命令執行的時間存儲在變量(currentTimeMillis / currentTimeNano)中,並將其轉換為秒,然后從命令中指定的時間中減去該時間。

我知道這里的邏輯存在缺陷,我似乎無法計算出數學數字。 我知道這很簡單,但是您可以提供的任何幫助都是極其有益的。

提前致謝。

附言:我未能提供的任何信息,請讓我知道,我將其添加到這篇文章中。

我意識到這是一個“無止境”的問題,因為如果我實際上沒有給出任何代碼,就沒有確切的答案。

不過,這是我用簡單的英語解決的方法:

  • 存儲該命令第一次執行的時間(以毫秒為單位)。

  • 接下來執行該命令時,請從新值中刪除第一個值,然后將其除以1000以得到秒值。

  • 秒值是經過的時間。 通過從條形圖的初始提供的秒值中減去秒值,一次可以找到剩余的時間。

  • 刪除相關用戶的欄; 重新創建相同的值,但用秒替換新計算的秒值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM