Moin, auf den Wunsch von Serial1990 wird hier ein Konzept dargelegt für ein Lagersystem dass eher als "Massenlager" für die 1.0 agieren soll und damit die Community Ideen und Einwände einbringen kann. Aka ohne Serial Anfrage hätte ich hier nix gepostet.
Auch wie gesagt es ist ein erster Entwurf.
Im übrigen, was Serial und Co mit dem Plugin auf SC damit machen, kann ich nicht wissen. Also falls ihr dazu fragen habt, stellt sie nicht mir
Konzept
Code
- Lager mit '[Lager]' auf der Zeile 0 initialisieren.
- Man kann Items vordefinieren, indem man den Materialnamen in Zeile 1 reinschreibt. Bei fehlendem Platz schreibt man in Zeile 2 bzw. 3 weiter.
- Lager mit Anfangsstandartlagerplatz per Config. Erweiterbar in der Gui durch Geld per Lagerplatz.
- Beim klicken auf das gerade erstellte Lager wird das ErstellungsGui aufgerufen. Dort kann ein Item definiert werden, welches man dabei hat.
- Ein Schildlager sollte folgende Eigenschaften haben:
- ID
- Eigentümer
- Lagername
- gelagertes Item
- Material des Gelagerten Items
- Displayname des gelagerten Items
- aktuelle gelagerte Items
- Maximal lagerbare Items
- Erstellungsdatum
- Standort -> Server, Welt, x, y, z
- NumText (Für alle durch ein Numpad geänderten Werte)
- Schild Leuchtfunktion
- ItemHologram
- Ausgabenanzahl Per Rechtsklick (Standartwerte beim Erstellen von der Config nehmen)
- Ausgabenanzahl per Shift-Rechtsklick (Standartwerte beim Erstellen von der Config nehmen)
- Eingabenanzahl per Linksklick (Standartwerte beim Erstellen von der Config nehmen)
- Eingabenanzahl per Shift-Linksklick (Standartwerte beim Erstellen von der Config nehmen)
- Mitglieder (Ausgelagerte Daten in einer weiteren Tabelle)
- Im Gui, folgend genannt LagerGui, werden folgende Buttons und Einstellungsmöglichkeiten möglich sein. (Geordnet nach SettingsLevel):
- BasisLevel:
- Displayitem (Was als Item, wie es ist eingelagert wurde)
- InfoButton (Informationen für das lager. Ebenso welcher externe Spieler auch zugriff darauf hat.)
- SettingsSwicher
- Ausgabe von Items
- Eingabe von Items
- Fortgeschritte
- Erhöhung des Lagerraums
- ZurückSetzten des Lagers, wenn Anzahl der gelagerten Items gleich 0 ist.
- Experte
- Lagername ändern
- Mitglieder hinzufügen/entfernen
- Meister
- Löschung des Lagers, egal wie viele Items drin sind. (Nur mit Shift Klick erreichbar)
- Auf dem Schild des Lagers soll folgendes angezeigt werden:
- Zeile 0: Item Material
- Zeile 1: Linksklick herausnehmbare Menge / Shift-Linksklick herausnehmbare Menge
- Zeile 2: Rechtsklick hineinbare Menge / Shift-Rechtsklick hineinbare Menge
- Zeile 3: Momentaner Lagerstand
- Fernlagerzugriffeingabe per Befehl (bspw. /lagerverteiler) durch ein Gui welches aufgeht.
Beim Schließen werden alle Item, die man hineingibt, verteilt.
Alle NICHT verteilten Item droppen in der Welt an deiner letzten Position. Mit Aufrufcooldown und eventuellen einstellbaren Kosten per Config.
Sowie einstellbaren Permission wieviel auf einmal eingelagert werden kann. (x * 9 Slots, bis maximal 54 Slot oder 1 Doppelkiste)
- Fernlagerzugriffausgabe per Befehl (bspw. /lagerausgabe [Item] [Anzahl Stacks]).
Permission regelt in welchen Distanzen diese ausführbar ist. Bspw. Innerhalb von xyz oder innerhalb von Welt oder innerhalb des Server oder allen server.
- Per Schild eine Kopierfunktion einbauen:
- Zeile 0: [Lager]
- Zeile 1: [Copy]
- Zeile 2: LagerID
Übernommen werden alle Werte, außer die aktuellen gelagerten Items und die Maximale möglichen zu lagerenden items. Somit wird ein neues Lager erstellt.
- Per Schild eine Repositionierung einbauen:
- Zeile 0: [Lager]
- Zeile 1: [Move]
- Zeile 2: LagerID
Bewegt das Lager auf die Position des Schildes. Übernommen wird somit alles.
- WorldGuard Flag miteinbauen, um Erstellungen von Lagern zu verhindern/erlauben. Default erlaubt.
- CleanUpTask für Spieler die X Tage nicht online waren. Default 365 Tage.
- ToggleBefehl um Lagerschilder direkt beim abbauen zu löschen (Admin)
- MySQL oder SQLite anbieten
Eventuelle Zusatzbefehle:
- /lager bestand [itemname] = Auswertung: Stone 1235 Items
- /lager give [itemname] [summe] or [inv=Inventarvoll]
Display More