CoreEngineWIKI
ESC
↑ ↓ NavigierenEnter ÖffnenESC Schließen

Chest-Shops

Ein Spieler verwandelt eine einzelne Kiste per Shift+Linksklick mit einem Item in der Hand in einen Shop, das Schild entsteht automatisch. Gehandelt wird ausschließlich über das Schild, die Kiste bleibt für alle außer Besitzer/Team-Verwalter/Admin gesperrt. Jeder Shop ist SELLING (verkauft aus der Kiste) oder BUYING (kauft von Spielern an) und gehört einem Spieler oder einem Team (Geldfluss dann über die Team-Kasse).

Commands #

Commands7
CommandSyntaxPermissionDefaultBeschreibung
/shop info/shop info (Block anvisieren)shop.usetrueBesitzer, Item, Preis, Typ, Bestand, Koordinaten
/shop remove/shop remove (Block anvisieren)shop.usetrueEntfernt den Shop (nur mit Verwaltungsrecht)
/team shop/team shop (Block anvisieren)team.shop + Team-RechttrueWandelt den Shop in einen Team-Shop um
/shop list/shop listshop.adminopAlle Shops mit Typ, Besitzer, Item, Preis, Position
/shop reload/shop reloadshop.adminopLädt Config und Shops neu
/shopedit(internes Menü, Rechtsklick aufs Schild)shop.createtruePreis ändern, Typ wechseln, Shop entfernen
/shopconfirm / /shopcancel(interne Chat-Buttons)shop.usetrueBestätigt/verwirft eine Transaktion

Weitere Permissions #

Permissions6
PermissionDefaultBeschreibung
shop.createtrueShops per Shift+Klick erstellen
shop.bypass.maxshopsfalseUmgeht das persönliche und das Team-Shop-Limit
shop.bypass.selftradeopErlaubt Handel am eigenen Shop
shop.limit.<n>falseIndividuelles Shop-Limit (höchster Wert gilt)
shop.limit.unlimitedfalseKein Shop-Limit
shop.infotrueFremde Shop-Schilder per Rechtsklick lesen (Besitzer, Item, Preis, Bestand)

So läuft ein Handel #

  1. Schild linksklicken, ein Amboss-GUI fragt die Menge ab (beim Verkauf begrenzt durch Spieler-Bestand, Kisten-Platz und Besitzer-Guthaben).
  2. Im Chat erscheinen klickbare [✔ Confirm]/[✘ Cancel]-Buttons (30 Sekunden gültig, general.confirmation-timeout).
  3. Bei Bestätigung wird alles erneut geprüft und atomar gebucht: schlägt ein Teilschritt fehl, werden Geld und Items automatisch zurückgegeben. Passt nicht alles ins Inventar, fallen die restlichen Items vor die Füße (kein Verlust).

Beim Verkauf an einen Ankaufs-Shop (BUYING) zählen und nehmen nur die 36 Inventar-Slots; getragene Rüstung und das Offhand-Item werden nie verkauft. Stirbt ein Käufer zwischen Bestätigung und Übergabe, werden die gekauften Items an seiner Todesposition fallen gelassen statt mit dem Todes-Inventar zu verschwinden.

ℹ️

Hinweis: Ändert der Besitzer zwischenzeitlich Preis oder Typ, bricht die Bestätigung automatisch ab. Preis- und Mengeneingaben laufen über Amboss-Fenster (nicht Chat) und verstehen k/M-Suffixe wie 1.5k.

💡

Tipp: Die optionale Steuer (tax-percentage, 0 bis 100) wird niemandem gutgeschrieben, sie ist ein reiner Geld-Sink gegen Inflation. Frisst die Steuer den ganzen Betrag (z. B. Preis 0,01 bei 50 %), ist der Handel trotzdem gültig: der Käufer zahlt, der Besitzer bzw. Verkäufer erhält 0,00.

Rechtsklick aufs eigene Schild öffnet das Edit-Menü: Preis ändern, Typ umschalten und Shop entfernen (die beiden letzten Cooldown-geschützt, cooldown.commands.shopedit). Team-Shops auf BUYING umzustellen braucht zusätzlich das Team-Recht WITHDRAW, denn Ankaufs-Shops geben Team-Geld aus.

Team-Shops (/team shop): braucht Team-Mitgliedschaft mit dem Team-Recht EDIT_TEAM_SHOPS (oder shop.admin). Sie zählen nicht gegen das persönliche Limit, sondern gegen max-shops-per-team. Team-Shops lassen sich nur innerhalb eines Claims erstellen, der dem Team gehört (wie Team-Container).

Schild #

Das Schild wird automatisch gewachst und bei jeder Änderung neu gezeichnet:

Zeile4
ZeileInhaltFarbe
1[Shop]Pink
2Besitzer (Spieler oder Team <Name>)Aqua
3Item-NameGelb
4Sell <Preis> / Buy <Preis> (Kompaktformat wie 10k)Grün wenn verfügbar, sonst Rot

Schutzmechanismen #

Bedrohung8
BedrohungSchutz
DoppelkistenErstellung abgelehnt; nachträgliches Zusammenlegen technisch unmöglich
Abbau von Kiste/SchildNur Besitzer/Team-Verwalter/shop.admin, und selbst die nur schleichend
ExplosionenShop-Kisten und -Schilder sind explosionsfest
KolbenBewegungen mit Shop-Blöcken werden komplett abgebrochen
Wasser/Lava/Feuer/EndermanKönnen Shop-Blöcke nicht ersetzen oder zerstören
HopperKönnen Shop-Kisten weder leeren noch befüllen (hopper-protection)
Unbefugtes ÖffnenKiste öffnet nur für Verwalter, gehandelt wird über das Schild
Team-KistenTeam-beanspruchte Kisten können kein Shop werden

