Sueta

MChestShop

1.1.1

ChestShop System für PlotSquared Server. Einfach per Command erstellbar.

·Plugin

Vorraussetzungen:

  • PlotSquared
  • Vault sowie ein kompatibles Economy-Plugin
  • optional: LuckPerms (für FreeShop-Funktion)


Features:

  • Shops einfach über den /chestshop Command erstellbar (Alias: /csh)
  • Transaktionen erfolgen über eine GUI, welche beim Klick auf das Schild geöffnet wird
  • Format der Schilder jederzeit über die config.yml anpassbar mit Unterstützung von Farbcodes sowie Formatierungen
  • Economy-Zeichen über die config.yml anpassbar
  • AdminShops erstellbar (Keine Behälter notwendig, die aufgefüllt/geleert werden müssen und keine Veränderung des Kontostandes vom Besitzer)
  • Grundstücke verkaufbar
  • Items verschenkbar mit einstellbarem Zeitabstand sowie Mindestrang (für diese Funktion wird LuckPerms benötigt)

2025-02-05_21.27.27.png 2025-02-05_21.27.42.png 2025-02-05_21.27.54.png 2025-02-05_21.35.24.png 2025-02-05_21.34.13.png

Permissions:

  • chestshop.admin: Erstellen von AdminShops sowie jegliche Shops auf fremden Grundstücken (Einnahmen/Ausgaben gehen über das Konto vom Grundstücksbesitzer)

Konfiguration (config.yml):

  • prefix: Prefix, der vor allen Nachrichten des Plugins erscheint. Farb- und Hexcodes mit & werden unterstützt.
  • format: Format der Schilder. {Description} steht für die Beschreibung, {Type} für den Shop-Typ und {Price} für den Preis (bei FreeShops der Mindestrang). Farb- und Hexcodes mit & werden unterstützt.

API-Dokumentation:

Einbinden per Maven:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.github.Daniel13850</groupId>
        <artifactId>MChestShop</artifactId>
        <version>1.1.1</version>
        <scope>provided</scope>
    </dependency>
</dependencies>


Informationen eines ChestShops bekommen:

MChestShop api = (MChestShop) Bukkit.getPluginManager().getPlugin("MChestShop");
ChestShopInfo info = api.getChestShopInfo(sign); // Hier das BlockState vom Schild einfügen
if(info == null) {
    // Schild ist kein Shop
} else {
    UUID owner = info.getOwner(); // Owner des Shops
    ChestShopType type = info.getType(); // Typ des Shops (alternativ gibt es die Methoden .isAdminShop(), .isBuyShop(), .isSellShop(), isPlotShop() und .isFreeShop())
    String description = info.getDescription(); // Beschreibung
    Location chest = info.getChestLocation(); // Ort des Containers (außer es ist ein Plot-Verkauf oder ein AdminShop)
    ItemStack item = info.getItem(); // das Item (außer es ist ein Plot-Verkauf)
    Double price = info.getPrice(); // der Preis (oder null wenn es ein FreeShop ist)
    FreeShopInfo freeinfo = info.getFreeShopInfo(); // Informationen über einen FreeShop, oder null wenn es kein FreeShop ist, enthält den Mindestrang sowie den Zeitabstand in Sekunden
}

ChestShop erstellen/aktualisieren:

MChestShop api = (MChestShop) Bukkit.getPluginManager().getPlugin("MChestShop");
api.update(sign, info); // Hier das BlockState vom Schild und das ChestShopInfo Objekt einfügen
// Es kann ein bestehendes ChestShopInfo-Objekt verändert werden oder ein neues ChestShopInfo Object erstellt werden
// Beispiel: new ChestShopInfo(ChestShopType.BUY, chest.getLocation(), item, 50, "Test-Verkauf", null, owner.getUniqueId());
// Das Schild wird automatisch aktualisiert

Similar projects

Plugin →