invis killstreak

This commit is contained in:
Piecuuu 2026-02-22 22:13:27 +01:00
parent 0ac192a12e
commit 43dd143d96
2 changed files with 22 additions and 1 deletions

View file

@ -36,6 +36,13 @@ public class KillstreakExpansion extends PlaceholderExpansion {
final long killstreak = km.getKillstreak(p);
if(killstreak == 0) return "";
final Component output = km.getKillstreakComponent(killstreak);
return MiniMessage.miniMessage().serialize(output);
} else if(identifier.equalsIgnoreCase("killstreak_invis")) {
KillstreakManager km = KillstreakManager.getInstance();
final long killstreak = km.getInvisKillstreak(p);
if(killstreak == 0) return "";
final Component output = km.getKillstreakComponent(killstreak);
return MiniMessage.miniMessage().serialize(output);
}

View file

@ -17,18 +17,32 @@ public class KillstreakManager {
return instance;
}
public NamespacedKey playerKillstreakKey;
public NamespacedKey playerInvisKSKey;
private Killstreak plugin;
public KillstreakManager(Killstreak plugin) {
this.plugin = plugin;
instance = this;
this.playerKillstreakKey = new NamespacedKey(plugin, "playerKillstreakKey");
this.playerInvisKSKey = new NamespacedKey(plugin, "playerInvisKSKey");
}
public void setKillstreak(Player player, long streak) {
if(streak < 0) return;
player.getPersistentDataContainer().set(playerKillstreakKey, PersistentDataType.LONG, streak);
if(Killstreak.getInvisNinja() == null || !InvisNinja.isPlayerInvisible(player)) {
setInvisKillstreak(player, streak);
}
}
public void setInvisKillstreak(Player player, long streak) {
if(streak < 0) return;
player.getPersistentDataContainer().set(playerInvisKSKey, PersistentDataType.LONG, streak);
}
public long getInvisKillstreak(Player player) {
if(Killstreak.getInvisNinja() == null || !InvisNinja.isPlayerInvisible(player)) return getKillstreak(player);
return player.getPersistentDataContainer().getOrDefault(playerInvisKSKey, PersistentDataType.LONG, 0L);
}
public long getKillstreak(OfflinePlayer player) {