feat: added method for easy getting player context

This commit is contained in:
Andrey Terentev 2025-03-09 23:05:37 +07:00
parent dc0f628a0d
commit 2b007d9897
2 changed files with 11 additions and 6 deletions

View File

@ -1,6 +1,7 @@
package ru.dragonestia.msb3.api.player;
import lombok.Getter;
import net.minestom.server.entity.Player;
@Getter
public abstract class PlayerContext {
@ -14,4 +15,8 @@ public abstract class PlayerContext {
public abstract void init();
public abstract void dispose();
public static <T extends PlayerContext> T of(Player player, Class<T> clazz) {
return ((MsbPlayer) player).getContext(clazz);
}
}

View File

@ -5,7 +5,7 @@ import net.kyori.adventure.bossbar.BossBar;
import net.kyori.adventure.key.Key;
import net.kyori.adventure.text.Component;
import net.minestom.server.entity.Player;
import ru.dragonestia.msb3.api.player.PlayerContextManager;
import ru.dragonestia.msb3.api.player.PlayerContext;
import ru.dragonestia.msb3.api.player.defaults.KeyedBossBarContext;
import ru.dragonestia.msb3.api.util.ResourceFromJar;
import ru.dragonestia.msb3.resource.Resources;
@ -23,22 +23,22 @@ public class KeyedBossBars {
}
public void hideAll(Player player) {
contextOf(player).hideAll();
context(player).hideAll();
}
public void hide(Player player, String bossBarId) {
contextOf(player).hide(bossBarId);
context(player).hide(bossBarId);
}
public BossBar show(Player player, String bossBarId, BossBar bossBar) {
return contextOf(player).show(bossBarId, bossBar);
return context(player).show(bossBarId, bossBar);
}
public BossBar showText(Player player, String bossBarId, Component text) {
return show(player, bossBarId, BossBar.bossBar(text, 1, BossBar.Color.WHITE, BossBar.Overlay.PROGRESS));
}
private KeyedBossBarContext contextOf(Player player) {
return PlayerContextManager.getContext(player, KeyedBossBarContext.class);
private KeyedBossBarContext context(Player player) {
return PlayerContext.of(player, KeyedBossBarContext.class);
}
}