Mehrere Probleme beim Thema Kämpfen, Schleichen und Looten behoben

This commit is contained in:
2026-10-04 13:16:21 +02:00
parent 3f5f2b9253
commit f88a710b4d
16 changed files with 740 additions and 25 deletions

View File

@@ -34,16 +34,25 @@ public class SaveGame {
public static class WorldSave {
/** UUIDs der PlacedItems, die der Spieler aufgesammelt hat. */
public Set<String> pickedUpItems = new HashSet<>();
/** IDs besiegter Gegner (für zukünftige Implementierung). */
/** IDs besiegter Gegner. */
public Set<String> defeatedEnemies = new HashSet<>();
/** NPC-ID → aktuell verfügbare Dialog-Option-IDs. */
public Map<String, List<String>> npcDialogState = new HashMap<>();
/** NPC-ID → Leichen-Zustand (Position, verbleibende Items). */
public Map<String, DeadNpcSave> deadNpcs = new LinkedHashMap<>();
/** Bodennässe 0..1 — wird von RainState persistiert. */
public float wetness = 0f;
/** Wetter-Zustand — wird von WeatherState persistiert. */
public WeatherSave weather = new WeatherSave();
}
public static class DeadNpcSave {
public float x, y, z, rotY;
/** Verbleibende Item-IDs; leer = vollständig gelooted. */
public List<String> remainingItemIds = new ArrayList<>();
public boolean fullyLooted = false;
}
public static class WeatherSave {
public String weather = "SUNNY";
public float changeTimer = 180f;

View File

@@ -0,0 +1,9 @@
package de.blight.common.model;
import java.util.List;
public interface Lootable {
String getLootId();
String getLootTitleKey();
List<Item> getLootItems();
}