Delete src/main/java/de/lasertag/player/LaserPlayer.java via Git Manager GUI
This commit is contained in:
@@ -1,125 +0,0 @@
|
||||
package de.lasertag.player;
|
||||
|
||||
import de.lasertag.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; }
|
||||
}
|
||||
Reference in New Issue
Block a user