Stage 12: Data storage system

This commit is contained in:
loki5512344 2026-05-31 20:47:02 +02:00
parent 82ed455cd2
commit 4fd7955d56
62 changed files with 5613 additions and 0 deletions

View file

@ -0,0 +1,77 @@
package dev.loki.survivor;
import dev.loki.player.PlayerState;
import dev.loki.player.Survivor;
import org.bukkit.entity.Player;
import java.util.UUID;
public class SurvivorController {
private final Survivor survivor;
private final SurvivorMovement movement;
private final SurvivorHealing healing;
public SurvivorController(Survivor survivor) {
this.survivor = survivor;
this.movement = new SurvivorMovement(this);
this.healing = new SurvivorHealing(this);
}
public void onSprintStart() {
movement.onSprintStart();
}
public void onSprintEnd() {
movement.onSprintEnd();
}
public void onHealAttempt(Player target) {
healing.startHealing(target);
}
public void tick() {
movement.tick();
healing.tick();
updateSpeed();
}
private void updateSpeed() {
Player player = survivor.getPlayer();
if (player == null) return;
float speed = movement.getCurrentSpeed();
player.setWalkSpeed(speed);
}
public void onStateChange(PlayerState newState) {
movement.onStateChange(newState);
}
public UUID getUuid() {
return survivor.getUuid();
}
public Survivor getSurvivor() {
return survivor;
}
public Player getPlayer() {
return survivor.getPlayer();
}
public PlayerState getState() {
return survivor.getState();
}
public boolean isDowned() {
return survivor.getState() == PlayerState.DOWNED;
}
public boolean isInjured() {
return survivor.getState() == PlayerState.INJURED;
}
public boolean isHealthy() {
return survivor.getState() == PlayerState.HEALTHY;
}
}