ItemsAdder
Überblick
Mit ItemsAdder fügst du deinem Server per Resource Pack Custom-Blöcke, -Möbel, -Items, -Pflanzen, -HUDs und -Entities hinzu. Diese Erweiterung macht sie alle in TypeWriter nutzbar. Eine Quest kann Spieler auffordern, ein Custom-Erz abzubauen oder eine eigene Lampe zu platzieren, ein Dialog kann darauf reagieren, dass ein Spieler an deinem Möbelstück sitzt, und ein Criteria kann prüfen, ob der Spieler dein benutzerdefiniertes Schwert hält.
Alles verwendet die Namespaced-ID von ItemsAdder (namespace:id, zum Beispiel my_pack:ruby_ore). Hier wird nichts an Inhalten erstellt: Du definierst Blöcke, Möbel und Items weiterhin in ItemsAdder und verwendest ihre IDs dann in TypeWriter-Entries.
Funktionen
- Block- und Möbel-Events — Trigger, wenn ein Custom-Block oder -Möbelstück abgebaut, platziert oder bedient wird.
- Pre-Place-Event — ein Trigger, der unmittelbar ausgelöst wird, bevor ein Möbelstück gespawnt wird.
- Tod einer Custom-Entity — ein Trigger, wenn ein Spieler eine ItemsAdder-Custom-Entity tötet.
- Zählende Objectives — Custom-Blöcke und -Möbel abbauen oder platzieren als Quest-Objective.
- Item-Inventarwerkzeuge — ItemsAdder-Items geben oder entfernen und auf deren Aufheben, Fallenlassen oder Verbrauchen reagieren.
- Item- und Welt-Facts — gehaltenes Item, Item-Anzahl, Verwendungen und verbleibende Haltbarkeit, angesehener oder betretener Block, angesehenes Möbel.
- Pflanzen- und HUD-Facts — Wachstumsstufe einer Pflanze, ob sie reif ist, und ob ein benanntes HUD sichtbar ist.
- Variablen — IDs und Eigenschaften gehaltener Items, Blöcke und Möbel, Glyphen von Font-Bildern und Registry-Listen, bereit für jeden Text.
- Sound-Entry — verwende eine ItemsAdder-Sound-ID überall dort, wo TypeWriter einen Sound verlangt.
Installation
- Installiere ItemsAdder und lass es sein Resource Pack erzeugen. Diese Erweiterung lädt ohne es nicht.
- Stelle sicher, dass die TypeWriter-Erweiterungen Quest und Basic installiert sind.
- Lade die Erweiterung aus den Stores herunter (siehe die Buttons im Panel oben) und lege die JAR in
plugins/Typewriter/extensions/ab. - Starte den Server neu.
Erste Schritte
Diese Anleitung erstellt eine Quest, die den Spieler auffordert, drei Custom-Erzblöcke abzubauen.
- Erstelle im Web-Panel eine Quest mit der Quest-Erweiterung und einen Fact zum Speichern des Fortschritts (ein permanenter Fact ist eine gute Wahl).
- Füge auf einer Manifest-Seite ein Break Block-Objective hinzu.
- Setze
questauf deine Quest undfactauf den Fortschritts-Fact. Setzeitemauf die Block-ID, zum Beispielmy_pack:ruby_ore, undamountauf3. Lassitemleer, um jeden Custom-Block zu zählen. - Setze
displayauf die Zeile, die im Quest-Tracker angezeigt wird, zum BeispielMine ruby ore. Der Fortschritt(1/3)wird automatisch ergänzt. - Optional: Verknüpfe
onCompletemit einer Sequence, die eine Belohnung vergibt, zum Beispiel mit Give Item unditemIdmy_pack:ruby_pendant. - Publish, starte die Quest und baue den Block ab.
Um einmalig zu reagieren, statt zu zählen, verwende ein Event: Füge einer Sequence-Seite einen On Custom Block Break-Entry hinzu, fülle blockId und verknüpfe seine triggers mit den auszuführenden Entries.
Liste mit der Variable Registry IDs auf, was ItemsAdder geladen hat, oder im Spiel mit den ItemsAdder-Befehlen, und kopiere die exakte Namespaced-ID.
So funktioniert es
Events tragen Daten darüber, was passiert ist. Die ausgelösten Entries können die Block- oder Möbel-ID und deren Position, den verwendeten Klick (bei Block-Interaktion) und das Item in der Hand lesen.
Objectives zählen jede Position pro Spieler einmal. Das erneute Abbauen und Platzieren desselben Blocks an derselben Stelle erhöht den Zähler nicht. Sie zählen nur, solange der Spieler die verknüpfte Quest aktiv hat. Abgebrochene Aktionen (zum Beispiel in einer geschützten Region) zählen nicht und lösen keine Events aus.
Konfiguration
Die Objective-Zeilen im Quest-Tracker werden aus zwei TypeWriter-Snippets aufgebaut, die du in der TypeWriter-Snippets-Datei ändern kannst:
| Snippet | Standard |
|---|---|
advancedQuest.display | <display> <dark_gray>(<gray><current><dark_gray>/<gray><required><dark_gray>) |
advancedQuest.completed | <green>✔</green> <st><display></st> <dark_gray>(<gray><current><dark_gray>/<gray><required><dark_gray>) |
Entries
35 Einträge, aus dem Quellcode der Erweiterung generiert.
Aktionen2
- Itemsadder Give Item ActionGive an ItemsAdder item to the player
- Itemsadder Remove Item ActionRemove an ItemsAdder item from the player
Ereignisse11
- Itemsadder on Item Consume EventTriggers when the player consumes an ItemsAdder item
- Itemsadder on Item Drop EventTriggers when the player drops an ItemsAdder item
- Itemsadder on Item Pickup EventTriggers when the player picks up an ItemsAdder item
- On Custom Entity Death EventTriggers when a custom entity is killed by the player
- On Customblock Break EventTriggers when a custom block is broken
- On Customblock Interact EventTriggers when a custom block is interacted with
- On Customblock Place EventTriggers when a custom block is placed
- On Furniture Break EventTriggers when a furniture is broken
- On Furniture Interact EventTriggers when a furniture is interacted with
- On Furniture Place EventTriggers when a furniture is placed
- On Furniture Pre Place EventTriggers just before a furniture is placed
Ziele4
- Break Customblock ObjectiveAn objective to break blocks
- Break Furniture ObjectiveAn objective to break furniture
- Place Customblock ObjectiveAn objective to place blocks
- Place Furniture ObjectiveAn objective to place furniture
Fakten10
- Itemsadder Crop Age FactGrowth stage of the ItemsAdder crop the player is looking at
- Itemsadder Crop Fully Grown FactWhether the ItemsAdder crop the player is looking at is ripe
- Itemsadder Holding Item FactWhether the player is holding an ItemsAdder item
- Itemsadder HUD Visible FactWhether a named ItemsAdder HUD is visible to the player
- Itemsadder Item Count FactHow many of an ItemsAdder item the player carries
- Itemsadder Item Durability FactCustom durability left on the held ItemsAdder item
- Itemsadder Item Usages FactUses left on the held ItemsAdder item
- Itemsadder Looking at Block FactWhether the player is looking at an ItemsAdder block
- Itemsadder Looking at Furniture FactWhether the player is looking at ItemsAdder furniture
- Itemsadder Standing on Block FactWhether the player is standing on an ItemsAdder block
Variablen7
- Itemsadder Font Image VariableThe characters that render an ItemsAdder font image
- Itemsadder Item in Hand ID VariableThe ItemsAdder ID of the item the player holds
- Itemsadder Item Property VariableA property of the ItemsAdder item the player holds
- Itemsadder Looking at Block ID VariableThe ItemsAdder ID of the block the player is looking at
- Itemsadder Looking at Furniture ID VariableThe ItemsAdder ID of the furniture the player is looking at
- Itemsadder Registry Ids VariableThe list of IDs ItemsAdder has loaded
- Itemsadder Standing on Block ID VariableThe ItemsAdder ID of the block the player stands on
Sounds1
- Itemsadder SoundItemsAdder Sound
Fehlerbehebung
Die Erweiterung erscheint nicht im Panel. ItemsAdder ist nicht installiert oder wurde nicht aktiviert. Jeder Entry ruft die ItemsAdder-API auf, daher lädt die Erweiterung ohne das Plugin nicht.
Ein Event wird nie ausgelöst. Prüfe die ID: Sie muss die vollständige namespace:id sein, nicht nur die ID. Eine leere ID passt auf alles. Hast du location ausgefüllt, passt nur genau diese Blockposition. Events, die ein anderes Plugin abgebrochen hat (zum Beispiel ein Schutz-Plugin), werden ignoriert.
Das Objective bewegt sich nicht. Der Spieler muss die verknüpfte Quest aktiv haben, und am Objective muss ein fact gesetzt sein. Dieselbe Blockposition zählt pro Spieler nur einmal.
Ein Fact liefert immer 0. Das gehaltene Item oder der Block ist kein ItemsAdder-Objekt. Die Facts, die Blöcke ansehen, prüfen nur den ersten Block innerhalb von range Blöcken (standardmäßig 5). Facts zu Verwendungen und Haltbarkeit liefern 0, wenn das Item keine Verwendungen oder keine benutzerdefinierte Haltbarkeit hat.
Die Variable Registry IDs ist leer. ItemsAdder lädt seine Inhalte im Hintergrund. Die Variable liefert nichts, bis ItemsAdder meldet, dass seine Items geladen sind; lies sie also nicht während des Starts.
Give Item gibt nichts. Die itemId ist ItemsAdder unbekannt, daher wird kein Item gebaut und nichts gegeben. Die Action meldet 0 gegeben. Überschüsse, die nicht hineinpassen, werden dem Spieler vor die Füße fallen gelassen, außer dropOverflow ist aus.
Der HUD-Fact ist immer 0. Die HUD-ID muss in ItemsAdder existieren, und der Spieler muss sie haben. ItemsAdder kann HUDs nicht auflisten, daher prüft der Fact nur das von dir genannte.
Verwandte Erweiterungen
- Nexo und Craft Engine — dieselbe Integration für die anderen Plugins für Custom-Inhalte.