Files
PlayerDataSync/PlayerDataSync-Premium/premium/SETUP.md
DerGamer009 4aa5a2121b #0001
2026-02-08 03:41:09 +01:00

122 lines
4.1 KiB
Markdown

# PlayerDataSync Premium - Setup Anleitung
## Projektstruktur
Die Premium-Version benötigt alle Klassen aus PlayerDataSync, aber mit angepassten Package-Namen:
### Package-Mapping
**Von:** `com.example.playerdatasync.*`
**Zu:** `com.example.playerdatasync.premium.*`
### Zu kopierende Klassen
Alle folgenden Klassen müssen aus `PlayerDataSync/src/main/java/com/example/playerdatasync/` nach `PlayerDataSync-Premium/premium/src/main/java/com/example/playerdatasync/premium/` kopiert und Package-Namen angepasst werden:
#### Core
- `core/PlayerDataSync.java``premium/core/PlayerDataSyncPremium.java` ✅ (bereits erstellt)
#### Database
- `database/ConnectionPool.java``premium/database/ConnectionPool.java`
- `database/DatabaseManager.java``premium/database/DatabaseManager.java`
#### Commands
- `commands/SyncCommand.java``premium/commands/SyncCommand.java`
- Premium-Befehle hinzufügen: `/sync license validate`, `/sync license info`, `/sync update check`
#### Listeners
- `listeners/PlayerDataListener.java``premium/listeners/PlayerDataListener.java`
- `listeners/ServerSwitchListener.java``premium/listeners/ServerSwitchListener.java`
#### Managers
- `managers/AdvancementSyncManager.java``premium/managers/AdvancementSyncManager.java`
- `managers/BackupManager.java``premium/managers/BackupManager.java`
- `managers/ConfigManager.java``premium/managers/ConfigManager.java`
- `managers/MessageManager.java``premium/managers/MessageManager.java`
- `managers/LicenseManager.java``premium/managers/LicenseManager.java` ✅ (bereits erstellt)
#### Integration
- `integration/InventoryViewerIntegrationManager.java``premium/integration/InventoryViewerIntegrationManager.java`
#### Utils
- `utils/InventoryUtils.java``premium/utils/InventoryUtils.java`
- `utils/OfflinePlayerData.java``premium/utils/OfflinePlayerData.java`
- `utils/PlayerDataCache.java``premium/utils/PlayerDataCache.java`
- `utils/VersionCompatibility.java``premium/utils/VersionCompatibility.java`
#### API
- `api/PremiumUpdateChecker.java``premium/api/PremiumUpdateChecker.java` ✅ (bereits erstellt)
- `api/LicenseValidator.java``premium/api/LicenseValidator.java` ✅ (bereits erstellt)
### Resources
- `resources/config.yml``premium/src/main/resources/config.yml` ✅ (bereits erstellt)
- `resources/plugin.yml``premium/src/main/resources/plugin.yml` ✅ (bereits erstellt)
- `resources/messages_en.yml``premium/src/main/resources/messages_en.yml`
- `resources/messages_de.yml``premium/src/main/resources/messages_de.yml`
## Anpassungen
### 1. Package-Namen ändern
Alle Klassen müssen von:
```java
package com.example.playerdatasync.xxx;
```
zu:
```java
package com.example.playerdatasync.premium.xxx;
```
### 2. Imports anpassen
Alle Imports müssen angepasst werden:
```java
// Alt
import com.example.playerdatasync.database.DatabaseManager;
// Neu
import com.example.playerdatasync.premium.database.DatabaseManager;
```
### 3. SyncCommand erweitern
In `SyncCommand.java` müssen Premium-Befehle hinzugefügt werden:
```java
case "license":
return handleLicense(sender, args);
case "update":
return handleUpdate(sender, args);
```
### 4. PlayerDataSyncPremium.java vervollständigen
Die Hauptklasse `PlayerDataSyncPremium.java` ist bereits erstellt, aber alle Methoden aus der originalen `PlayerDataSync.java` müssen kopiert werden.
## Build
```bash
cd PlayerDataSync-Premium/premium
mvn clean package
```
Die JAR-Datei wird in `target/PlayerDataSync-Premium-1.2.9-PREMIUM.jar` erstellt.
## Wichtige Hinweise
1. **License Key erforderlich**: Die Premium-Version funktioniert nur mit einem gültigen Lizenzschlüssel
2. **API-Zugriff**: Benötigt Internetverbindung für Lizenz-Validierung und Update-Checks
3. **Rate Limits**: API hat ein Limit von 100 Requests/Stunde pro IP
4. **Caching**: Lizenz-Validierung wird 30 Minuten gecacht
## Nächste Schritte
1. Alle Klassen aus PlayerDataSync kopieren
2. Package-Namen anpassen
3. Imports anpassen
4. Premium-Befehle in SyncCommand hinzufügen
5. Build und Test