23 KiB
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, 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.
✨ Highlights
-
🛒 Warenkorb-System
Mehrere Items pro Bestellung.
Eine Bestellung = eine saubere Datenbankzeile mit JSON-Details. -
⚡ Mehrfachbearbeitung (Bulk Edit)
Hunderte Items gleichzeitig bearbeiten (Preis, Server, Kategorie, Status, Ankauf). -
💰 Eigene Währung
„Coins", „Tokens" oder beliebige virtuelle Währungen. -
🖼️ Automatische Bildzuweisung
minecraft:diamond→minecraft_diamond.png
Ideal für große Bildsammlungen (1500+ Dateien). -
🔥 Daily Deal & Sale-System
-
🎫 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). -
✈️ Fly-Abo-System
Monatlich abgebuchtes Abonnement mit tägl. Stunden-Limit (Standard: 6h).
Kauf im Shop, Verwaltung & Kündigung vollständig ingame. -
📦 Plot-Slot-System
Zusätzliche PlotSquared-Slots einmalig kaufen oder monatlich abonnieren.
Integration über LuckPerms (plots.plot.<n>Permission), vollautomatisch. -
🌐 REST API ohne RCON
-
📊 Top-Spender & Umsatzstatistik
🚀 Installation
WordPress Plugin
- Ordner
wp-ingame-shop-pronach:
wp-content/plugins/
- Plugin im WordPress Backend aktivieren.
- Fertig.
Bei Aktivierung werden automatisch erstellt:
- Datenbanktabellen (
wp_wis_*) - Cron-Jobs für Daily Deals
Spigot/Paper Plugin
IngameShopSpigot.jarin denplugins/-Ordner des Servers legen.- Server starten –
config.ymlwird automatisch erstellt. config.ymlausfüllen (WordPress-URL, API-Key, Server-Name)./wpis reloadoder Server neu starten.
Voraussetzungen: Vault + ein Economy-Plugin (z.B. EssentialsX)
⚙️ Spigot Plugin Konfiguration
# 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, Rang-Sessions, Fly-Abo und Plot-Slots)
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
# Fly-Abo-Einstellungen
fly-abo:
# Maximale Fly-Zeit pro Tag in Stunden (Standard: 6)
max-daily-hours: 6
# Plot-Slot Einstellungen (nur Citybuild)
plot-slots:
# Auf welchem Server greift das Plot-Slot-System?
server: "citybuild"
# Standard-Plot-Slots pro LuckPerms-Gruppe
rank-defaults:
member: 2
vip: 3
scout: 4
primo: 5
🎮 Ingame-Befehle
Übersicht
| Befehl | Beschreibung | Berechtigung |
|---|---|---|
/abo |
Zeigt alle laufenden Abonnements in einer Übersicht | ingameshop.abo |
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 <Code> |
Löst einen Fly-Gutschein-Code ein | ingameshop.flyredeem |
/flycodes |
GUI mit deinen ungenutzten Fly-Codes (einlösen / weitergeben) | ingameshop.flycodes |
/flygive <Spieler> <Sekunden> [Label] |
Gibt einem Spieler einen Fly-Code (Admin) | ingameshop.flygive |
/flypause |
Pausiert oder setzt die aktive Fly-Zeit fort | ingameshop.flypause |
Fly-Abo
| Befehl | Beschreibung | Berechtigung |
|---|---|---|
/flyabo |
Zeigt Abo-Status, Ablaufdatum und heutiges Tageslimit | ingameshop.flyabo |
/flyabocancel confirm |
Kündigt das Abo zum Monatsende (bleibt bis dahin aktiv) | ingameshop.flyabocancel |
/flyabogive <Spieler> <Monatspreis> [Label] |
Vergibt ein Fly-Abo manuell (Admin) | ingameshop.flyabogive (OP) |
Plot-Slots
| Befehl | Beschreibung | Berechtigung |
|---|---|---|
/plotslots |
Zeigt eigene Slot-Übersicht (Basis / Einmalig / Abo / Gesamt) | ingameshop.plotslots |
/plotabo |
Zeigt Plot-Abo-Status, Slots, Preis und Ablaufdatum | ingameshop.plotabo |
/plotabocancel confirm |
Kündigt das Plot-Abo zum Monatsende | ingameshop.plotabocancel |
/plotabogive <Spieler> <Slots> <Preis> [Label] |
Vergibt ein Plot-Abo manuell (Admin) | ingameshop.plotabogive (OP) |
/plotslotsgive <Spieler> <Slots> [Label] |
Vergibt permanente Plot-Slots (Admin) | ingameshop.plotslotsgive (OP) |
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) |
✈️ Fly-Abo-System
Das Fly-Abo ermöglicht es Spielern, ein monatlich abgebuchtes Abonnement im Shop zu kaufen, das ihnen täglich eine konfigurierbare Menge an Fly-Zeit gewährt.
Funktionsweise
- Spieler kaufen das Abo einmalig im Shop – der Artikelpreis ist gleichzeitig der monatliche Beitrag
- Das Abo ist sofort aktiv und gilt bis zum letzten Tag des laufenden Monats
- Täglich stehen bis zu
max-daily-hoursStunden Fly zur Verfügung (Standard: 6h) - Der Tagesverbrauch wird täglich zurückgesetzt
- Am 1. jedes Monats wird der Monatsbeitrag automatisch per Vault abgebucht und das Abo verlängert
- Kann der Spieler nicht zahlen, wird das Abo automatisch zum Monatsende gekündigt
- Kündigung jederzeit ingame möglich – das Abo läuft bis Ende des laufenden Monats weiter
- Verwaltung und Kündigung erfolgen ausschließlich ingame
BossBar
Beim aktiven Fly-Abo wird eine grüne BossBar angezeigt:
✈ Fly-Abo: 5h 30min / 6h
Warnungen bei: 1h, 30min, 10min, 5min, 1min, 30s, 10s verbleibend.
Shop-Artikel anlegen (WordPress)
- Ingame Shop → Items → Neu
- Typ: „✈ Fly-Abo (tägl. Limit)" auswählen
- Preis setzen – dieser Betrag wird monatlich per Vault abgebucht
- Name vergeben → Speichern
Die Item-ID wird automatisch als fly_abo gespeichert.
Hinweis: Es gibt nur einen Fly-Abo-Artikel. Der Preis im Shop = monatlicher Beitrag.
Billing-Übersicht
| Zeitpunkt | Was passiert |
|---|---|
| Kauf im Shop | Vault-Abzug, Abo sofort aktiv bis Monatsende |
| 1. des Monats | Automatische Vault-Abbuchung, Abo verlängert sich |
| Zahlung fehlgeschlagen | Abo läuft bis Monatsende, danach automatisch beendet |
/flyabocancel confirm |
Kündigung vorgemerkt, Abo läuft bis Monatsende weiter |
📦 Plot-Slot-System
Spieler können zusätzliche Plot-Slots auf dem Citybuild-Server kaufen – entweder einmalig permanent oder als monatliches Abo.
Standard-Limits pro Rang
| Rang | Standard-Slots |
|---|---|
| Member | 2 |
| VIP | 3 |
| Scout | 4 |
| Primo | 5 |
Gesamtlimit-Berechnung
Gesamt = Rang-Basis + einmalig gekaufte Slots + Abo-Slots
Das Plugin setzt automatisch die LuckPerms-Permission plots.plot.<n> – PlotSquared liest diese direkt aus.
PlotSquared Voraussetzung
In plugins/PlotSquared/config/worlds.yml muss für jede Welt gesetzt sein:
worlds:
citybuild:
plot:
max_plots_per_player: -1
Shop-Artikel anlegen (WordPress)
Einmaliger Kauf (permanent):
- Typ: „📦 Plot-Slots (einmalig)" auswählen
- Anzahl der zusätzlichen Slots eingeben
- Preis setzen → Speichern
Item-ID:plot_slots_2(z.B. +2 Slots permanent)
Monatliches Abo:
- Typ: „📦 Plot-Abo (monatlich)" auswählen
- Anzahl der Abo-Slots eingeben
- Preis setzen (= monatlicher Beitrag) → Speichern
Item-ID:plot_abo_2(z.B. +2 Slots monatlich)
Billing-Übersicht
| Zeitpunkt | Was passiert |
|---|---|
| Kauf im Shop | Vault-Abzug, Slots sofort aktiv, LuckPerms Permission gesetzt |
| 1. des Monats | Automatische Vault-Abbuchung, Abo-Slots bleiben aktiv |
| Zahlung fehlgeschlagen | Abo-Slots verfallen, überzählige Plots eingefroren |
/plotabocancel confirm |
Kündigung vorgemerkt, läuft bis Monatsende weiter |
Einfrieren bei Zahlungsausfall
Wenn nach Zahlungsausfall der Spieler mehr Plots besitzt als das neue Limit erlaubt, werden die überzähligen Plots eingefroren (kein Bauen möglich) bis das Abo erneuert wird.
📋 /abo – Abo-Übersicht
Der Befehl /abo zeigt alle laufenden Abonnements eines Spielers in einer kompakten Übersicht:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 Meine Abonnements
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✈ Fly-Abo
┌ Paket: Fly-Abo Monat
├ Preis: 50 $ / Monat
├ Status: ✔ Aktiv
├ Aktiv bis: 30.04.2026
├ Nächste Abbuchung: 01.05.2026
├ Heute: 1h 30min / 6h (noch: 4h 30min)
└ Kündigen: /flyabocancel confirm
📦 Plot-Abo
┌ Paket: Plot-Abo +2 Slots
├ Slots: +2 Plot-Slots
├ Preis: 30 $ / Monat
├ Status: ✔ Aktiv
├ Aktiv bis: 30.04.2026
├ Nächste Abbuchung: 01.05.2026
└ Kündigen: /plotabocancel confirm
📦 Plot-Slots
┌ Rang-Basis: 2
├ Einmalig: +1
├ Abo: +2
└ Gesamt: 5 Slots
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Die Plot-Slots-Übersicht wird immer angezeigt. Hat der Spieler kein Abo, erscheint ein Hinweis mit dem Shop-Link.
🖼️ Bilder-Konfiguration (Gitea Raw)
📂 Basis-URL für alle Item-Bilder
https://git.viper.ipv64.net/M_Viper/WP-Ingame-Shop-Pro/raw/branch/main/images/
🔧 Eintragen im Plugin
Ingame Shop → Einstellungen → Bilder Basis-URL
Eintragen:
https://git.viper.ipv64.net/M_Viper/WP-Ingame-Shop-Pro/raw/branch/main/images/
📌 Automatische Bildlogik
Item-ID im Shop:
minecraft:diamond
Automatisch geladen wird:
https://git.viper.ipv64.net/M_Viper/WP-Ingame-Shop-Pro/raw/branch/main/images/minecraft_diamond.png
Regeln:
:wird zu_- Dateiendung =
.png - Keine manuelle Bildzuweisung notwendig
📥 Quick JSON Import (Direkt von Gitea)
🔗 Import-URL
https://git.viper.ipv64.net/M_Viper/WP-Ingame-Shop-Pro/raw/branch/main/items.json
🛠️ Import durchführen
- Ingame Shop → JSON Tools
- Import
- URL einfügen
- Import starten
Ideal für:
- Kompletten Shop-Aufbau in Sekunden
- Regelmäßige Synchronisation
- Kombination mit Bulk Edit
🛠️ Admin-Bereich
1️⃣ Einstellungen
- Shop Header Text
- Währungsname (z.B. Coins)
- Bilder Basis-URL
- Daily Deal (% Rabatt)
- Gutscheine auf Sale-Items erlauben / verbieten
2️⃣ Items Verwaltung
Einzelbearbeitung
- Item ID (
minecraft:diamond) - Typ: Minecraft Item | ✈ Fly-Gutschein | 👑 Rang (LuckPerms) | ✈ Fly-Abo | 📦 Plot-Slots (einmalig) | 📦 Plot-Abo (monatlich)
- Preis
- Angebotspreis
- 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 auf Ankauf konfigurieren.
- Items anhaken
- „Massenaktionen" wählen:
- Server zuweisen
- Preis ändern
- Angebot ändern
- Kategorie setzen
- Status ändern
- Ankauf konfigurieren
- Anwenden
- Änderungen speichern
Bei Ankauf konfigurieren siehst du pro Item:
- Checkbox zum Aktivieren/Deaktivieren
- Modus-Auswahl (%, minus, fix)
- Wert-Eingabe
- Live-Vorschau des Ankaufspreises
3️⃣ Weitere Bereiche
📦 Bestellungen
- Bestellungen anzeigen
- Manuell abschließen
- Stornieren
Status:
pending
processing
completed
cancelled
🌐 Server
Beispiel:
lobby
survival
skyblock
Frontend-Filter werden automatisch generiert.
📂 Kategorien
Beispiel:
Blöcke
Waffen
R<>stung
Ranks
🎫 Gutscheine
fixed(Festbetrag)percent(Prozent)- Ablaufdatum
- Nutzungslimit
- Ausschluss bei Angeboten
📊 Top Spender
Automatische Auswertung der Bestellungen.
🎮 Frontend Nutzung
Shortcode:
[ingame_shop_form]
Spieler-Funktionen
- Suche
- Server-Filter
- Kategorie-Tabs
- Warenkorb
- Gutschein-Eingabe
- Server-Validierung beim Checkout
📡 REST API
Basis:
/wp-json/wis/v1/
Bestellung erstellen
POST /wis/v1/order
{
"player": "Name",
"server": "survival",
"cart": [
{ "id": "item_id", "quantity": 1 }
],
"coupon_code": "CODE"
}
Offene Bestellungen abrufen
GET /wis/v1/pending_orders?player=Name
Status ändern
POST /wis/v1/execute_order
POST /wis/v1/complete_order
POST /wis/v1/cancel_order
Gutschein validieren
POST /wis/v1/validate_coupon
Ankauf – Items abrufen
GET /wis/v1/sell_items?server=survival
Antwort:
{
"items": [
{
"item_id": "minecraft:diamond",
"name": "Diamant",
"buy_price": 100,
"sell_price": 80
}
],
"currency": "Coins"
}
Ankauf – Item verkaufen
POST /wis/v1/sell_item
{
"player": "Steve",
"server": "survival",
"item_id": "minecraft:diamond",
"quantity": 5
}
Antwort:
{
"success": true,
"item_name": "Diamant",
"quantity": 5,
"price_per_item": 80.00,
"total": 400.00
}
💾 Datenbank-Struktur
wp_wis_items
| Feld | Beschreibung |
|---|---|
| item_id | minecraft:diamond |
| name | Anzeigename |
| price | Standardpreis |
| offer_price | Angebotspreis |
| is_offer | 0 / 1 |
| 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 |
wp_wis_orders
| Feld | Beschreibung |
|---|---|
| player_name | Minecraft Name |
| server | Zielserver |
| item_title | Zusammenfassung |
| price | Gesamtpreis |
| response | JSON |
| status | pending / processing / completed / cancelled |
wp_wis_coupons
| Feld | Beschreibung |
|---|---|
| code | Gutschein |
| type | fixed / percent |
| value | Rabattwert |
| usage_limit | Limit |
| used_count | Nutzung |
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 |
wis_fly_abos (Spigot MySQL)
| Feld | Beschreibung |
|---|---|
| player_name | Minecraft Name |
| label | Anzeigename des Pakets |
| monthly_price | Monatlicher Beitrag (Vault) |
| cancelled | 0 / 1 – Kündigung vorgemerkt? |
| cancellation_reason | user oder payment_failed |
| next_billing_date | Datum der nächsten Abbuchung (immer 1. des Monats) |
| period_end | Letzter Tag der aktuellen Abo-Periode (Monatsende) |
| granted_at | Aktivierungszeitpunkt |
wis_fly_abo_usage (Spigot MySQL)
| Feld | Beschreibung |
|---|---|
| player_name | Minecraft Name |
| usage_date | Datum (täglich) |
| used_sec | Verbrauchte Sekunden an diesem Tag |
wis_plot_extra_slots (Spigot MySQL)
| Feld | Beschreibung |
|---|---|
| player_name | Minecraft Name |
| extra_slots | Dauerhaft gekaufte Zusatz-Slots |
| last_perm | Zuletzt gesetzter plots.plot.<n> Wert (für sauberes LP-Update) |
| granted_at | Zeitstempel der letzten Vergabe |
wis_plot_abos (Spigot MySQL)
| Feld | Beschreibung |
|---|---|
| player_name | Minecraft Name |
| label | Anzeigename des Pakets |
| abo_slots | Anzahl der Abo-Slots |
| monthly_price | Monatlicher Beitrag (Vault) |
| cancelled | 0 / 1 – Kündigung vorgemerkt? |
| cancellation_reason | user oder payment_failed |
| next_billing_date | Datum der nächsten Abbuchung (immer 1. des Monats) |
| period_end | Letzter Tag der aktuellen Abo-Periode (Monatsende) |
| granted_at | Aktivierungszeitpunkt |
wp_wis_servers
Serverdefinitionen
wp_wis_categories
Kategoriedefinitionen
⚡ Performance Empfehlung
Bei 1500+ PNG-Dateien:
- CDN empfohlen
- PNG verlustfrei komprimieren
- Gitea Caching aktivieren
- Optional WebP-Versionen erstellen
🗿 ArmorStand-Editor (SurvivalPlus)
Übersicht
Der ArmorStand-Editor ermöglicht das vollständige Bearbeiten von ArmorStands direkt ingame – ohne externe Tools.
| Aktion | Beschreibung |
|---|---|
| Shift+Rechtsklick auf einen ArmorStand | Editor öffnen |
| Rechtsklick auf einen ArmorStand | Hinterlegten BungeeCord-Command / Server-Switch ausführen |
| Shift+Linksklick auf einen ArmorStand | ArmorStand löschen |
Benötigte Permissions:
| Permission | Beschreibung | Standard |
|---|---|---|
survivalplus.armorstand.edit |
Editor öffnen, Ausrüstung & Pose bearbeiten | op |
survivalplus.armorstand.destroy |
ArmorStand per Shift+Linksklick löschen | op |
Haupt-GUI
Öffnet sich per Shift+Rechtsklick oder /asedit.
| Slot | Funktion |
|---|---|
| Sichtbarkeit | Sichtbar / Unsichtbar umschalten |
| Arme | Arme ein-/ausblenden |
| Basisplatte | Basisplatte ein-/ausblenden |
| Schwerkraft | Schwerkraft ein-/ausschalten |
| Größe | Normal / Klein umschalten |
| Unverletzlichkeit | Unverletzlich / Verletzlich umschalten |
| Namens-Anzeige | Customname ein-/ausblenden |
| Namen setzen | Namen per Chat eingeben (Farbcodes mit & möglich, remove zum Löschen) |
| Kopf / Körper / Arme / Beine | Pose-Sub-GUI öffnen |
| Ausrüstung | Ausrüstungs-GUI öffnen |
| BungeeCord-Command | BungeeCord-GUI öffnen |
| Pose zurücksetzen | Alle Winkel auf 0° setzen |
| Editor schließen | GUI schließen |
Ausrüstungs-GUI
Öffnet sich über „Ausrüstung" im Haupt-GUI.
Items setzen:
- Shift-Klick auf ein Item im eigenen Inventar → wird automatisch in den richtigen Slot gesetzt (Helm, Brust, Beine, Schuhe, Mainhand)
- Item auf Cursor nehmen (normaler Klick im Inventar) und dann auf einen Ausrüstungs-Slot klicken → setzt das Item; altes Item kommt auf den Cursor zurück
Items entfernen:
- Auf einen besetzten Slot klicken ohne Cursor-Item → Item geht zurück ins Inventar
| Slot | Ausrüstungsplatz |
|---|---|
| 10 | Helm |
| 12 | Brustteil |
| 14 | Beinteil |
| 16 | Schuhe |
| 11 | Mainhand |
| 13 | Offhand |
Automatische Slot-Erkennung beim Shift-Klick:
| Item-Typ | Ziel-Slot |
|---|---|
*_HELMET, *_SKULL, *_HEAD, Kürbis, Spielerkopf |
Helm |
*_CHESTPLATE, Elytra |
Brust |
*_LEGGINGS |
Beine |
*_BOOTS |
Schuhe |
| Alles andere | Mainhand |
Pose-GUI
Öffnet sich für Kopf, Körper, linken Arm, rechten Arm, linkes Bein oder rechtes Bein.
- Rotation auf X-, Y- und Z-Achse je in Schritten von ±5° (fein) oder ±15° (grob)
- Aktueller Winkel wird live angezeigt
- Zurück-Pfeil → Haupt-GUI
BungeeCord-Command-GUI
Öffnet sich über „BungeeCord-Command" im Haupt-GUI.
| Option | Beschreibung |
|---|---|
| Server-Switch | Spieler wird beim Rechtsklick auf den Stand zu einem anderen BungeeCord-Server weitergeleitet. Server-Namen im Chat eingeben (z.B. lobby). |
| Command ausführen | Führt beim Rechtsklick einen Befehl als Spieler aus. Befehl ohne / im Chat eingeben (z.B. spawn). |
| Entfernen | Löscht den hinterlegten Command/Server-Switch. |
Mit
cancelim Chat wird die Eingabe abgebrochen.Server-Switch und Command schließen sich gegenseitig aus – es kann nur eines aktiv sein.
Commands und Server-Switch-Daten werden im Persistent Data Container (PDC) des ArmorStands gespeichert und überleben Server-Neustarts.
Befehle
| Befehl | Beschreibung | Permission |
|---|---|---|
/asedit |
Öffnet den Editor für den nächsten ArmorStand (≤ 5 Blöcke) | survivalplus.armorstand.edit |
/ascommand |
Alias für /asedit |
survivalplus.armorstand.edit |
/showarmorstands [Radius] |
Macht unsichtbare ArmorStands sichtbar | survivalplus.showarmorstands |
/cleardebugarmorstands |
Entfernt alle Debug-ArmorStands | survivalplus.cleardebugarmorstands |
🔐 Sicherheitshinweis
Aktuell sind API-Endpunkte öffentlich (__return_true).
Für Produktion empfohlen:
- API-Key Header
- Bearer Token
- IP Whitelisting
- Nonce/Signature System
Copyright © 2026 - M_Viper - Alle Rechte vorbehalten
Die unbefugte Vervielfältigung, Verbreitung oder Weitergabe dieses Plugins ist strafbar und wird rechtlich verfolgt.