4.1 KiB
4.1 KiB
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.javadatabase/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
- Premium-Befehle hinzufügen:
Listeners
listeners/PlayerDataListener.java→premium/listeners/PlayerDataListener.javalisteners/ServerSwitchListener.java→premium/listeners/ServerSwitchListener.java
Managers
managers/AdvancementSyncManager.java→premium/managers/AdvancementSyncManager.javamanagers/BackupManager.java→premium/managers/BackupManager.javamanagers/ConfigManager.java→premium/managers/ConfigManager.javamanagers/MessageManager.java→premium/managers/MessageManager.javamanagers/LicenseManager.java→premium/managers/LicenseManager.java✅ (bereits erstellt)
Integration
integration/InventoryViewerIntegrationManager.java→premium/integration/InventoryViewerIntegrationManager.java
Utils
utils/InventoryUtils.java→premium/utils/InventoryUtils.javautils/OfflinePlayerData.java→premium/utils/OfflinePlayerData.javautils/PlayerDataCache.java→premium/utils/PlayerDataCache.javautils/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.ymlresources/messages_de.yml→premium/src/main/resources/messages_de.yml
Anpassungen
1. Package-Namen ändern
Alle Klassen müssen von:
package com.example.playerdatasync.xxx;
zu:
package com.example.playerdatasync.premium.xxx;
2. Imports anpassen
Alle Imports müssen angepasst werden:
// 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:
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
cd PlayerDataSync-Premium/premium
mvn clean package
Die JAR-Datei wird in target/PlayerDataSync-Premium-1.2.9-PREMIUM.jar erstellt.
Wichtige Hinweise
- License Key erforderlich: Die Premium-Version funktioniert nur mit einem gültigen Lizenzschlüssel
- API-Zugriff: Benötigt Internetverbindung für Lizenz-Validierung und Update-Checks
- Rate Limits: API hat ein Limit von 100 Requests/Stunde pro IP
- Caching: Lizenz-Validierung wird 30 Minuten gecacht
Nächste Schritte
- Alle Klassen aus PlayerDataSync kopieren
- Package-Namen anpassen
- Imports anpassen
- Premium-Befehle in SyncCommand hinzufügen
- Build und Test