Delete src/main/java/de/lasertec/player/LaserPlayer.java via Git Manager GUI

This commit is contained in:
2026-06-20 19:28:59 +00:00
parent 02e5758c54
commit 01208ea7d4

View File

@@ -1,125 +0,0 @@
package de.lasertec.player;
import de.lasertec.game.Team;
import org.bukkit.inventory.ItemStack;
import java.util.UUID;
/**
* Repräsentiert einen Spieler während eines laufenden Spiels.
*
* KERN-MECHANIK:
* - Wird ein Spieler getroffen → isHit() == true
* - Getroffene Spieler können NICHT schießen
* - Getroffene Spieler müssen zur eigenen Basis zurück
* - An der Basis: heal() aufrufen → isHit() == false, kann wieder schießen
*/
public class LaserPlayer {
private final UUID uuid;
private final String name;
// Team
private Team team;
// ─── Hit-Stun Mechanik ───────────────────────────────────────────────────
/** true = getroffen, muss zur Basis zurück, kann nicht schießen */
private boolean hit;
/** Zeitstempel des letzten Treffers */
private long hitTime;
/** Wann der Spieler anfing, sich an der Basis aufzuhalten */
private long healStart;
/** Heilt gerade an der Basis */
private boolean healing;
// ─── Spiel-Statistiken (diese Runde) ────────────────────────────────────
private int kills;
private int deaths;
private int baseAttacks; // Wie oft hat er eine gegnerische Basis angegriffen
private int score;
private int killStreak;
private int bestStreak;
// Gespeicherter Zustand vor dem Spiel
private ItemStack[] savedInventory;
public LaserPlayer(UUID uuid, String name) {
this.uuid = uuid;
this.name = name;
}
// ─── Hit-Stun API ────────────────────────────────────────────────────────
/** Spieler wird getroffen — kann ab sofort nicht mehr schießen. */
public void applyHit() {
this.hit = true;
this.hitTime = System.currentTimeMillis();
this.healing = false;
this.healStart = 0;
this.deaths++;
this.killStreak = 0;
}
/** Spieler betritt die eigene Basis → Heilung beginnt. */
public void startHealing() {
if (!hit || healing) return;
healing = true;
healStart = System.currentTimeMillis();
}
/** Spieler verlässt die Basis → Heilung abbrechen. */
public void stopHealing() {
healing = false;
healStart = 0;
}
/**
* Heilung abschließen (wird vom Game-Task nach heal-time Sekunden aufgerufen).
* Der Spieler kann danach wieder schießen.
*/
public void completeHeal() {
hit = false;
healing = false;
healStart = 0;
}
/** Ist der Spieler gerade getroffen (= gesperrt)? */
public boolean isHit() { return hit; }
/** Heilt der Spieler gerade an der Basis? */
public boolean isHealing() { return healing; }
/** Millisekunden seit Heilungsbeginn */
public long healElapsedMs() {
if (!healing || healStart == 0) return 0;
return System.currentTimeMillis() - healStart;
}
// ─── Kill-Counting ───────────────────────────────────────────────────────
public void registerKill() {
kills++;
killStreak++;
if (killStreak > bestStreak) bestStreak = killStreak;
}
public void addScore(int amount) { score += amount; }
public void addBaseAttack() { baseAttacks++; }
// ─── Getters / Setters ───────────────────────────────────────────────────
public UUID getUuid() { return uuid; }
public String getName() { return name; }
public Team getTeam() { return team; }
public void setTeam(Team team) { this.team = team; }
public int getKills() { return kills; }
public int getDeaths() { return deaths; }
public int getBaseAttacks() { return baseAttacks; }
public int getScore() { return score; }
public int getKillStreak() { return killStreak; }
public int getBestStreak() { return bestStreak; }
public ItemStack[] getSavedInventory() { return savedInventory; }
public void setSavedInventory(ItemStack[] i) { savedInventory = i; }
public String getKDString() { return kills + "/" + deaths; }
}