Shops und Claims #

Ein Chest-Shop lässt sich nur in einem Claim anlegen, in dem du bauen darfst: im eigenen Claim, mit Bau-Trust im Claim eines anderen Spielers oder im Team-Claim (require-claim). Nicht nur die Kiste, sondern auch der Block für das Shop-Schild muss auf diesem Land liegen. Das Schild wird automatisch auf eine freie Seite gesetzt, die diese Regel erfüllt; gibt es keine, wird die Erstellung mit "keine freie Seite" abgelehnt. Spieler mit shop.admin dürfen überall Shops anlegen. Verschwindet der Claim (Aufgeben, Admin-Löschung, automatischer Ablauf, Team-Auflösung), werden alle Shops auf der Fläche zu normalen Kisten: Schild weg, Inhalt bleibt. Vor dem Aufgeben nennt dir der Server die Anzahl, im Web-Panel fragt eine Rückfrage nach. Shop-Besitzer, die nicht selbst aufgeben, bekommen eine Nachricht, offline beim nächsten Login. Ein Claim lässt sich nicht so verkleinern, dass Shops außerhalb landen: erst /shop remove, dann Ecke ziehen. Der Claim-Besitzer darf fremde Shops auf seinem Land per /shop remove entfernen, auf Team-Land Mitglieder mit dem Team-Recht EDIT_TEAM_SHOPS; der Shop-Besitzer wird benachrichtigt. Bei einer Übertragung des Claims bleiben die Shops bestehen. Shops, die vor dieser Regel außerhalb von Claims entstanden sind, laufen weiter.

Item-Erkennung #

Ein Shop handelt genau das Item, mit dem er erstellt wurde. Zwei Toleranzen lassen sich einstellen: matching.ignore-cosmetics behandelt ein Item mit Cosmetic-Skin wie das Item darunter (ein Shop, der mit einer geskinnten Spitzhacke angelegt wurde, handelt auch normale), matching.ignore-name-and-lore (Standard false) behandelt umbenannte oder mit Lore versehene Items wie das Grunditem; standardmäßig ist ein umbenanntes Item ein eigenes Item, und der Hover in der Shop-Info zeigt dessen Namen. Nie ignoriert werden Verzauberungen, Haltbarkeit, Trank-Effekte, Container-Inhalte und Custom-Items aus Resource-Packs (Nexo, Carpentary): Ein Shop nimmt also nie etwas Billigeres an, das nur ähnlich aussieht.

Offline-Benachrichtigungen #

Handel an deinen Shops, während du offline warst, wird gesammelt und beim nächsten Login angezeigt (offline-notifications.enabled). max-messages-on-join begrenzt die Einzelzeilen, der Rest wird als Zählung zusammengefasst; Einträge älter als keep-days verfallen ungesehen. Das Geld ist unabhängig davon immer sofort gutgeschrieben.

Konfiguration (modules/shop.yml) #

YAML
# Schaltet das Chest-Shop-Modul ein oder aus.
enabled: true

shop:
  # Standard-Limit pro Spieler. Pro Rang per Permission übersteuern:
  # shop.limit.25 erlaubt 25 Shops, shop.limit.unlimited hebt das Limit auf.
  max-shops-per-player: 10
  # Maximale Shops pro Team (-1 = unbegrenzt). Team-Shops zählen nicht
  # gegen das persönliche Limit.
  max-shops-per-team: 15
  # Shops nur in Claims, in denen der Ersteller bauen darf. Verschwindet
  # der Claim, werden die Shops darin zu normalen Kisten.
  require-claim: true
  # Verhindert, dass Hopper Shop-Kisten leeren oder befüllen.
  hopper-protection: true
  # Erlaubter Preisbereich pro Item. max-price ist hart auf 999000000
  # begrenzt (höhere Werte werden beim Laden gekappt).
  min-price: 0.01
  max-price: 999000000.0
  # Steuer in Prozent auf jede abgeschlossene Transaktion. Der Betrag
  # wird niemandem gutgeschrieben (Geld-Sink). 0 = keine Steuer.
  # Werte außerhalb von 0 bis 100 werden beim Laden begrenzt.
  tax-percentage: 0
  # Spielt Transaktions-Sounds auch für Spieler in der Nähe.
  sound-broadcast: false
  integrations:
    coreprotect:
      # Meldet Transaktionen an CoreProtect (#shop-buy-<spieler>).
      transaction-logging: true
    nexo:
      # Löst Nexo-Item-Namen auf Schildern/Anzeigen auf.
      enabled: true
    carpentary:
      # Löst Carpentary-Item-Namen auf.
      enabled: true

cooldown:
  commands:
    # Sekunden zwischen /shopedit-Aktionen (gegen Spam-Toggling).
    shopedit: 3

Komplette Beispiel-Config #

YAML
enabled: true

shop:
  max-shops-per-player: 5
  max-shops-per-team: 20
  require-claim: true
  hopper-protection: true
  min-price: 1.0
  max-price: 1000000.0
  tax-percentage: 5
  sound-broadcast: true
  integrations:
    coreprotect:
      transaction-logging: true
    nexo:
      enabled: false
    carpentary:
      enabled: false

cooldown:
  commands:
    shopedit: 5