From ebdd4e22bc457537ae343831b2a4a8c281a6951a Mon Sep 17 00:00:00 2001 From: M_Viper Date: Sat, 25 Apr 2026 21:07:27 +0000 Subject: [PATCH] README.md aktualisiert --- README.md | 207 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 199 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 616cfbe..dd74318 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # WP Ingame Shop Pro Ein leistungsstarker, vollständig eigenständiger Ingame-Shop für WordPress, entwickelt für Minecraft-Server (Spigot/Paper). -Er bietet ein komfortables Warenkorb-System, Gutscheine, Daily Deals und eine benutzerdefinierte Währung – komplett ohne RCON. +Er bietet ein komfortables Warenkorb-System, Gutscheine, Daily Deals, eine benutzerdefinierte Währung und ein **Item-Ankauf-System** – komplett ohne RCON. Dieses Plugin nutzt eine eigene Datenbankstruktur für maximale Performance und vollständige Unabhängigkeit von WordPress-Beiträgen. @@ -14,10 +14,10 @@ Dieses Plugin nutzt eine eigene Datenbankstruktur für maximale Performance und Eine Bestellung = eine saubere Datenbankzeile mit JSON-Details. - ⚡ **Mehrfachbearbeitung (Bulk Edit)** - Hunderte Items gleichzeitig bearbeiten (Preis, Server, Kategorie, Status). + Hunderte Items gleichzeitig bearbeiten (Preis, Server, Kategorie, Status, **Ankauf**). - 💰 **Eigene Währung** - „Coins“, „Tokens“ oder beliebige virtuelle Währungen. + „Coins", „Tokens" oder beliebige virtuelle Währungen. - 🖼️ **Automatische Bildzuweisung** `minecraft:diamond` → `minecraft_diamond.png` @@ -28,6 +28,10 @@ Dieses Plugin nutzt eine eigene Datenbankstruktur für maximale Performance und - 🎫 **Smart Coupons** Prozent- oder Festbetrag, optional nicht kombinierbar mit Angeboten. +- 🔄 **Item-Ankauf-System** + Spieler können Items direkt ingame an den Shop verkaufen. + Ankaufspreis pro Item konfigurierbar (% vom VK, Festpreis oder VK minus Betrag). + - 🌐 **REST API ohne RCON** - 📊 **Top-Spender & Umsatzstatistik** @@ -36,9 +40,13 @@ Dieses Plugin nutzt eine eigene Datenbankstruktur für maximale Performance und ## 🚀 Installation +### WordPress Plugin + 1. Ordner `wp-ingame-shop-pro` nach: +``` wp-content/plugins/ +``` 2. Plugin im WordPress Backend aktivieren. 3. Fertig. @@ -48,6 +56,105 @@ Bei Aktivierung werden automatisch erstellt: - Datenbanktabellen (`wp_wis_*`) - Cron-Jobs für Daily Deals +### Spigot/Paper Plugin + +1. `IngameShopSpigot.jar` in den `plugins/`-Ordner des Servers legen. +2. Server starten – `config.yml` wird automatisch erstellt. +3. `config.yml` ausfüllen (WordPress-URL, API-Key, Server-Name). +4. `/wpis reload` oder Server neu starten. + +**Voraussetzungen:** Vault + ein Economy-Plugin (z.B. EssentialsX) + +--- + +# ⚙️ Spigot Plugin Konfiguration + +```yaml +# WordPress-URL (kein abschließendes /) +wordpress-url: "https://deine-domain.de" + +# API-Key aus den WordPress-Einstellungen +api-key: "HIER_DEN_KEY_AUS_WORDPRESS_EINTRAGEN" + +# Name dieses Servers (muss mit dem Server-Slug in WordPress übereinstimmen) +server-name: "survival" + +# Währungsname (muss mit WordPress-Einstellung übereinstimmen) +currency-name: "$" + +# Wie oft (in Sekunden) nach ausstehenden Bestellungen gesucht wird +check-interval: 10 + +# Debug-Modus (ausführliche Logs in der Konsole) +debug-mode: false + +# Fly-Code-Einlösung auf diesem Server deaktivieren +fly-redeem-disabled: false + +# Spieler der die Einnahmen aus dem Shop erhält (Vault-Konto) +income-receiver: "" + +# MySQL-Verbindung (für Fly-Code-System und Rang-Sessions) +mysql: + host: "localhost" + port: "3306" + database: "minecraft" + username: "root" + password: "DEIN_PASSWORT" + +# Ankauf-Einstellungen +sell: + enabled: true + # Preiskorrektur relativ zum WP-Ankaufspreis (in Prozent) + # 0.0 = exakt WP-Preis | -10.0 = 10 % weniger | +5.0 = 5 % mehr + price-offset: 0.0 +``` + +--- + +# 🎮 Ingame-Befehle + +## Shop / Bestellungen + +| Befehl | Beschreibung | Berechtigung | +|--------|-------------|--------------| +| `/orders` | Zeigt deine letzten Bestellungen | `ingameshop.orders` | + +## Fly-Gutscheine + +| Befehl | Beschreibung | Berechtigung | +|--------|-------------|--------------| +| `/flytime` | Zeigt deine aktive verbleibende Fly-Zeit | `ingameshop.flytime` | +| `/flyredeem ` | Löst einen Fly-Gutschein-Code ein | `ingameshop.flyredeem` | +| `/flycodes` | GUI mit deinen ungenutzten Fly-Codes (einlösen / weitergeben) | `ingameshop.flycodes` | +| `/flygive [Label]` | Gibt einem Spieler einen Fly-Code (Admin) | `ingameshop.flygive` | +| `/flypause` | Pausiert oder setzt die aktive Fly-Zeit fort | `ingameshop.flypause` | + +## Ränge + +| Befehl | Beschreibung | Berechtigung | +|--------|-------------|--------------| +| `/rankinfo` | Zeigt deine aktiven zeitbasierten Ränge | `ingameshop.rankinfo` | + +## Item-Ankauf + +| Befehl | Beschreibung | Berechtigung | +|--------|-------------|--------------| +| `/sell` | Öffnet das Ankauf-GUI mit allen ankaufbaren Items | `ingameshop.sell` | +| `/sell hand` | Verkauft den Stack in der Hand direkt | `ingameshop.sell` | +| `/sell all` | Verkauft alle ankaufbaren Items aus dem Inventar | `ingameshop.sell` | + +### Ankauf-GUI +- **Linksklick** auf ein Item → verkauft alle davon im Inventar +- **Rechtsklick** auf ein Item → verkauft genau 1 Stack (max. 64) +- Items werden alle 5 Minuten automatisch aus WordPress aktualisiert + +## Admin + +| Befehl | Beschreibung | Berechtigung | +|--------|-------------|--------------| +| `/wpis reload` | Lädt config.yml und Ankaufliste live neu | `ingameshop.reload` (OP) | + --- # 🖼️ Bilder-Konfiguration (Gitea Raw) @@ -139,23 +246,38 @@ Ideal für: - Server-Zuweisung - Kategorie - Status (`publish` / `draft`) +- **Ankauf aktivieren** (mit Preismodus und Live-Vorschau) + +### Ankauf-Preismodi (pro Item) + +| Modus | Beispiel | Ergebnis bei VK 100 | +|-------|---------|---------------------| +| `% vom VK` | 80 | 80 Coins | +| `VK minus` | 10 | 90 Coins | +| `Fixpreis` | 15 | immer 15 Coins | --- ## 🔄 Bulk Edit (Mehrfachbearbeitung) -Beispiel: 100 Items einem Server zuweisen. +Beispiel: 100 Items auf Ankauf konfigurieren. 1. Items anhaken -2. „Massenaktionen“ wählen: +2. „Massenaktionen" wählen: - Server zuweisen - Preis ändern + - Angebot ändern - Kategorie setzen - - Status ändern + - Status ändern + - **Ankauf konfigurieren** 3. Anwenden 4. Änderungen speichern -Überschreibt bestehende Server-/Kategorie-Zuweisungen. +Bei **Ankauf konfigurieren** siehst du pro Item: +- Checkbox zum Aktivieren/Deaktivieren +- Modus-Auswahl (%, minus, fix) +- Wert-Eingabe +- Live-Vorschau des Ankaufspreises --- @@ -297,6 +419,57 @@ POST /wis/v1/validate_coupon --- +## Ankauf – Items abrufen + +``` +GET /wis/v1/sell_items?server=survival +``` + +Antwort: +```json +{ + "items": [ + { + "item_id": "minecraft:diamond", + "name": "Diamant", + "buy_price": 100, + "sell_price": 80 + } + ], + "currency": "Coins" +} +``` + +--- + +## Ankauf – Item verkaufen + +``` +POST /wis/v1/sell_item +``` + +```json +{ + "player": "Steve", + "server": "survival", + "item_id": "minecraft:diamond", + "quantity": 5 +} +``` + +Antwort: +```json +{ + "success": true, + "item_name": "Diamant", + "quantity": 5, + "price_per_item": 80.00, + "total": 400.00 +} +``` + +--- + # 💾 Datenbank-Struktur ## `wp_wis_items` @@ -311,6 +484,9 @@ POST /wis/v1/validate_coupon | servers | JSON Array | | categories | JSON Array | | status | publish / draft | +| sell_enabled | 0 / 1 – Ankauf aktiv? | +| sell_price_mode | percent / fixed / minus | +| sell_price_value | Wert passend zum Modus | --- @@ -339,6 +515,21 @@ POST /wis/v1/validate_coupon --- +## `wp_wis_sell_log` + +| Feld | Beschreibung | +|------|-------------| +| player_name | Minecraft Name | +| server | Server-Slug | +| item_id | minecraft:diamond | +| item_name | Anzeigename | +| quantity | Verkaufte Menge | +| price_per_item | Ankaufspreis pro Stück | +| total_paid | Ausgezahlter Gesamtbetrag | +| sold_at | Zeitstempel | + +--- + ## `wp_wis_servers` Serverdefinitionen @@ -377,4 +568,4 @@ Für Produktion empfohlen: **Copyright © 2026 - M_Viper - Alle Rechte vorbehalten** -Die unbefugte Vervielfältigung, Verbreitung oder Weitergabe dieses Plugins ist strafbar und wird rechtlich verfolgt. +Die unbefugte Vervielfältigung, Verbreitung oder Weitergabe dieses Plugins ist strafbar und wird rechtlich verfolgt. \ No newline at end of file