This commit is contained in:
121
PlayerDataSync-Premium/premium/SETUP.md
Normal file
121
PlayerDataSync-Premium/premium/SETUP.md
Normal file
@@ -0,0 +1,121 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user