docs: establish private implementation plan
This commit is contained in:
+35
@@ -0,0 +1,35 @@
|
||||
# Gradle and Java
|
||||
.gradle/
|
||||
**/build/
|
||||
*.class
|
||||
*.log
|
||||
|
||||
# Local Hytale runtime and proprietary game data
|
||||
.hytale/
|
||||
dev-runtime/
|
||||
local.properties
|
||||
gradle-local.properties
|
||||
**/HytaleServer.jar
|
||||
**/Assets.zip
|
||||
*.jar
|
||||
|
||||
# Secrets and local MCP configuration
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
*.token
|
||||
*.secret
|
||||
secrets/
|
||||
devtools/blockbench-mcp/.local/
|
||||
|
||||
# IDE and operating-system files
|
||||
.idea/
|
||||
.vscode/
|
||||
*.iml
|
||||
.DS_Store
|
||||
|
||||
# Generated reports and temporary exports
|
||||
reports/
|
||||
tmp/
|
||||
out/
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
# ProjectCapture – Implementierungsplan
|
||||
|
||||
## Ziel
|
||||
|
||||
ProjectCapture ist eine private, nicht kommerzielle Hytale-Creature-Catching-Fanmod. Das Projekt wird als neues lokales Repository unter `~/HytaleMods/ProjectCapture` entwickelt und berührt weder bestehende Projekte noch Hytales Launcher-, Spiel- oder Live-Weltdaten.
|
||||
|
||||
Die technische Basis ist Hytale Stable 0.5.9, Java 25 und Gradle 9.6.1. Das Java-Plugin ist serverautoritativ und liefert ein eingebettetes Asset-Pack aus. Die erste spielbare Content-Scheibe enthält Bulbasaur, Ivysaur, Venusaur, Charmander, Charmeleon, Charizard, Squirtle, Wartortle, Blastoise, Pikachu, Raichu und Ditto. Ein späterer privater Ausbau umfasst #001–#150; Mew ist nicht Teil dieses Ziels.
|
||||
|
||||
## Architektur
|
||||
|
||||
- `engine`: Hytale-unabhängige Fang-, Kampf-, Level-, Evolutions-, Zucht-, Genetik-, Handels- und Duelllogik.
|
||||
- `hytale-adapter`: Plugin-Lifecycle, Events, ECS, NPCs, Persistenz, UI, Kamera und Weltintegration.
|
||||
- `content-private`: private Spezies-, Attacken-, Spawn-, Rezept- und Asset-Daten.
|
||||
- `content-tools`: Schema-, Content-, Asset- und Veröffentlichungsvalidatoren.
|
||||
|
||||
Die offizielle Abhängigkeit `com.hypixel.hytale:Server:0.5.9` wird exakt gepinnt. Server-JARs, `Assets.zip`, extrahierte Hytale-Basisassets und Geheimnisse werden nie eingecheckt. Hytale-API-Aufrufe bleiben im Adapter, damit spätere API-Versionen austauschbar sind.
|
||||
|
||||
Versionierte, stabile IDs werden für `SpeciesDefinition`, `MoveDefinition`, `CreatureInstance`, `Genome`, `HabitatState`, `TradeTransaction` und `DuelSession` verwendet. Persistierte Daten tragen eine `schemaVersion` und erhalten explizite Migrationen.
|
||||
|
||||
## Gameplay
|
||||
|
||||
- Wildspawns nach Biom, Tageszeit und Seltenheit.
|
||||
- Kein Starter; die erste Freischaltung ist ein Rezept für craftbare Fanggeräte.
|
||||
- Level 1–100, Erfahrung, Evolutionen und serverseitig persistierte Instanzen.
|
||||
- Sechser-Party, erweiterbare Lagerung und genau ein sichtbarer Begleiter.
|
||||
- Offene Co-op-Kämpfe: Spieler und Kreatur kämpfen gemeinsam; automatischer Basisangriff plus drei befehligte Fähigkeiten.
|
||||
- Baubares Zuchthabitat; Fortschritt nur während aktiver Serverzeit; Abstammung und schrittweise Genanalyse.
|
||||
- Modulare Hybriden mit bis zu vier aktiven Spezieslinien und stabilen Modell-Sockets.
|
||||
- Atomarer Handel von Kreaturen, Eiern und Items.
|
||||
- Freiwillige Duelle mit natürlichen Leveln, deaktivierten Spielerwaffen und begrenzter Kampfzone.
|
||||
|
||||
## Asset-Pipeline
|
||||
|
||||
Blockbench 5.0.7 wird mit dem offiziellen Hytale-Models-Plugin 0.9.1 verwendet. Als Automatisierungsbasis dient ein gepinnter, gehärteter Fork von `jasonjgardner/blockbench-mcp-plugin` v1.6.1. Der Server bindet nur an `127.0.0.1`, verlangt ein lokales Token, beschränkt Schreibpfade auf dieses Projekt und bietet weder `risky_eval` noch Klicksimulation, beliebige UI-Actions oder fremde URL-Importe an.
|
||||
|
||||
Der Fork ergänzt sichere Werkzeuge für Hytale-Projekterstellung, Quads, Attachments, PNG- und `.bbmodel`-Speicherung, `.blockymodel`/`.blockyanim`-Export und offizielle Validierung. Ein neutrales Testwesen muss vor der Content-Produktion den vollständigen Roundtrip bestehen. Danach werden pro Kreatur Asset-Rezept, `.bbmodel`, PNG, `.blockymodel`, `.blockyanim`, Vorschauen und Validierungsbericht gespeichert. ImageGen dient ausschließlich eigenen Konzepten, UI- und Texturvorlagen; Sounds werden original/prozedural erzeugt.
|
||||
|
||||
## Umsetzungsgates
|
||||
|
||||
1. **Werkzeug-Gate:** Loopback, Authentifizierung, Werkzeug-Allowlist und Pfadschutz sind nachgewiesen.
|
||||
2. **Asset-Gate:** Das neutrale Testwesen wird deterministisch erzeugt, exportiert, erneut importiert und unverändert validiert.
|
||||
3. **Foundation-Gate:** Plugin und eingebettetes Asset-Pack laden auf 0.5.9; Persistenz übersteht Neustarts.
|
||||
4. **Vertical-Slice-Gate:** Spawn, Fang, Begleiter, Level, Kampf, Evolution und Wiederherstellung funktionieren für eine Kreatur.
|
||||
5. **System-Gate:** Zucht, Gene, Hybriden, Handel und PvP bestehen Abbruch-, Konkurrenz- und Neustarttests.
|
||||
6. **Content-Gate:** Alle zwölf Spezies bestehen Schema-, Asset-, Spawn-, Animations- und In-game-Tests.
|
||||
7. **Ausbau-Gate:** Erst danach erfolgt der private Ausbau auf #001–#150.
|
||||
8. **Publication-Gate:** Eine Veröffentlichung ist technisch blockiert, bis sämtliche Dritt-IP vollständig entfernt und durch eigene Inhalte ersetzt wurde.
|
||||
|
||||
## Verbindliche Grenzen
|
||||
|
||||
- Privat, nicht kommerziell und ohne Git-Remote.
|
||||
- Keine Dekompilierung und keine Übernahme fremder Mod-, Hytale- oder Pokémon-Assets.
|
||||
- Keine Veröffentlichung, Releases oder Distributionspakete mit Pokémon-IP.
|
||||
- Laufzeittests erfordern eine getrennte lokale Hytale-0.5.9-Entwicklungsumgebung und überschreiben keine Live-Daten.
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
# Private Fanmod Policy
|
||||
|
||||
## Status
|
||||
|
||||
ProjectCapture ist ausschließlich ein **privates, nicht kommerzielles Entwicklungsprojekt**. Das Repository besitzt absichtlich keinen Remote und darf in seinem privaten Content-Zustand weder veröffentlicht, verteilt, monetarisiert noch als Download bereitgestellt werden.
|
||||
|
||||
## Gesperrte Veröffentlichungen
|
||||
|
||||
Builds für lokale Entwicklung und lokale Hytale-Tests sind erlaubt. Folgende Aktionen bleiben gesperrt, solange `content-private` oder daraus abgeleitete Artefakte enthalten sind:
|
||||
|
||||
- Veröffentlichung eines Git-Repositorys oder Quellarchivs;
|
||||
- Upload eines Plugin-JARs, Asset-Packs oder Mod-Browser-Pakets;
|
||||
- öffentliche Releases, Testdownloads oder Serververteilung;
|
||||
- Monetarisierung, Spendengegenleistungen, Verkäufe oder Paid Random Items;
|
||||
- Verwendung als offiziell wirkendes Hytale- oder Pokémon-Produkt.
|
||||
|
||||
## Publication-Gate
|
||||
|
||||
Eine spätere Veröffentlichung ist ein eigenständiges Projektgate. Sie ist nur zulässig, wenn eine vollständige IP-Ablösung dokumentiert und technisch validiert wurde. Zu ersetzen sind mindestens:
|
||||
|
||||
- alle Pokémon- und Nintendo/TPC-bezogenen Namen und Begriffe;
|
||||
- Silhouetten, Designs, Modelle, Texturen und Animationen;
|
||||
- Sounds, Rufe, Musik und Audio-Motive;
|
||||
- Attackennamen, Effekte, Beschreibungen und Balancing-Daten;
|
||||
- Logos, Symbole, UI-Anleihen, Fanggeräte und Markenauftritt;
|
||||
- Pokédex-/Speziesdaten, Werte, Evolutionsketten und sonstige abgeleitete Daten.
|
||||
|
||||
Das Gate erfordert anschließend ausschließlich eigene Kreaturen, eigene Lore, eigene Mechanikbezeichnungen und eigene oder ordnungsgemäß lizenzierte Assets. Der Validator in `content-tools` muss ohne Ausnahmen bestehen, bevor eine Publish- oder Release-Aufgabe aktiviert werden darf.
|
||||
|
||||
## Technische Durchsetzung
|
||||
|
||||
- Es wird kein Git-Remote konfiguriert.
|
||||
- Release- und Publish-Aufgaben sind standardmäßig deaktiviert.
|
||||
- Private Inhalte tragen maschinenlesbare `privateFanContent`-Markierungen.
|
||||
- Paketierung für Distribution verlangt eine explizite, geprüfte `publication-cleared`-Manifestdatei.
|
||||
- Die Freigabedatei wird erst nach einer separaten rechtlichen und inhaltlichen Prüfung erstellt; sie ist nicht Teil des privaten MVP.
|
||||
|
||||
Reference in New Issue
Block a user