change bossbar a bit
originally i want to add the bossbar packet thing but im too lazy to get things working so i just fard the among us
This commit is contained in:
parent
a8b47c39d9
commit
41680cf8cc
1 changed files with 33 additions and 14 deletions
|
@ -13,10 +13,11 @@ import java.util.Map;
|
|||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class BossbarManagerPlugin extends CorePlugin.Listener {
|
||||
public class BossbarManagerPlugin extends SessionAdapter {
|
||||
private final Bot bot;
|
||||
|
||||
private ScheduledFuture<?> tickTask;
|
||||
private ScheduledFuture<?> updateTask;
|
||||
|
||||
private final Map<String, BossBar> bossBars = new HashMap<>();
|
||||
|
||||
|
@ -29,19 +30,37 @@ public class BossbarManagerPlugin extends CorePlugin.Listener {
|
|||
public BossbarManagerPlugin (Bot bot) {
|
||||
this.bot = bot;
|
||||
|
||||
bot.core().addListener(this);
|
||||
|
||||
bot.addListener(new SessionAdapter() {
|
||||
bot.core().addListener(new CorePlugin.Listener() {
|
||||
@Override
|
||||
public void disconnected(DisconnectedEvent event) {
|
||||
tickTask.cancel(true);
|
||||
public void ready() {
|
||||
BossbarManagerPlugin.this.ready();
|
||||
}
|
||||
});
|
||||
|
||||
bot.addListener(this);
|
||||
}
|
||||
|
||||
public void ready () {
|
||||
tickTask = bot.executor().scheduleAtFixedRate(this::tick, 0, 50, TimeUnit.MILLISECONDS);
|
||||
updateTask = bot.executor().scheduleAtFixedRate(this::update, 0, 500, TimeUnit.MILLISECONDS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ready () {
|
||||
tickTask = bot.executor().scheduleAtFixedRate(this::tick, 0, 50, TimeUnit.MILLISECONDS);
|
||||
public void disconnected(DisconnectedEvent event) {
|
||||
tickTask.cancel(true);
|
||||
updateTask.cancel(true);
|
||||
}
|
||||
|
||||
private void update() {
|
||||
for (Map.Entry<String, BossBar> _bossBar : bossBars.entrySet()) {
|
||||
final String name = _bossBar.getKey();
|
||||
final BossBar bossBar = _bossBar.getValue();
|
||||
createBossBar(name, bossBar.players());
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " color " + bossBar.color().color);
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " visible " + bossBar.visible());
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " style " + bossBar.style().style);
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " max " + bossBar.max());
|
||||
}
|
||||
}
|
||||
|
||||
public void tick () {
|
||||
|
@ -53,14 +72,8 @@ public class BossbarManagerPlugin extends CorePlugin.Listener {
|
|||
final String stringifiedComponent = GsonComponentSerializer.gson().serialize(bossBar.name());
|
||||
|
||||
if (!actionbar) {
|
||||
bot.core().run("minecraft:bossbar add " + bossBarPrefix + name + " \"\"");
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " players " + bossBar.players());
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " name " + stringifiedComponent);
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " color " + bossBar.color().color);
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " visible " + bossBar.visible());
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " style " + bossBar.style().style);
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " value " + bossBar.value());
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " max " + bossBar.max());
|
||||
} else {
|
||||
bot.core().run("minecraft:title " + bossBar.players() + " actionbar " + stringifiedComponent);
|
||||
}
|
||||
|
@ -70,8 +83,14 @@ public class BossbarManagerPlugin extends CorePlugin.Listener {
|
|||
}
|
||||
}
|
||||
|
||||
private void createBossBar (String name, String players) {
|
||||
bot.core().run("minecraft:bossbar add " + bossBarPrefix + name + " \"\"");
|
||||
bot.core().run("minecraft:bossbar set " + bossBarPrefix + name + " players " + players);
|
||||
}
|
||||
|
||||
public void add (String name, BossBar bossBar) {
|
||||
bossBars.put(name, bossBar);
|
||||
createBossBar(name, bossBar.players());
|
||||
}
|
||||
|
||||
public void remove (String name) {
|
||||
|
|
Loading…
Reference in a new issue