Rozmýšľal som nad jedným problémom a ako ho vyriešiť, ide o to, že BossBar ( ProgressBar ) sa mi v hre zobrazí ale hneď zmizne, správne fungovanie by malo správne odpočítavať raz za sekundu až do 0.0 a potom BossBar schovať.
Zdrojový kód:
public void CreateBossBar(Player player, String text, BarColor color, BarStyle style, float MaxBarProg)
{
BossBar bossBar = Bukkit.createBossBar(text, color, style);
bossBar.addPlayer(player);
if(!bossBar.isVisible())
{
bossBar.setVisible(true);
print("BossBar is hidden, Show it !");
}else bossBar.setVisible(false);
//bossBar.setVisible(true);
BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
scheduler.scheduleSyncDelayedTask(this, new Runnable()
{
float aktualny = MaxBarProg;
@Override
public void run() {
if(!(aktualny > 1.0) && !(aktualny < 0.0))
{
print("Aktualny is less then 1.0 and more than 0.0 !");
aktualny--;
bossBar.setProgress(aktualny);
if(aktualny == 0.0)
{
print("Its 0 for progressbar, kill him !");
bossBar.setVisible(false);
}
}else print("§cBossBar( ProgressBar ) Is more than 1.0 or less then 0.0 !");
}
},20L);
}
Skúšal som si hodnoty aj vyprintovať, ale samozrejme píše, že ten progressbar dosiahol hodnotu 0.0 myslím, že problém je s timerom ktorý sa obnovuje rýchlejšie ako 20 tickov 20 tickov = 1 sekunda
EDIT:// Každopádne som došiel nato, že z publicu kde číta hodnoty MaxBarProg ( float MaxBarProg ) a ako dávam float aktualny = MaxBarProg; tak mi to do aktualny nedá stav 1.0 ale 0.0.
Dotaz
Invouk 91
Ahojte,
Rozmýšľal som nad jedným problémom a ako ho vyriešiť, ide o to, že BossBar ( ProgressBar ) sa mi v hre zobrazí ale hneď zmizne, správne fungovanie by malo správne odpočítavať raz za sekundu až do 0.0 a potom BossBar schovať.
Zdrojový kód:
Skúšal som si hodnoty aj vyprintovať, ale samozrejme píše, že ten progressbar dosiahol hodnotu 0.0 myslím, že problém je s timerom ktorý sa obnovuje rýchlejšie ako 20 tickov
Edited by XpresS20 tickov = 1 sekunda
EDIT://
Každopádne som došiel nato, že z publicu kde číta hodnoty MaxBarProg ( float MaxBarProg ) a ako dávam float aktualny = MaxBarProg; tak mi to do aktualny nedá stav 1.0 ale 0.0.
Ďakujem za všetký rady.
Link to comment
Share on other sites
10 odpovědí na tuto otázku
Recommended Posts