Changelog
Versionshinweise zu den öffentlichen BTC-Studio-Erweiterungen. Jede Version nennt die Erweiterung, ihre Version und was sich für Serverbetreiber geändert hat, die neueste zuerst, mit einem Link zum Release und zur Dokumentation der Erweiterung.
Kostenpflichtige Erweiterungen verlinken nur auf ihre Dokumentation; ihre Downloads bleiben im Store. Private Erweiterungen sind hier nicht aufgeführt.
2026-10-16
Dungeon v1.2
Jede Änderung steht im Dungeon-Changelog. Für einen bestehenden Dungeon ändert sich nichts, bis er eines der neuen Felder nutzt.
- Erfordert GUI (OmniGUI) 0.20: Die Dungeon-Bestenliste nutzt die Leaderboard-Source von GUI 0.20 und lädt mit einem älteren GUI nicht. Aktualisiere zuerst GUI.
- Geteilte Beute: neuer Entry Dungeon Loot Table, genutzt von Truhen (
lootTableRef) und Mobs (lootTable). Eine Truhe würfelt sie einmal beim ersten Öffnen, ein Mob bei seinem Tod. - Mehr Truhen:
additionalLocationssetzt mehrere Truhen aus einem Dungeon-Loot-Chest-Entry (in einem generierten Dungeon ignoriert). Loot Chest Trigger erhältparticleEffectmit getrennten X-, Y- und Z-Achsen. - Wellen und Skalierung: Dungeon Mob Spawn erhält
waves,maxSimultaneous, Skalierung mit der Spielerzahl (perExtraPlayer,maxCount,playerCountSource),spawnParticleund die TriggeronWaveClearedundonCleared. Neues Event On Dungeon Mobs Cleared, um eine Tür zu öffnen oder eine Truhe erscheinen zu lassen, sobald alle Mobs besiegt sind. - Einschränkungen: neuer Entry Dungeon Restrictions (Elytra, Boot oder Lore, Enderperle, Chorusfrucht, Riptide, gesperrte Befehle, Ablehnungsnachricht, Bypass-Berechtigung) mit
gameMode,limitInteractions(erlaubte Interaktionen, geschützte Entitäten) undmessageRepeatDelay. Riptide und Chorusfrucht werden beim Klick verweigert. Nur die Bypass-Berechtigung nimmt einen Spieler aus: Ein Operator hat sie, solange der Node nicht auffalsesteht. - Statistiken: 22 Statistiken pro Spieler, pro Artifact gezählt und mit einer Summe über mehrere Artifacts: verursachter und erlittener Schaden (nur wirklich verlorenes Leben), Kills, geleerte Wellen und Räume, Spielzeit, Tode, Rekorde...
statsMobScopewählt die gezählten Mobs. Ein Tod, der den Spieler aus dem Durchlauf wirft, zählt nicht mehr alsruns_left. Neuer Factdungeon_stat; Placeholderdungeon_stat_<key>[_raw],dungeon_total_<key>unddungeon_inst_<id>_<key>; Snippetscontent.dungeon_stats.duration_formatundcontent.dungeon_stats.missing_value. - Bestenliste: neuer Entry
dungeon_leaderboard_source(LIFETIMEoderCURRENT_RUN,rankBy,values,durationFormat,decimals) zum Einstecken in das Feldsourceeiner GUI-Bestenliste. - Wiederverbindung:
reconnectGrace(standardmäßig 2 Minuten). Ein getrenntes Mitglied behält seinen Platz und macht dort weiter, wo es war (Sidebar, ausgeblendete Slots, Spielmodus). Danach verlässt es den Durchlauf und kehrt beim nächsten Beitritt zu seinem Einstiegspunkt zurück. - MMOProfiles: Die Rückkehr zum Einstiegspunkt und der ursprüngliche Spielmodus werden nach der Profilwahl erneut angewendet.
- Menüs: Die Slot-Felder von Dungeon Category
unlockedLoreundlockedLoreheißen jetztunlockLoreundlockLore. Alte Seiten werden weiterhin gelesen; der neue Schlüssel gewinnt, wenn beide vorhanden sind. - API-Bruch für Addons:
DungeonArtifactData,DungeonStatsundPlayerDungeonStatsliegen jetzt im Packagebtcrenaud.dungeons.core, undDungeonArtifactEntry.getPlayerStatsundupdatehaben eine neue Signatur. Ein Addon, das gegen Dungeon 1.1.x kompiliert wurde, muss neu kompiliert werden.
GUI v0.20
- Beute zurückgeben:
dropOnClosebei einem simple-Layout gibt beim Schließen des Menüs zurück, was der Spieler nicht genommen oder dort hineingelegt hat.closeDeliverywähltGIVE_OR_DROP(Standard: ins Inventar, der Rest vor die Füße) oderDROP. Standardmäßig aus. - Zufällige Items:
rollPerSlotwürfelt ein zufälliges Item pro wiederholtem Slot statt einmal für alle, und das neueliveItemwürfelt es bei jeder Aktualisierung neu. - Leerer Name wird ignoriert: Ein Item mit leerem Namen behält seinen eigenen Namen, statt ohne Namen angezeigt zu werden.
- Bestenlisten-Zeilen aus einer anderen Erweiterung: neues Feld
sourcebeigui_leaderboard. Die Zeilen stammen aus einem Source-Entry, für alle Spieler, online oder nicht, etwa dem von Dungeon. Die Zeilentexte akzeptieren{score},{score_raw}und{value_<key>}. Die Texte einer Source sind Klartext: Ein Name, der wie ein MiniMessage-Tag aussieht, etwa<red>, ändert die Reihenfolge nicht mehr.
MythicMobs v0.12
- Mobs, die nur für bestimmte Spieler sichtbar sind:
spawn_mythicmobs_mobundmythic_spawnerhaben ein neues FeldvisibilityCriteria. Der Mob ist nur für die Spieler sichtbar, anvisierbar und verwundbar, die die Criteria erfüllen, laufend neu geprüft (visibilityRefreshInterval, standardmäßig 1 Sekunde). EinevisibilityGroupwird jetzt live verfolgt, statt beim Spawn eingefroren zu werden. collidable(spawn_mythicmobs_mob,mythic_spawner, Standardtrue):falseentfernt Kollision und Schieben für alle.- Aufgeben:
spawn_mythicmobs_mobhat neue FelderabandonRangeundabandonDelay. Der Mob wird entfernt, wenn kein berechtigter Spieler während der Verzögerung in Reichweite bleibt (abandonRange0= aus). Der Web-Editor füllt neue Dauern mit 1 Sekunde vor: PrüfeabandonDelay. despawn_mythicmobs_mob: neues Feldscope,ALL(Standard, wie bisher) oderVISIBLE_TO_PLAYER(nur die Mobs, die der Spieler sieht).- Schutz: Aller Schaden im Zusammenhang mit einem eingeschränkten Mob (Nahkampf, Projektile, MythicMobs-Skills, Feuer) wird gegenüber nicht berechtigten Spielern blockiert, und umgekehrt. Projektile fliegen hindurch, und der Mob lässt ein nicht berechtigtes Ziel fallen.
- MythicMobs-Bedingung
typewritervisible(Aliastwvisible): Füge sie Skills ohne Schaden (Trank, Wurf...) hinzu, im Targeter (conditions=[ - twvisible true ]) oder alsTargetCondition, damit sie Spieler überspringen, die den Mob nicht sehen können. Die Extension führt beim Start einmal/mm reloadaus, wenn deine MythicMobs-Dateien sie verwenden. - Ein Mob, dessen Quell-Entry gelöscht wird, bleibt für alle ausgeblendet.
- Grenzen: Die Kollision ist alles oder nichts; Skills ohne Schaden werden ohne
twvisiblenicht gefiltert; Sounds und Partikel weit vom Mob entfernt werden nicht ausgeblendet.
Shops v1.12
- Neu gegen GUI 0.20 kompiliert, das jetzt erforderlich ist: Die vorherige Version öffnet ihre Menüs mit GUI 0.20 nicht. Sonst ändert sich nichts.
Quest Codex v2.16
- Neu gegen GUI 0.20 kompiliert, das jetzt erforderlich ist: Die vorherige Version öffnet ihre Menüs mit GUI 0.20 nicht. Sonst ändert sich nichts.
Corpse v0.7
- Neu gegen GUI 0.20 kompiliert, das jetzt erforderlich ist: Die vorherige Version öffnet ihre Menüs mit GUI 0.20 nicht. Sonst ändert sich nichts.
Numerical Storage v0.15
- Neu gegen GUI 0.20 kompiliert, das jetzt erforderlich ist: Die vorherige Version öffnet ihre Menüs mit GUI 0.20 nicht. Sonst ändert sich nichts.
2026-10-12
Dungeon v1.1.1
- Paper 26.x,
WORLD_PER_RUN: Ein Durchlauf konnte mitThe server did not create world 'dungeon_classic_...'fehlschlagen. Die Kopie der Vorlage behielt deren Welt-ID (data/paper/metadata.dat), sodass der Server sie als Duplikat ablehnte. Die Kopie erhält jetzt eine eigene ID.
Dokumentation · Dungeon-Changelog
2026-10-08
Dungeon v1.1
Ein vollständiger Umbau rund um Runs: isolierte Welten, generierte Dungeons, NPCs pro Run und Vanilla-Mobs. Lies vor dem Update von 0.10 den Migrationshinweis; jede Änderung ist im Dungeon-Changelog aufgeführt.
- Runs: Jeder Run hat seinen eigenen Zustand und sein eigenes Journal. Das Starten eines Runs gilt ganz oder gar nicht, und die Eintrittskosten werden erstattet, wenn er fehlschlägt.
/tw reloadund Publish übernehmen laufende Runs, statt sie zu beenden. - Isolation: drei Modi pro Dungeon (
SLIME_CLONE,WORLD_PER_RUN,SHARED_WORLD_SLOTS) oderAUTO. - Generierte Dungeons: Raumvorlagen, Verbinder, Pools, Generatoren und Affixe, mit einem Editor im Spiel für Türen und Marker.
- NPCs und Mobs: NPCs pro Run aus jeder Entity-Definition, nur für die Mitglieder des Runs sichtbar; Vanilla-Kampfmobs, die einmal pro Run gespawnt werden, mit einer Obergrenze für lebende Mobs.
- Texte: Jeder Spielertext ist ein bearbeitbares Snippet. Nur Paper.
- Befehlsantworten: Jede Antwort der
/tw dungeon-Befehle, auch die der Admin-Befehle, ist ein anpassbares Snippet (content.dungeon_command.). - Statistiken: pro MMOProfiles-Profil gespeichert, wenn dieses Plugin installiert ist, sonst pro Spieler.
- Paper-26.x-Welten: Nach Art von Paper 26.x abgelegte Welten (
dimensions/minecraft/<name>) werden fürSHARED_WORLD_SLOTSgefunden und fürWORLD_PER_RUNkopiert.
MythicMobs NPC v5.0
- NPCs in Dungeons: Bei deaktiviertem
tickingwird ein von Dungeon 1.0 platzierter NPC nur den Mitgliedern seines Runs angezeigt, und ein Klick löst eine Interaktion für den richtigen Spieler aus. - Bone Visibility Data und Attachment Data werden jetzt auf das NPC-Modell angewendet, mit
tickingan oder aus, und erneut nach jedem Respawn. - Play Animation:
forcestoppt jetzt die anderen von der Aktion auf diesem NPC gestarteten Animationen; einespeedvon 0 oder weniger läuft mit normaler Geschwindigkeit. - MythicMob Skill Objective:
skillNamefunktioniert jetzt über die MythicMobs-MechaniktypewriterSkill{name=..}(Aliastwskill), die dem Skill hinzugefügt und mit/mm reloadübernommen wird. Der Fortschritt wird infactgespeichert, und der bisherige Fortschritt wird automatisch migriert. Die Mechanik übersteht ein Publish aus dem Web-Editor; nach einem vollständigen Stopp und Start von Typewriter fordert die Konsole/mm reloadan. - Loot-Ziel: Die Item- und Mob-Namen des Loots sind mit ihren Farben lesbar (zuvor waren es technische Texte), und das Abschlusszeichen ✔ entspricht dem der anderen Ziel-Erweiterungen.
MMOItems v2.4
- Advanced Tooltip Config:
overrideDefaultLorewird jetzt gelesen. Ist es aus, ist das System deaktiviert oder fehlt der Eintrag, wird der gesamte MMOItems-Lore auf einer Seite angezeigt, ohne Seitenwechsel und ohne Vergleich. - Lore-Tags: Die Tags des MMOItems-Lore-Formats (
<page_break>,<category_image>,<pagination_indicator>,<comparison_indicator>,<requirement_met>,<requirement_not_met>,<total_pages>,<current_page>,<comparison_value>,<comparison_sign>) werden jetzt immer ersetzt oder entfernt, sodass Spieler sie nicht mehr als Rohtext sehen. - Kreativmodus: Seitenwechsel und erweiterter Lore gelten nur im Überlebens- und Abenteuermodus. Im Kreativmodus bleibt der MMOItems-Lore unverändert (Tags eingeschlossen), weil der Kreativ-Client Items so zurückschickt, wie er sie anzeigt, und ein umgeschriebener Lore das echte Item verändern würde.
- Die Felder des Eintrags starten mit funktionierenden Werten, wenn der Eintrag im Web-Editor erstellt wird (
isEnabled,overrideDefaultLoreundenableComparisonTagsan,paginationKeybindSWAP_OFFHAND,comparisonKeybindSNEAK,statsStartOnPage2, Standardsymbole und -hinweise).
Shops v1.11
perPlayergibt jetzt jedem Spieler seinen eigenen Bestand jedes Items; ein Reset füllt den Bestand aller wieder auf. Limits behalten ihren eigenen Geltungsbereich.defaultRefreshTicksund dasrefreshTicksdes Items zeichnen einen geöffneten Shop neu, wenn sich der angezeigte Bestand ändert (nur bei endlichen Beständen;0beim Shop bedeutet keine automatische Prüfung).- Das
guiSlotdes Items fixiert ein Item auf einem festen Slot des Inhaltsbereichs auf jeder Seite; ein Item, das nicht platziert werden kann, wird in eine freie Zelle verschoben oder in der Konsole gemeldet. - Ist
sellAllEnableddeaktiviert, wird die Aktion „Alles verkaufen“ jetzt mitcannotSellMessageabgelehnt. - Befehlsantworten, Trend-Icons, Limited-/Unlimited-Lore, Preiszeilen, Standardnamen, der Text ohne Preis und das Dauerformat sind jetzt anpassbar; der Tag im Standard-Cooldown wird
dgeschrieben (vorherj).
GUI v0.19
audioDefaultsingui_settingsgilt jetzt als Fallback: Ein leer gelassener Sound bei einer Open-GUI-Aktion wird daraus übernommen, Sound für Sound.- Scrollbare Layouts erhalten Standardpfeile, solange
showDefaultButtonsaktiviert ist (Standard): einen pro Richtung ohnebuttons-Eintrag, nur angezeigt, wenn der Inhalt in diese Richtung scrollen kann, und nie auf einer belegten Zelle. Bestehende scrollbare Menüs erhalten Pfeile; setzeshowDefaultButtonsauf false, um sie wie bisher zu belassen. - Neues Feld
defaultStepbei scrollbaren Layouts und neue ListescrollArrowsingui_settings(direction, item, name, x, y), um die Standardpfeile zu ändern. - Neues
textsingui_settings: Die Buttons Confirm und Cancel sowie die Fortschrittszeile des Speichers sind anpassbar. „Confirmer“ wird zu „Confirm“. Das Trennzeichen der Brotkrümelnavigation, das fehlerhaft angezeigt wurde, ist repariert.
Quest Codex v2.15
- Die Berechtigung
typewriter.codex.openwird jetzt von der Erweiterung deklariert, standardmäßig nur für Operatoren, sodass sie in Berechtigungs-Plugins wie LuckPerms erscheint. - Die Navigationsbeschriftungen, Sortierbeschriftungen, Standard-Menütitel und die Nachricht für eine unbekannte Kategorie sind anpassbar (
navLabels,sortTexts,mainMenuTitle,trackedQuestsTitle,unknownCategoryMessage).
Vote System v0.9
- Vote Config wird jetzt gelesen:
cooldownSecondsüber 0 lässt einen Spieler nach so vielen Sekunden erneut abstimmen (die Zähler sind kumulativ), unddebugprotokolliert akzeptierte und abgelehnte Stimmen. - Vor der Einführung des Cooldowns gespeicherte Stimmen werden auf den ersten Kontakt nach dem Update datiert, ihr Cooldown beginnt also dann.
- Die Antworten der
/tw vote-Befehle sind anpassbare Snippets (content.vote.). - MiniMessage-Farben: Die Nachricht bei geschlossener Umfrage, das neue
blockedMessageund die beiden Texte von Vote Message werden jetzt als MiniMessage gelesen, mit aufgelösten Platzhaltern (die Tags wurden zuvor unverändert angezeigt). Die Standardantworten der Befehle sind farbig. - Eine abgelehnte Stimme wird wirklich abgelehnt:
triggersundmodifiersvon Vote Action laufen nur, wenn die Stimme erfasst wird; eine Ablehnung zeigt nicht mehr die Annahmenachricht, und nichts wird doppelt ausgelöst. Eine Ablehnung zeigtclosedMessage(nach dem Enddatum) oder das neueblockedMessage(vor Ablauf der Wartezeit) und löst die neuenrefusedTriggersaus. Jede Ablehnung wird protokolliert, wenndebugaktiv ist. - Neue Platzhalter
vote_has_voted_<id>undvote_closed_<id>(1oder0) sowievote_remaining_<id>(Sekunden bis zum Enddatum,0ohne Enddatum).
Discord v0.13
- Die
triggerseines Webhook Fact Event laufen jetzt nach der Veröffentlichung eines Webhooks, für den Spieler, dessen Fact-Änderung veröffentlicht wurde. - Neues
triggerCooldownSeconds(Standard1) bei Webhook Fact Event: ein Schleifenschutz zwischen zwei Auslösungen vontriggersfür denselben Spieler;0deaktiviert ihn.
Custom Biome v0.9
- Explore Biome Objective funktioniert jetzt:
biomesundrequireAllwerden gelesen, wenn ein Spieler ein Biom betritt, und das neue Feldtriggersführt Entries aus, wenn das Ziel abgeschlossen und aktiv ist. Das Ziel erfasst die Entdeckung selbst; ein Enter Biome Event ist nicht nötig. - Die Antworten der
/tw biome-Befehle und der Textunknownder Biom-Platzhalter sind anpassbare Snippets (content.custombiome.). - Paper 26.3: Custom Biomes werden wieder registriert; unter 26.3 ließen sie sich nicht laden (Live-Injektion und Datapack-Fallback).
Numerical Storage v0.14
optionalButtonsdes Menüs und jedes Untermenüs werden jetzt gezeichnet: reine Anzeige-Items auf ihrenslots, die ersetzen, was das Layout im selben Slot platziert.profileModenutzt jetzt MMOProfiles: ein Guthaben pro MMOProfiles-Profil. Ohne MMOProfiles ist es das Guthaben des Spielers. Mit MMOProfiles und ohne aktives Profil (Profilauswahl oder nach/mmoprofiles quit) wird 0 angezeigt, und Schreibvorgänge werden abgelehnt: Admin-Befehle und Menüaktionen antworten mit dem anpassbarennoActiveProfileMessage(inadminMessages) und schreiben nichts. Die Zinsen eines Profils werden bei dessen Auswahl abgerechnet.- Die Antworten der Admin-Befehle sind anpassbar (
adminMessages); die Platzhaltertexte und das Dauerformat sind Snippets (numericalstorage.placeholder.,numericalstorage.duration.). - Platzhalter laden den Speicher beim Beitritt, sodass sie das gespeicherte Guthaben statt eines leeren anzeigen, solange der Cache kalt ist.
- Platzhalter und der Level-Upgrade-Button folgen jetzt
profileMode;/tw ns add/removebeantworten einen ungültigen Betrag oder ein fehlendes Artifact mit bearbeitbaren Nachrichten.
Puzzle v0.6
isSharedteilt jetzt den Fortschritt einer Gruppe (der Gruppe des Puzzle-fact): Die erste Lösung zählt für die Gruppe, der Fact wird einmal gesetzt, und jedes Mitglied erhält die Abschlussnachricht,onCompleteund den Kettenschritt einmal (ein abwesendes Mitglied erhält sie bei seiner Rückkehr).- Ein Spieler erhält den Abschluss eines Puzzles höchstens einmal, auch bei einem Gruppenwechsel, bis ein Admin-Reset ihn betrifft.
/typewriter puzzle admin reset <player> <id>öffnet ein geteiltes Puzzle für die ganze Gruppe erneut. - Ein Puzzle Artifact ist jetzt für geteilte Puzzles erforderlich: Ohne es zahlt ein Neustart den Abschluss erneut aus, und der Wechsel zu einem älteren Build verliert den geteilten Eintrag.
- Spielertexte und Befehlsantworten sind anpassbar: Die Nachrichten jedes Rätsels und des Puzzle Menu sind Eintragsfelder, die Antworten von
/tw puzzlesind Snippets (content.puzzle.). Texte, die standardmäßig französisch waren, sind jetzt englisch; eine Page, die den französischen Text gespeichert hat, behält ihn. - Behoben, clientseitige Blöcke: Ein gezeichneter Block verschwindet nicht mehr, wenn sein Klick abgebrochen wird. Das Brett wird einen Tick nach jedem abgebrochenen Klick neu gezeichnet (Laser-Grid-Spiegel verschwanden beim Rechtsklick, statt sich zu drehen, Block-Push-Blöcke verschwanden bei einem abgelehnten Schub, ebenso Klicks bei Memory, Pattern, Item Frame und Pedestal).
- Behoben, Block Push: Ein auf seine Startzelle zurückgeschobener Block springt nicht mehr weg und verschwindet nicht mehr, und ein Zielloch wird wieder gezeichnet, sobald ein Block darüber hinweggeschoben wurde. Ein abgelehnter Schub zählt einen Fehlversuch pro Block und Zielzelle, nicht mehr einen pro Klick; wer den Klick gegen eine Wand hält, verbraucht
maxAttemptsnicht. Startzellen in der Welt leer (Luft) lassen.allowPullhat weiterhin keine Wirkung (nicht implementiert). - Behoben, Lever Order: Hebel, die eingeschaltet ruhen, kehren nach falscher Reihenfolge in ihre ursprüngliche Position zurück, und ihr Umlegen ist sichtbar. Ein Klick während des Fehler-Cooldowns erreicht keinen echten Hebel mehr.
- Behoben, gelöste Puzzles: Ein gelöstes Block Push, Combination Lock, Lever Order oder Laser Grid ist inaktiv (kein Brett, keine abgebrochene Interaktion) und schluckt die Klicks auf seine Hebel und Knöpfe nicht mehr, wenn der Spieler wieder in seinem Publikum ist. Ein gelöstes Pedestal schluckt das Aufheben seines Items nicht mehr.
- Laser Grid: Der Strahl wird jetzt durch die Blockmitte gezeichnet und knickt genau auf jedem Spiegel ab (vorher war er versetzt).
beamDensityist die Anzahl Partikel pro Block, und die Eckpunkte werden immer gezeichnet. - Laser Grid,
maxBeamLength: neues Feld, standardmäßig 64 Blöcke (0 oder weniger bedeutet 64, nie unbegrenzt). Ein Spielfeld mit längerem Strahl muss den Wert erhöhen. Der Strahl lädt nie einen Chunk: Er endet am Rand der geladenen Welt. - Combination Lock: Die Ziffern werden ab 0 nummeriert (die erste aufgeführte Position ist Ziffer 0); die Hilfe nennt ein Beispiel. Ein
code-Wert außerhalb der Ziffern schreibt jetzt eine Warnung in die Konsole, statt jeden Druck stillschweigend zu ignorieren.
Corpse v0.6
- Welt-Filter:
allowedWorldsundexcludedWorldsincorpse_settingslegen fest, wo ein Tod eine Leiche hinterlässt. Eine leere Liste der erlaubten Welten bedeutet jede Welt. Platzhalter*und?(dungeon_*), Weltnamen und Dimensionsschlüssel (minecraft:the_nether) werden verstanden, und ein Ausschluss gewinnt immer. Außerhalb der erlaubten Welten bleibt der Tod Vanilla. filteredWorldDeath: In einer vom Filter abgelehnten Welt behältVANILLA_DEATH_SCREEN(Standard) den gewöhnlichen Minecraft-Tod, dessen Leiche und Todesbildschirm vom Client gezeichnet werden, undINSTANT_RESPAWNlässt den Spieler im nächsten Tick ohne Todesbildschirm respawnen. Items und Erfahrung fallen wie in Vanilla. Keine Wirkung, wenn beide Listen leer sind.- Jeder Text ist bearbeitbar: Nachrichten, Menübeschriftungen und -materialien, das Wegpunkt-Format mit seinen acht Richtungspfeilen, die
/corpses-Antworten, der Standardname der Leiche und der Text des Recovery-Objective. Der Name eines Spielers wird maskiert und wird nie zu einem klickbaren Tag. - Neue Einstellungen
interactionReach(6 Blöcke; der Server prüfte die Entfernung eines Klicks nicht),interactionCooldownMillisundunknownWorldLabel. Eine Definition kann auch über den Dimensionsschlüssel gewählt werden, und die Kopfzeile von/corpses listist bearbeitbar./corpses listundcleargelten für den ganzen Server. Neues optionalesoutOfReachMessage(standardmäßig leer: keine Nachricht). - Prüfung auf Item-Verlust und -Duplizierung: Tode, Plündern und Speicherung wurden überprüft; die Korrekturen unten schließen alle gefundenen Verlust- oder Duplizierungswege.
- Behoben, Tode: Ein von einem anderen Plugin abgebrochener Tod (Totem, Wiederbelebung) nimmt dem Spieler die Ausrüstung nicht mehr;
keepInventoryundkeepLevelwerden beachtet (keine Leiche beikeepInventory), und Items, die andere Plugins für den Spieler behalten, werden nicht mehr in die Leiche dupliziert. Kann die Leiche nicht erstellt werden, fallen die Items normal. - Behoben, Plündern: Ein Item bei vollem Inventar zu nehmen dupliziert nicht mehr den Teil, der gepasst hat, und zwei Klicks im Wettlauf um dieselbe Leiche können ihren Inhalt nicht mehr doppelt ausgeben.
- Behoben, Speicherung: Ein Neustart bringt bereits genommene Items nicht mehr zurück, und eine unlesbare oder halb geschriebene Speicherdatei löscht die gespeicherten Leichen nicht mehr. Wiederhergestellte Leichen behalten Pose, Leuchten, Namen und Animation (nicht Skin und Rüstung des Besitzers).
- Respawn-Nachricht, Wegpunkt und Objective verwenden die neueste Leiche, und das Loot-Menü warnt vor dem Öffnen statt nach dem ersten Klick.
MythicMobs v0.11
mythic_spawner.groupwird jetzt gelesen: Nur Mitglieder der Gruppe aktivieren den Spawner,criteriawird auf dieser Gruppe geprüft, und jede Gruppe hat ihre eigene Aufwärmzeit und ihren eigenen Cooldown; der Zustand einer Gruppe wird verworfen, wenn kein Mitglied online ist.- Die Zeile des MythicMob Kill Objective im Quest-Tracker ist über die Snippets
advancedQuest.displayundadvancedQuest.completedanpassbar.
Enchantment Creator v0.11
- Agricultural Harvest liest jetzt das Block-Break-Event und erntet reife Pflanzen um den abgebauten Block (
radiusauf 8 begrenzt), statt den Block, auf den der Spieler schaut. - Agricultural Harvest: neue Felder
particle,particleCount,sound,soundVolumeundsoundPitch. - Was ein Spieler in
/enchantcreator giveeingibt (der Name der Verzauberung), wird in den Antworten wie eingegeben angezeigt und nie als Formatierung gelesen.
TextDisplayDialogue v2.4
- Bearbeitbare Texte: Die 15 Snippets werden jetzt gelesen. Layouts, Sprechernamen, Textzeilen, Hinweise, Optionszeilen und Options-Präfixe der Dialoge Spoken, Option und Player option sowie der Cinematic-Untertitel werden in
plugins/Typewriter/snippetsbearbeitet; die Standardwerte entsprechen der bisherigen Anzeige. - Timer-Platzhalter:
%typewriter_textdisplaydialogue_timer%ist jetzt in PlaceholderAPI registriert und funktioniert auch außerhalb der Dialoge (0, wenn kein Timer läuft). - Zwei weitere bearbeitbare Meldungen:
textdisplay.inventory.blocked(Inventar während eines Dialogs gesperrt) undtextdisplay.error.init(Anzeige konnte nicht starten); ein leeres Snippet blendet die Meldung aus. Die Ursache eines Initialisierungsfehlers geht jetzt nur noch ins Serverprotokoll: Dem Spieler wird kein Ausnahmedetail angezeigt. Der Player-option-Dialog liest außerdemtextdisplay.speaker.formatund die Snippetstextdisplay.option.*(gleiche Standardanzeige). audioProfileentfernt austextdisplay_spoken: Das Feld wurde nie gelesen.- Nur Paper: Folia wird nicht unterstützt.
Aus der Dokumentation entfernt
- BTC Nameplates: in UiCore aufgegangen (gleiche Entries,
/nameplates); alte Seiten leiten auf UiCore weiter. - MMO Profile: aufgegeben, nie veröffentlicht; seine Seiten wurden entfernt.
2026-10-02
MythicMobs NPC v4.9.1
Korrekturen für Interaktionen, Animationen und Cinematics auf Paper 26.x.
- Klicks: Der Rechtsklick funktioniert auf Paper 26.x wieder, und
LEFT_CLICKsowieALLlösen jetzt ebenfalls aus. Ein Klick löst den Dialog genau einmal aus, nie zweimal, und/tw reloadbricht Klicks nicht mehr mit einerNoClassDefFoundErrorab. - Play Animation: Eine Aktion mit leerer Geschwindigkeit lief eingefroren auf ihrem ersten Frame; sie läuft jetzt mit normaler Geschwindigkeit. Sie funktioniert außerdem bei NPCs mit deaktiviertem
ticking, läuft über den Idle-, Geh- und MythicMobs-Skill-Animationen und wartet auf das Modell, wenn es noch nicht geladen ist. - Cinematics in einer anderen Welt: Der NPC einer Entity-Cinematic blieb in der vorherigen Welt des Spielers und erschien daher erst nach mehreren Starts. Er erscheint jetzt schon beim ersten Start, mit seiner Animation.
- Bewegung in Cinematics: flüssigeres Gehen, kein Hin- und Herwechseln zwischen Idle und Gehen mehr und kein ModelEngine-Flackern aus nächster Nähe mehr.
- Aufräumen: Unsichtbare NPC-Träger sammeln sich nach Cinematics nicht mehr in der Welt an.
CraftEngine v1.1
- Quest-Zonen-Zielgruppe:
dispose()leert immer seinen Zustand und setzt das Dispose-Flag zurück, sodass ein/tw reloadkeinen Listener mehr hinterlässt, der den vorherigen Extension-Classloader festhält.
2026-09-19
GUI v0.18
- Die Warnung zu überlappenden Slots nennt jetzt
gapund erinnert daran, dass es sich um eine Schrittweite und nicht um einen Abstand handelt:gap: 1bedeutet benachbarte Slots, nicht einen leeren Slot dazwischen. Ein wiederholter Slot, der mit einer zwischen zwei seiner Kopien platzierten Dekoration kollidiert, ist die häufigste Ursache dieser Warnung. - Menüs, die nach der Formel von Quest Codex vor 0.3.0 geschrieben wurden, bei der die angewendete Schrittweite
gap + 1betrug, landen genau hier (siehe Quest Codex v2.14).
Quest Codex v2.14
- Eine nie angekündigte, inkompatible Änderung in Quest Codex 0.3.0 wurde dokumentiert. Bis dahin verwendeten Codex-Marker eine eigene Wiederholungsformel, bei der
gapein Abstand war (Schrittweitegap + 1). Seit 0.3.0 verwenden sie die Formel der GUI-Engine, bei dergapeine Schrittweite ist:count: 3, direction: right, gap: 1ab x=2 ergibt jetzt x=2, 3, 4 statt 2, 4, 6. - Ein vor 0.3.0 geschriebenes Menü platziert seine Marker daher einen Slot auseinander und kann mit der Dekoration dazwischen kollidieren. Um den früheren Abstand wiederherzustellen, verdopple die Schrittweite:
gap: 1wird zugap: 2. Die Semantik der Schrittweite bleibt erhalten. - Indizierte Marker setzen jetzt
gapzusammen mitcountundrepeatYzurück, sodass die Menüvalidierung bei ihnen keine verwaiste Wiederholung mehr meldet. - Gebaut gegen GUI v0.18.
2026-09-14
GUI v0.17
- Ein
gapvon0stapelt nicht mehr jede wiederholte Kopie auf die Ursprungszelle. Der Web-Editor serialisiert ein unberührtesgapals0: EinQUEST_SLOTmitcount: 7unddirection: righterzeugte sieben Marker an derselben Position und eine Warnung „Slot overlap“, die du nie geschrieben hattest.gapwird jetzt wiecountundrepeatYauf mindestens1erzwungen. - Der Fix steckt im gemeinsamen Code für Slot-Wiederholungen, sodass Quest Codex und Shops ihn ohne Neubau erhalten.
Shops v1.10
- Tauschhandel: in Items bezahlte Preise. Der neue
priceMode: ITEMSverkauft einen Artikel gegen ein oder mehrere Items statt gegen Währung.itemPriceam Item listet die Kosten auf (Item plus Menge pro gekaufter Einheit);defaultItemPriceam Shop deckt jedenITEMS-Artikel ab, der keine deklariert. Die Liste des Artikels ersetzt die des Shops, sie wird ihr nie hinzugefügt. - Ein
ITEMS-Artikel ohne Preis an irgendeiner Stelle wird abgelehnt und protokolliert, nie verschenkt. Die Zahlung wird am gesamten Inventar simuliert, bevor etwas entfernt wird, und der Platz für das gekaufte Item wird zuerst geprüft, da es beim Tauschhandel keine Rückerstattung gibt. - Neu:
cannotAffordItemsMessage(Tokens{missing},{amount}) und das Lore-Token{item_price}, eine Zeile pro verlangtem Item. Die Zeilen{buy}und{sell}entfallen bei einem solchen Artikel, und die Platzhalterbuy_price/sell_pricezeigen einen Strich. - „Max. kaufen“ funktioniert bei Tauschhandels-Artikeln. Ein
ITEMS-Artikel kann nicht gegen Währung zurückverkauft werden: Sein Verkaufspreis ist null. - Neu gebaut gegen GUI v0.17.
2026-09-09
Puzzle v0.5
- Behoben:
NoClassDefFoundErrorbeiPuzzleRenderersnach einem Neuladen der Erweiterung. Die Erweiterung registrierte zwei Bukkit-Listener am Engine-Plugin und entfernte sie nie, sodass die alten Instanzen weiter gegen einen geschlossenen Classloader feuerten. Beide werden jetzt beim Herunterfahren der Erweiterung abgemeldet, wodurch sich auch nicht mehr bei jedem Neuladen eine zusätzliche Kopie ansammelt. - Eine bereits geplante visuelle Aktualisierung kann beim Herunterfahren der Erweiterung keinen Klassenladevorgang auf dem toten Loader mehr auslösen.
2026-09-08
Shops v1.9
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
- Gebaut gegen GUI v0.16.
Discord v0.12
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
Companion v0.10
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
Corpse v0.5
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
Custom Biome v0.8
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
InputTracker v0.5
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
Numerical Storage v0.13
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
Puzzle v0.4
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
Vanilla v1.4
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Fortschrittstexte von Objectives (Sammel-, Zähl- und Fact-Prüf-Objectives) werden jetzt mit dem Spieler geparst, sodass Platzhalter darin für diesen Spieler aufgelöst werden.
Vote System v0.8
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
Enchantment Creator v0.10
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Mechanik-Aktionen werden jetzt über den eigenen synchronen Dispatcher von Typewriter statt über den privaten Scheduler-Helfer der Erweiterung eingeplant.
MMO Inventory v0.7
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
MythicMobs v0.10
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
GUI v0.16
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Behoben: Bestenlisten-Zeilen, die den Betrachter beschrieben: Eine Zeile für einen platzierten Spieler löst die
Vars von Item, Name und Lore jetzt gegen diesen Spieler auf statt gegen den, der das Menü geöffnet hat, sodass nicht mehr jede Zeile die Werte des Betrachters zeigt. Welt-, Gruppen- und Offline-Zeilen fallen auf den Betrachter zurück.
Quest Codex v2.13
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
- Gebaut gegen GUI v0.16.
Tracking v0.11
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-177. - Keine Verhaltensänderung.
2026-09-06
Shops v1.8
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
- Gebaut gegen GUI v0.15.
Discord v0.11
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
Companion v0.9
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
Corpse v0.4
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Das Corpse-Nameplate verwendet jetzt die
CustomNamePropertyder Engine. - Gebaut gegen GUI v0.15.
Custom Biome v0.7
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
InputTracker v0.4
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
Numerical Storage v0.12
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
Puzzle v0.3
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
Vanilla v1.3
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Entity-Aktivitäten (Sichterkennung, Folgen, Umkreisen, Meiden, Hören, Riechen, Patrouillieren und dergleichen) wurden auf den Aktivitäts-Lebenszyklus der 0.9-Engine portiert. Die Entry-Namen bleiben unverändert.
Vote System v0.7
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Inkompatibel: Feld von
vote_actionumbenannt.optionwird durchoptionIndexersetzt, eine einfache Zahl ab 0. Wähle die Option bei jeder bestehendenvote_actionneu aus. - Inkompatibel: Feld von
vote_messageaufgeteilt.messagewird durchnotVotedMessageundalreadyVotedMessageersetzt; lass die zweite leer, wenn Spieler, die bereits abgestimmt haben, keine Nachricht erhalten sollen. vote_dataverwendet jetzt standardmäßigvote_storagealsartifactId: Lege einen festen Namen fest, um Stimmzettel über Neuladevorgänge hinweg zu behalten.- Neue Entries
vote_config(mitdebugundcooldownSeconds),vote_factundvote_cast_eventerscheinen im Editor.
Dialog Menu v0.7
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
Enchantment Creator v0.9
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
MMO Inventory v0.6
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
MythicMobs v0.9
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
GUI v0.15
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
Quest Codex v2.12
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
- Gebaut gegen GUI v0.15.
Protection v1.3
- Veraltet: Dies ist die letzte Version von Protection. Das native Regionssystem von Typewriter ist der Ersatz für neue Installationen.
- Die Erweiterung bleibt für bestehende Server erhalten und erhält keine neuen Funktionen mehr.
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176.
Tracking v0.10
- Neu gebaut gegen die Typewriter-Engine
0.9.0-beta-176. - Keine Verhaltensänderung.
2026-08-29
GUI v0.14
- Fact-Bestenlisten. Die neue Definition
gui_leaderboardreiht Spieler, Welten oder Typewriter-Gruppen nach einem oder mehreren Fact-Werten, dargestellt vom neuen Layoutleaderboardin jedemopen_gui-Pool. Zeilen akzeptieren{rank},{name},{score},{group},{world}und{score_<fact_id>}. - Das neue Artifact
gui_leaderboard_populationhält die zuletzt bekannten Werte von Offline-Spielern, sodass eine Bestenliste mehr als nur die verbundenen Spieler reiht. - Neu:
dropOnClosean Lager-Slots droppt den verbleibenden Inhalt beim Schließen, bei Escape und beim Trennen vor die Füße des Spielers. - Behoben:
temporary-Lager-Slots wurden nie geleert, und ein Shift-Rechtsklick auf ein passendes Cursor-Item nahm etwas heraus, statt einzuzahlen. - Ein leeres
viewPermission/clickPermissionwird nicht mehr als Berechtigung behandelt: Vom Web-Editor gespeicherte, nicht gesetzte Sperren verbargen den Slot oder Tab früher für jeden Nicht-Operator. - Die Startvalidierung kennt jetzt das Layout
leaderboardund meldet einen Rangbereich außerhalb des Inventars.
Quest Codex v2.11
- Neu gebaut gegen GUI v0.14.
Shops v1.7
- Neu gebaut gegen GUI v0.14.
Corpse v0.3
- Neu gebaut gegen GUI v0.14.
Numerical Storage v0.11
- Neu gebaut gegen GUI v0.14.
2026-08-24
Shops v1.6
- Neuer Operator-Befehlsbaum
/tw shop admin: Shop-Auflistung, Prüfung von Definitionen, Steuerung von Spielersitzungen, Reset zur Laufzeit, Bestandsverwaltung direkter Items und Transaktionsverlauf. - Neue Berechtigung
typewriter.shop.admin(nur OP).typewriter.shop.openbleibt standardmäßig für Spieler verfügbar. - Ein manueller Reset teilt das Verhalten des automatischen Resets und berechnet den nächsten geplanten Reset neu.
- Die Registrierung der öffentlichen Befehlsberechtigung wurde korrigiert, sodass Nicht-Operatoren Shops öffnen können.
2026-08-16
Discord v0.10
- Fact-Webhooks. Das neue
webhook_fact_eventveröffentlicht eine Fact-Änderung an jedeswebhook_definition-Ziel, für die Bereiche Spieler, Typewriter-Gruppe und global, mit optionalen Audiences, Wertbedingungen, Nachrichten- und Embed-Vorlagen, Forum-Threads und Rollenerwähnungen. Die Bereiche Gruppe und global entfernen doppelte Callbacks von Spielern, die denselben Fact beobachten. - Die Discord-Verknüpfung ist vollständig optional: Ohne
discord_link_manifestinitialisiert die Erweiterung keine Discord-Bridges mehr und löst keine JDA-Klassen mehr auf. - Ein deaktiviertes oder unvollständiges JDA wird vom Client gemeldet, statt auf dem Server-Thread einen
NoClassDefFoundErrorauszulösen. - Das öffentliche Release enthält jetzt JDA 6.5.0 und seine Laufzeitabhängigkeiten.
2026-08-21
GUI v0.13
- Live-Slot-Items.
itemProviderbaut Item, Name und Lore eines Slots zur Renderzeit neu auf. Die Slots eines Layouts werden einmal geparst, und bei jedem Rendern wird dieselbe Liste zurückgegeben, sodass ein Platzhalter oder ein Countdown in einer Lore einmal aufgelöst und dann eingefroren wurde —autoRefreshTickszeichnete ewig ein identisches Inventar neu. - Nur ein Fenster-Öffnen gleichzeitig.
GuiFactory.open()wird einen Tick später abgeschlossen, bis dahin ist das obere Inventar also noch die vorherige Ansicht, und jedes Rendern entschied sich, erneut zu öffnen. Das zweite Öffnen schloss das erste Fenster, dieses Schließen wurde als echtes Schließen gelesen, und die Sitzung wurde zerstört, während ihr Menü auf dem Bildschirm blieb — jeder Button war dann tot. - Eine Animation mit einer Dauer von
0ist keine Animation mehr. Das Panel stempelt jedem Slot einen Standard-Animationsblock auf, sodass dekorative Items bei Index 0 gezeichnet wurden und das von ihnen geplante erneute Rendern mit dem ausstehenden Öffnen um die Wette lief. - Ein markierter Button behält die eigenen Interaktionen des Autors. Das Ausfüllen von
buttonTypeverwarf früher die gesamte Interaktionsliste, sodass ein Marker, den kein Resolver beanspruchte — falsches Präfix, falsche Schreibweise oder die zuständige Erweiterung auf diesem Bildschirm nicht vorhanden —, zu einem Item wurde, das stumm klickte, ohne Meldung in der Konsole.
Quest Codex v2.10
- Menüs, die sich nicht zeichnen lassen, werden beim Start gemeldet, solange die Konsole noch gelesen wird, statt beim Klick stillschweigend zu scheitern. Jede Meldung nennt die Lösung, nicht das Symptom.
- Einmalige Umwandlung von Pages, die vor dem
open_gui-Grundgerüst erstellt wurden. Der Layout-Pool wanderte auscategory_menuin einen referenziertenopen_gui-Entry, sodass eine nach dem älteren Schema geschriebene Page ein Layout behielt, das die Engine nicht mehr liest: im Panel vollständig konfiguriert, aber ohne Darstellung. - Titel von Advancements durchlaufen die echte Umwandlung von MiniMessage in JSON, sodass in einem Quest-Titel geschriebene Formatierung im daraus erzeugten Advancement erhalten bleibt.
- Erfordert OmniGUI v0.13.
Puzzle v0.2
- Neu:
activationRadiusbei jedem Rätsel, standardmäßig16Blöcke. Ein Rätsel wird nur für einen Spieler gerendert und ausgeführt, der sich in der Welt seiner eigenen Positionen befindet, im Umkreis dieses Radius um eine davon.0deaktiviert nur die Entfernungsprüfung — die Weltprüfung gilt immer. - Behoben: Ein Rätsel wurde in jeder Dimension gezeichnet. Clientseitige Blöcke und Partikel tragen Koordinaten, aber keine Welt, sodass ein in der Oberwelt konfiguriertes Laser-Raster vor dem Spieler im Nether, im End oder in jeder anderen besuchten Welt gemalt wurde.
- Behoben: Ein Rätsel startete, sobald der Spieler seiner Audience beitrat, egal in welcher Entfernung. Eine Memory-Sequenz konnte ihr gesamtes Muster jemandem vorspielen, der tausende Blöcke entfernt oder in einer anderen Welt war. Die Sequenz startet jetzt, wenn der Spieler das Spielfeld erreicht.
- Wegbewegen löscht das Spielfeld auf dem Client und bricht ausstehende Animationen ab. Das Versuchsbudget, der Fehlschlag-Cooldown,
timeLimitundlifespanwerden bei der Ankunft statt beim Beitritt zur Audience aktiviert.
Custom Biome v0.6
- Inkompatibel:
biome_audiencewurde entfernt. Es beantwortete „Befindet sich dieser Spieler in diesem Biom“, indem es das eigene Biom der Welt las, das ein clientseitiges Overlay nie ändert — daher antwortete es für jedes Biom, das diese Erweiterung malt, mit falsch, egal was der Spieler auf dem Bildschirm sah. Keine Konfiguration brachte es zum Laufen. - Zwei Entries ersetzen es:
biome_overlay_audience(trägt dieser Spieler dieses Overlay) undbiome_region_audience(befindet sich dieser Spieler in dieser Region, Welt eingeschlossen). Pages, diebiome_audienceverwenden, müssen auf einen davon umgestellt werden. - Regions-Audiences gleichen neben den Koordinaten auch die Welt ab, sodass eine in einer Welt definierte Region nicht mehr auf dieselben Koordinaten in einer anderen passt.
ignoreYmacht aus einer Region eine unendliche Säule. /tw biome region <entry>füllt die zwei Ecken eines Entries aus deiner aktuellen WorldEdit-Auswahl, statt Koordinaten von Hand einzutippen.- Overlays pro Spieler werden pro Chunk und pro Besitzer verfolgt: Mehrere Overlays können einen Chunk abdecken, eines gewinnt, und das Löschen stellt das echte Biom dieses Chunks wieder her statt der zuletzt gemalten Palette.
Shops v1.5
- Neu gebaut gegen OmniGUI v0.13.
GuiSloterhielt einen ParameteritemProviderzur Renderzeit, was den Konstruktor veränderte, gegen den seine Aufrufer linken, sodass die v1.4-JAR in dem Moment, in dem ein Shop auf der aktualisierten GUI-Engine geöffnet wurde, einenNoSuchMethodErrorwarf — das Inventar erschien nie. - Keine Verhaltensänderung. Die beiden Versionen gehören zusammen: v1.4 kann nicht auf OmniGUI v0.13 laufen, und v1.5 kann nicht auf v0.12 laufen.
Numerical Storage v0.10
- Neu gebaut gegen OmniGUI v0.13, wegen derselben Signaturänderung von
GuiSlot: Die v0.9-JAR warf einenNoSuchMethodError, wenn ein Lagermenü geöffnet wurde, und das Menü erschien nie. - Keine Verhaltensänderung und keine zweite Migration: Speicher im Schema v2 wird genau so zurückgelesen, wie v0.9 ihn geschrieben hat.
Corpse v0.2
- Neu gebaut gegen OmniGUI v0.13, wegen derselben Signaturänderung von
GuiSlot: Die v0.1-JAR warf einenNoSuchMethodError, wenn eine Leiche geplündert wurde, sodass das Beutemenü nie geöffnet wurde und die Leiche mit unerreichbarem Inventar dalag. - Keine Verhaltensänderung. Gespeicherte Leichen, ihre Inventare und ihre Schutzregeln werden wie zuvor zurückgelesen.
2026-08-12
GUI v0.12
- Erweiterte Menüs.
extendToPlayerInventoryanopen_guimacht die eigenen 36 Slots des Spielers zu vier zusätzlichen Menüreihen und ergibt eine Fläche mit 10 Reihen. Die Projektion ist rein clientseitig: Das echte Inventar wird nie beschrieben und beim Schließen des Menüs wiederhergestellt. - Ein Wurzel-Layout, dessen ID auf
_extendedendet, aktiviert diese Projektion von selbst, sodass ein gemeinsames Grundgerüst eine normale und eine erweiterte Variante liefern kann, ohne dass jedes Menü das Flag wiederholt. DynamicMarkerswandelt wiederholte Inhaltsmarker vor dem Parsen in indizierte um (QUEST_SLOT#0,QUEST_SLOT#1, …), sodass Erweiterungen nicht mehr jeweils eine private Kopie dieser Semantik führen.- Die Slot-Wiederholung ist begrenzt und wird gemeldet: Positionen außerhalb des Rasters werden verworfen und protokolliert, mit der Layout-ID und den abgelehnten Koordinaten. Der Editor warnt, wenn
count/gap/repeatYohnedirectiongesetzt sind, und meldet einen Fehler bei einer unbekannten. - Dokumentiert, dass
gapeine Schrittweite ist (1 = benachbart) und dassrepeatYauf der senkrechten Achse zudirectionwiederholt. - Vererbung von
mainLayoutIdkorrigiert: Ein leerer Wert am Kind überstimmte früher den geerbten, sodass eine Page, die ihr gesamtes Grundgerüst erbte, ein nicht existierendes Layout auflöste und leer gerendert wurde — ohne Button, der einen Klick hätte empfangen können. - Das Überdecken von Slots hat einen einzigen Eigentümer: Beanspruchen zwei Slots eine Zelle, gewinnt der mit Verhalten, beim Rendern und beim Klick, und die Kollision wird einmal protokolliert.
- Die Startvalidierung meldet jetzt nur noch, was tatsächlich fehlschlägt. Prüfungen, die das Fehlen optionaler Dinge markierten, wurden entfernt —
frame.view.unresolved,slot.outOfFrame,layout.unreferenced—, weil sie in einer Template-Architektur das Design beschreiben, nicht einen Defekt. Was bleibt, benennt eine geschriebene Absicht, die fehlschlug: eine Ansicht, die auf ein fehlendes Layout verweist, ein Slot, der das Inventar verlässt, zwei Slots gleicher Art, die in einem Layout kollidieren.
Shops v1.4
- Tab-Modus.
baseMenuIdmacht einen Shop zu einem Tab eines gemeinsamen Menüs: Sein Layout-Pool und seine Ansichten werden unter das Grundgerüst gemischt, mitviews,defaultViewIdund einem Inhaltsrechteck (contentX,contentY,contentColumns,contentRows). Bleibt es leer, öffnet sich ein Shop genau wie zuvor. - Unterstützung für erweiterte Grundgerüste: Ein in einer erweiterten Hülle geöffneter Shop erhält jetzt die Fläche mit 10 Reihen.
defaultNameFormatunddefaultLoreFormathinzugefügt. Ein Item ohne Name oder Lore erbt das Format des Shops; ein Item, das seinen eigenen deklariert, behält ihn unangetastet — das Format des Shops füllt Lücken, es überschreibt nie die Formulierung eines Autors.- Beide akzeptieren dieselben Tokens:
{item},{buy},{sell},{stock},{stock_max},{currency}. Eine Lore-Zeile, die einen nicht verfügbaren Preis verlangt, wird verworfen, statt leer gerendert zu werden. ShopTransactionEventhinzugefügt, das nach Abschluss eines Kaufs oder Verkaufs genau einmal ausgelöst wird. Es ist die Schnittstelle, an die sich andere Erweiterungen anschließen — ein Discord-Relay, ein Audit-Log —, ohne dass Shops von ihnen weiß. Angekündigt, nie abbrechbar.notificationWebhookIdhinzugefügt. Shops löst ihn nicht auf und weiß nicht, was ein Webhook ist; die ID reist mit dem Event. Ein Listener, der eine Ausnahme wirft, wird gemeldet, und die Transaktion bleibt bestehen — nichts macht einen bezahlten Kauf rückgängig.- Behoben: Ein Layout, dessen Marker alle entfernt wurden, fiel aus dem Pool: Ein Shop-Bildschirm, der vollständig aus Markern bestand, oder ein noch leerer Tab verschwand lautlos.
Quest Codex v2.9
- Die Aufwertung des erweiterten Grundgerüsts wird jetzt durch Vererbung statt durch eine feste Layout-ID getragen. Ein Grundgerüst, dessen Wurzel anders als
shell_roothieß, verlor früher sein erweitertes Chrome, und jedes im unteren Band verankerte Bedienelement verschwand beim Rendern — und war damit nicht anklickbar. - Die Erweiterung wird gegen die GUI-Engine der Release-Welle gebaut statt gegen eine festgeschriebene ältere JAR. Sie war auf v0.11 der Engine eingefroren, sodass jede spätere Ergänzung für sie unsichtbar war.
Discord v0.9
- Die Erweiterung heißt jetzt Discord, nicht mehr Community. Verzeichnis, Paket und Erweiterungsname folgen. Entry-Namen bleiben unberührt, da Pages sie serialisieren.
DiscordClientServicewurde aus der Link-Funktion in ein eigenes Paket verschoben: Chat-Synchronisierung, Konsole und Fehlerberichte verwenden ihn alle, er gehörte also nie zur Konto-Verknüpfung.- Webhooks sind Entries.
webhook_definitiondeklariert ein Discord-Ziel einmal und wird überall referenziert. Chat-Synchronisierung, Konto-Verknüpfung und Fehlerberichte trugen früher jeweils ihre eigene Kopie von URL, Benutzername und Avatar — ein Kanalwechsel bedeutete, jedes Manifest zu bearbeiten, ohne Garantie, dass alle auf denselben Ort zeigten. WebhookServiceist ein Singleton, den jede Erweiterung injizieren kann. Der HTTP-Client wurde früher von Hand im Initializer gebaut und an jeden Dienst weitergereicht, sodass nichts von außen eine Nachricht zustellen konnte.- Fehlerberichte verloren ihren zweiten Ein/Aus-Schalter: Ein leeres Ziel ist der deaktivierte Zustand.
- Migration. Vor dieser Version geschriebene Pages werden beim ersten Start umgewandelt: ein
webhook_definitionpro eindeutigem Ziel — identisch konfigurierte Manifeste teilen sich einen Entry — und die Manifeste werden darauf umgestellt. Jede umgeschriebene Page wird zuvor unterbackup/community-webhook-v1/gesichert. Die Umwandlung richtet sich nach der Form, nicht nach einer Versionsnummer, sodass ein zweites Ausführen nichts ändert. Ein Manifest, das ausgeschaltet war, behält seine URL an einem deaktivierten Ziel, statt sie zu verlieren. - Shop-Ankündigungen.
shop_notification_manifestbeschreibt, wie eine Shop-Transaktion aussieht, wenn sie Discord erreicht. Das Ziel fehlt darin bewusst — es gehört zum Shop. Eine Darstellung bedient daher jeden Shop, während jeder weiterhin in seinen eigenen Kanal postet. Erfordert die Erweiterung Shops, hängt aber nicht von ihr ab.
Puzzle v0.1
- Erstveröffentlichung.
- Neun Rätseltypen, jeder ein Typewriter-Objective mit eigener Audience, eigenem Fortschritt und eigenen Triggern: Blockschieben, Opfergaben auf einem Podest, Merkfolgen, Hebelreihenfolgen, Musterplatzierung, Item-Frame-Drehungen, Zahlenschlösser, Laser-Raster und kooperative Druckplatten.
- Alles, was ein Rätsel zeichnet, ist clientseitig — Blöcke, Geistervorschauen, Hervorhebungen und Laserstrahlen werden an den Spieler gesendet, der es löst. Zwei Spieler können am selben Spielfeld arbeiten, ohne den Fortschritt des anderen zu sehen, und die Welt wird nie verändert.
- Gemeinsamer Ablauf bei jedem Rätsel:
timeLimit,maxAttempts,cooldownOnFail,resetOnWrong,lifespan, Hinweise und die TriggeronStart/onComplete/onFail/onTimeout/onLifespanExpire. isSharedschaltet ein Rätsel von privatem Fortschritt auf ein Spielfeld um, das die ganze Gruppe gemeinsam voranbringt.puzzle_chainführt mehrere Rätsel der Reihe nach aus und löst aus, sobald die Abfolge gelöst ist;resetOnFailentscheidet, ob ein Fehler den Spieler zum Anfang zurückschickt.puzzle_artifactspeichert den Rätselzustand dauerhaft, sodass ein Neustart mitten in einem Versuch den Fortschritt nicht löscht.puzzle_solved_factundpuzzle_active_factstellen den Fortschritt dem Rest deiner Inhalte bereit;puzzle_menulistet Rätsel und ihren Zustand im Chat auf.- Folia-sicher: Jedes Lesen und Schreiben der Welt läuft in der Region, der das Rätsel gehört.
Corpse v0.1
- Erstveröffentlichung.
- Leichen werden einmal pro Betrachter gerendert, wie die Entity-Displays der Engine selbst, sodass jeder in der Nähe sie sieht, mit Modellanimation und Nameplates, die auf den Backends BetterModel, BTC-Mob-NPC und MythicMobs-NPC ticken.
- Läuft auf Folia: Das gesamte Scheduling läuft über einen Folia-fähigen Scheduler, und Item-Drops, Erfahrungsorbs und Partikel laufen in der Region, der die Leiche gehört.
- Das Inventar, das eine Leiche hält, übersteht einen Neustart, einen Absturz oder ein Neuladen. Leichen werden in MySQL gespeichert, sofern verfügbar, sonst im Plugin-Ordner, und beim Start wiederhergestellt.
onlyOwnerCanLootwird durchgesetzt, und das Plündern wird mit der eigenen Entity-ID der Leiche abgeglichen statt mit einem beliebigen Rechtsklick innerhalb von vier Blöcken.- Eine Leichen-Definition wird pro Tod nach Welt und Priorität gewählt, und ihre Lebensdauer wird einmalig an dieser Leiche aufgelöst.
- Die Events
on_corpse_spawn,on_corpse_lootundon_corpse_expirelaufen durch die Trigger-Pipeline der Engine und veröffentlichen Besitzer, Beute und Position der Leiche als Kontext. displayName,showDisplayName,dropOnInteract,renderArmor,playDeathAnimationunddeathAnimationNamewerden alle berücksichtigt, und die meisten Einstellungen sind dynamische Werte, sodass sie von Platzhaltern und Facts gesteuert werden können.- Eine clientseitig gerenderte Leuchtkontur mit konfigurierbarer Farbe und Leichen-Sounds, die pro Spieler in der Nähe statt weltweit gesendet werden.
- Die Facts
has_corpseundcorpse_count, die Audiencecorpse_owner_audience,corpse_waypoint, der Entfernung und Richtung zur eigenen Leiche des Spielers zeigt,corpse_recovery_objectiveundcorpse_admin_commandmit den Unterbefehlenlistundclear. - Ein Beuteschutz-Zeitfenster, nach dem sich eine Leiche für alle öffnet.
- Das Beutemenü ist ein Menü der GUI-Erweiterung statt eines bloßen Inventars mit eigenem Klick-Listener, sodass es das Klick-Routing, den Menüverlauf und die Projektion des erweiterten Inventars der Engine erbt. Die GUI-Erweiterung ist daher erforderlich.
Custom Biome v0.5
- Benutzerdefinierte Biome existieren sofort. Eine Definition wird im Live-Register registriert, sobald sie gespeichert wird, statt erst nach einem Serverneustart. Das generierte Datapack ist nun die Persistenzebene statt der einzige Weg.
- Behoben: Das generierte Datapack wurde vom Server ignoriert: Sein Pack-Format war auf einen alten Wert fest einprogrammiert, und es wurde in einen Ordner geschrieben, den der Server nie liest.
- Behoben:
baseBiomehatte außer Plains keine Wirkung. Biome werden jetzt aus dem vom Server gehaltenen Basisbiom aufgebaut und mit dessen eigenem Codec kodiert, sodass Mob-Spawns, Features und Carver geerbt statt verloren werden. - Behoben: Biomänderungen rissen Löcher in die Welt: Das Aktualisieren sendete Chunk-Entlade-Pakete, auf die der Server nie ein erneutes Senden folgen ließ. Clients erhalten jetzt ein aus den echten Chunk-Daten aufgebautes Biom-Update.
- Behoben:
leave_biome_eventwurde nie ausgelöst. Die Listener für Betreten und Verlassen überschrieben gegenseitig ihren Zustand, sodass das Ergebnis von der Registrierungsreihenfolge abhing. - Behoben: Das Malen schrieb jeden Block einer Säule statt einen pro 4x4x4-Zelle und tat dies vom aufrufenden Thread aus. Schreibvorgänge werden jetzt in der Region eingeplant, der jeder Chunk gehört.
- Ein Biom, das der Server nicht serialisieren würde, wird jetzt bei der Registrierung abgelehnt, wobei der fehlerhafte Wert benannt wird. Zuvor wurde es akzeptiert und brach danach jeden Spieler-Login.
- Biom-Overlays pro Spieler (
player_biome_overlay_action): zeige einem Spieler ein anderes Biom, ohne die Welt anzufassen oder jemand anderen zu beeinflussen. - Regionsmalen (
paint_biome_region_action) mit Snapshots undrestore_biome_action, um eine Region zurückzusetzen. biome_transition_cinematic: ändere das Biom, das ein Spieler sieht, im Verlauf einer Cinematic.custom_biome_preset: teile Farben und visuelle Attribute zwischen Biomen, pro Definition überschreibbar.explore_biome_objectiveundbiome_discovery_fact: Quests, die durch den Besuch von Biomen abgeschlossen werden.- Jeder lesende Entry erhielt eine Option
source, mit der du wählst zwischen dem, was dem Spieler gezeigt wird, und dem, was die Welt enthält. - Entfernt:
/tw biome setcolor, das Wegwerf-Biome erzeugte, die nie gespeichert wurden, und der Fact-ModusHASH, dessen Wert über Neustarts hinweg nicht stabil war. - Die JAR der Erweiterung schrumpfte von 2,6 MB auf 230 KB: Sie bündelt keine Bibliotheken mehr, die der Server bereits bereitstellt.
Enchantment Creator v0.8
levelModean einer Mechanik vergleichtrunOnLevelals exaktes Level, als Minimum (AT_LEAST) oder als Maximum (AT_MOST). Zuvor war nur ein exakter Treffer möglich.eventPhaseführt die Aktionen einer Mechanik während des aktuellen Bukkit-Events aus, sodass das Abbrechen des Events oder das Ändern des Schadens tatsächlich wirkt. Setze es auf false für eingereihte Typewriter-Interaktionen.clientSideEffectswurde clientbewusst, mit einer Aktionclient_particle_effect: Das benutzerdefinierte BTC-Artifact verwendet den PacketEvents-basierten Renderer, wenn verfügbar, das öffentliche Paper-Artifact einen auf den Spieler begrenzten Bukkit-Fallback.- Registry-Schlüssel werden jetzt aus
idabgeleitet. Der bisherigenamebleibt beim Laden bestehender Pages und Items als Legacy-Alias erhalten, sodass nichts neu erstellt werden muss. - Das öffentliche Artifact trägt bewusst keine Abhängigkeit von BTC-CORE oder BTC Velocity: Es läuft auf Paper 1.21.x mit Java 21, gebaut mit JDK 25 mit Java-21-Bytecode als Ziel.
Numerical Storage v0.9
transactionModein der Transaktionskonfiguration:INTERNALbehält den Pfad über PlaceholderAPI plus Konsolenbefehl bei,VAULTgeht direkt über die Vault-Economy-API und ignoriertamountPlaceholderund die Befehlsfelder.addCommandundremoveCommandwaren verkehrt herum dokumentiert.addCommandschließt eine Einzahlung ins Lager ab und wird vor der persistenten Änderung geprüft;removeCommandschließt eine Abhebung ab.- Die Persistenz ist jetzt asynchron, mit Änderungssperren pro Artifact und einem kurzlebigen Cache, sodass gleichzeitige Einzahlungen nicht mehr miteinander konkurrieren können.
- Lagerdateien wechseln unter einem technischen Artifact-Pfad zur JSON-Schemaversion 2. Eine Legacy-Datei, die auf der alten semantischen
artifactIdberuht, wird unterbackups/numericalstorage/gesichert und beim ersten Zugriff migriert — sichere das Typewriter-Verzeichnisassets/, bevor du aktualisierst. artifactIdist ein generierter technischer Bezeichner: Lass ihn leer, und Typewriter füllt ihn aus.- Platzhalter nehmen ein explizites Definitionsargument entgegen (
%typewriter_ns_balance_bank%), was die alte Mehrdeutigkeit der Unterstrich-Trennung beseitigt, wenn eine Definitions-ID selbst Unterstriche enthält. - Optionale profilbewusste Schlüssel, wenn die Profiles-Integration installiert ist.
2026-08-07
Quest Codex v2.8
- Echte Minecraft-Advancements. Der neue Entry
advancement_definitionschreibt echte Advancements in ein Datapack, das der Erweiterung gehört, sodass sie im Vanilla-Advancement-Bildschirm mit eigenem Tab, eigenem Baum, eigenen Rahmen und Toasts erscheinen.parentverweist auf eine andere Definition, sodass der Baum im Knoteneditor gezeichnet wird. grant_advancementvergibt ein Advancement oder nimmt es zurück und durchläuft die Elternkette, sodass ein Kind nie unter einem nicht erworbenen Elternteil erworben wird.autoGrantlässt ein Advancement im ersten Tick des Spielers erwerben. Bei einer Wurzel gibt das ihrem Tab erst eine Existenz, bevor irgendetwas erworben wurde.- Quest-Reihenfolge korrigiert: Eine verschachtelte Quest liest ihre Reihenfolge aus ihrer eigenen Unterkategorie, Quests ohne explizite Reihenfolge fallen nicht mehr zusammen, und das Hinzufügen einer Quest löscht nicht mehr die Reihenfolge, die sie bereits hatte.
- Quest-Marker werden paginiert, der Sortiermodus gilt pro Spieler, und das Multi-Tracking übersteht eine Wiederverbindung in der vom Spieler gewählten Reihenfolge.
GUI v0.11
- Item-Tooltips, mit einem Schalter
hideVanillaItemStatsam GUI-Konfigurations-Entry. - Ein paginiertes Layout kann über die neue Rolle
INDICATOReine Seitenanzeige tragen. - Menüs werden beim Serverstart validiert: Ein Slot außerhalb der Grenzen, eine fehlende Vorlage oder ein unbekannter Button-Typ wird in der Konsole benannt, bevor ein Spieler das Menü je öffnet.
<shift:N>wird ohne CraftEngine aufgelöst, über die mitgelieferte Magic-Digit-Schrift.countundrepeatYsind als Anzahl der Slot-Wiederholungen dokumentiert, nicht als Stackgrößen.
Shops v1.3
- Ein Shop kann einen Spieler nicht mehr unter null bringen. Drei voneinander unabhängige Wege erlaubten es.
- Ein nicht lesbarer Kontostand wird nicht mehr als null gelesen, und formatierte Kontostände wie
12.5kwerden geparst.
2026-08-03
Quest Codex v2.7
- Waypoint-Anzeigemodi hinzugefügt:
WORLD_DIRECTIONALprojiziert Marker entlang der wahren Richtung ihres Ziels auf eine Kugel um die Augen des Spielers,TARGET_ANCHOREDplatziert sie am Ziel, undADAPTIVEblendet zwischen beiden über.HUD_LOCKEDbleibt der Standard, sodass bestehende Pages unverändert sind. - Konstante scheinbare Größe und winkelbasiertes Entzerren hinzugefügt, damit mehrere Marker lesbar bleiben, wenn ihre Ziele auf einer Sichtlinie liegen.
- Darstellung mehrerer Ziele in einem einzigen Waypoint-Entry hinzugefügt, mit den neuen Auswahlen
ALLundONE_PER_QUESTfür verfolgte Objectives und einer ObergrenzemaxTargets. - Behoben: Multi-Tracking wurde von Waypoints ignoriert: Objectives sekundärer verfolgter Quests wurden nie aufgelöst, sodass nur die primäre Quest einen Marker erzeugte.
quest_codex_locator_barhinzugefügt, das dieselben aufgelösten Ziele als Punkte der Vanilla-Locator-Bar ab Minecraft 1.21.6 darstellt, ohne eine Entity zu spawnen.
2026-08-02
Quest Codex v2.6
- Persistente Wiederherstellung für unterbrochene Typewriter-Dialoge und -Cinematics hinzugefügt, einschließlich des letzten Cinematic-Frames. Die Wiederherstellung bewahrt jetzt den erfassten Snapshot, wenn Typewriter nach der Trennung eines Spielers Abbau-Events auslöst.
- Persistentes Multi-Quest-Tracking mit einem Menü der verfolgten Quests, eigenen Platzhaltern und einer öffentlichen Zwei-Quest-Waypoint-Testkonfiguration hinzugefügt.
- Reine Text-Waypoints auf dem Client hinzugefügt, mit konfigurierbarem Icon-Text, zentrierten Block-Displays, zentrierter Beacon-Rotation, Ausrichtung auf Zielhöhe, weicher Interpolation, Platzierung nahe dem Ziel und einem konfigurierbaren horizontalen Sichtkegel.
- Die veralteten Waypoint-Ebenen für Item-Display und Richtungspfeil wurden vor ihrem ersten öffentlichen Einsatz entfernt.
GUI v0.10
- Layout-Engines Flex und Composite für responsive Slot-Platzierung und zusammengesetzte Menüebenen hinzugefügt.
- Wiederverwendbare adressierbare Ansichten mit geerbten Layout-Pools, Standardansichten, Brotkrumen, Ansichts-Tags und optionaler Verlaufsintegration hinzugefügt.
- Ansichtsbewusste Schemamigration und QuestCodex-Integration sowie Maven-Veröffentlichungsmetadaten hinzugefügt.
- Behoben: Ansichtswechsel bauen Menüs jetzt ohne Flackern durch Schließen/Öffnen neu auf, und das Schließen des Inventars ist Folia-sicher.
Shops v1.2
- Die öffentliche Shop-Erweiterung wurde gegen OmniGUI v0.10 neu gebaut und validiert.
- Die bestehenden dynamischen Shop-Layouts, den Navigationsverlauf, die Füllerbehandlung, Bestands- und Limitregeln sowie eigene Shop-Button-Handler bewahrt.
- Von Shop Extension v1.1 ist keine Migration erforderlich.
MythicMobsNPC Extension v0.4.6
- Behoben: Eine Skalierungsänderung wurde bei einem Modell ignoriert, das ohne Animation geliefert wird, genauso wie bei der BetterModel-Erweiterung.
- Vanilla-Mob-Varianten (Katze, Fuchs, Wolf, Dorfbewohner und dergleichen) werden einmal in der Konsole gemeldet, statt stillschweigend ignoriert zu werden: Sie gehören zur MythicMobs-Konfiguration, die die Identität des Mobs besitzt und sie bei jedem Respawn überschreiben würde.
- Behoben: Ein einzelner fehlschlagender Daten-Entry brach jeden anderen im selben Batch gesendeten Entry ab, wodurch ein NPC keine seiner konfigurierten Daten angewendet bekommen konnte.
- Der Leuchteffekt und die Ausrüstung werden jetzt am Modell gesteuert, nicht nur am Mob. Der Körper des Mobs ist hinter dem Modell verborgen, sodass das alleinige Setzen am Mob nichts Sichtbares hinterließ.
- Die Ausrüstung meldet jetzt in der Konsole, wenn das Modell keinen Item-Knochen hat, statt stillschweigend nichts zu tun.
- Feuer wird jede Sekunde neu gesetzt, sodass es nicht mehr von selbst erlischt, und es meldet jetzt, wenn BetterModel den Körper verbirgt, auf dem die Flammen gezeichnet werden.
- Behoben: Das Nameplate ruckelte, wenn der NPC läuft oder einem Wegenetz folgt: Das Text-Display interpoliert jetzt zwischen Updates, statt in Schritten zu teleportieren.
BetterModel Extension v1.3
- Behoben: Die Modellskalierung wurde bei Modellen ignoriert, die ohne Animation geliefert werden. BetterModel berechnet die Transformation eines Modells nur neu, solange eine Animation läuft, sodass eine zur Laufzeit angewendete Skalierungsänderung ein statisches Modell nie erreichte. Die Erweiterung erzwingt die Neuberechnung jetzt selbst.
- Derselbe Fix gilt für den Modellversatz, der denselben Codepfad durchlief.
- Entity-Daten-Entries erreichen das Modell jetzt tatsächlich, statt verworfen zu werden. Unterstützt: Leuchteffekt, Farbe des Trankeffekts (als Item-Tönung gerendert), Helligkeit, Billboard-Beschränkung, Interpolationsdauer, Translation, 3D-Skalierung, Boxgröße, Ausrüstung und brennend.
bettermodel_bone_appearancehinzugefügt, eine Version der Einstellungen für Leuchten, Tönung, Glanz und Helligkeit pro Knochen, mit demselben Criteria-System wiebettermodel_bone_visibility.- Ausrüstung wird auf die Hand- und Kopf-Item-Knochen von BetterModel abgebildet. Rüstungs-Slots werden einmal in der Konsole gemeldet, statt stillschweigend ignoriert zu werden, weil Torso und Beine eines Modells ihre eigene Geometrie tragen.
- Eine nicht gleichmäßige 3D-Skalierung warnt jetzt, statt stillschweigend eine einzelne Achse zu verwenden: BetterModel unterstützt nur eine gleichmäßige Skalierung.
- Jeder Daten-Entry, der für ein 3D-Modell keine Bedeutung hat (Posen, Mob-Varianten, Zuchtzustand ...), wird jetzt einmal in der Konsole gemeldet, statt stillschweigend verworfen zu werden.
- Leuchten, Tönung, Helligkeit, Billboard, Translation und Ausrüstung überstehen jetzt ein Neuladen des Resource Packs oder einen Respawn, statt auf das Standardaussehen des Modells zurückzufallen.
- Die Ausrüstung meldet jetzt in der Konsole, wenn das Modell keinen mit
ri,lioderphmarkierten Knochen hat, statt stillschweigend nichts zu tun — das ist der übliche Grund, warum ein Item nicht erscheint. - Feuer wird jetzt an der Interaktions-Entity des NPCs statt an den Modellknochen gezeichnet: Der Client skaliert die Flamme auf die Bounding Box der Entity, und ein Display-Entity hat keine, sodass die Flammen in Größe null gerendert wurden.
Nexo Extension v1.0
- Facts hinzugefügt, um zu prüfen, was der Spieler hält, im Inventar trägt, ansieht oder worauf er steht.
- Variablen hinzugefügt, die die ID und die Eigenschaften des anvisierten Items, Blocks und Möbelstücks liefern.
- Eine Aktion zum Geben und Entfernen von Items hinzugefügt, die beide mit der Nexo-Item-ID arbeiten.
- Events für das Aufheben, Droppen und Verbrauchen von Items hinzugefügt.
- Interaktions- und Schadens-Events für benutzerdefinierte Blöcke und Möbel sowie ein Loot-Drop-Event hinzugefügt.
- Events geben ihre Daten (Block-ID, Position, Item in der Hand) jetzt an das weiter, was als Nächstes läuft, sodass ein Dialog oder eine Aktion sie direkt verwenden kann.
CraftEngine Extension v1.0
- Quest-Objectives funktionieren jetzt. Sie können an eine Quest angehängt werden, speichern den Fortschritt und können beim Abschluss eine Sequence auslösen.
- Facts für Cooldowns, für gehaltene und getragene Items und für den Block oder das Möbelstück, das der Spieler anvisiert, hinzugefügt.
- Variablen hinzugefügt, die IDs, Item-Eigenschaften und die Liste der geladenen Inhalte liefern.
- Eine Aktion zum Geben und Entfernen von Items hinzugefügt, die beide mit der CraftEngine-Item-ID arbeiten.
- Events für das Aufheben, Droppen und Verbrauchen von Items hinzugefügt.
- Events für Platzierungsversuche und für Schläge auf Möbel hinzugefügt.
- Events geben ihre Daten jetzt an das weiter, was als Nächstes läuft.
ItemsAdder Extension v1.0
- Block- und Möbel-Events lesen ItemsAdder jetzt direkt, statt aus Vanilla-Events zu raten, was sie zuverlässig macht und eine kurze Verzögerung beseitigt, die einen Trigger verpassen oder wiederholen konnte.
- Facts für gehaltene und getragene Items, verbleibende Nutzungen, benutzerdefinierte Haltbarkeit, HUD-Sichtbarkeit und Pflanzenwachstum hinzugefügt.
- Variablen hinzugefügt, die IDs, Item-Eigenschaften und Font-Bilder liefern.
- Eine Aktion zum Geben und Entfernen von Items hinzugefügt, die beide mit der ItemsAdder-Item-ID arbeiten.
- Events für das Aufheben, Droppen und Verbrauchen von Items hinzugefügt.
- Interaktions-Events, ein Event vor der Platzierung von Möbeln und ein Event beim Tod einer benutzerdefinierten Entity hinzugefügt.
- Events geben ihre Daten jetzt an das weiter, was als Nächstes läuft.
2026-07-26
Quest Codex v2.5
- Persistentes Multi-Quest-Tracking über den Entry
quest_codex_tracking_artifacthinzugefügt. - Den Kategoriemenü-Modus
@trackedund die dynamischen MarkerTRACKED_QUEST_SLOThinzugefügt. /tw codex trackedund den internen GUI-Befehlcodex:trackedhinzugefügt.- PlaceholderAPI-Platzhalter für die Anzahl verfolgter Quests, das Limit, die primäre Quest, indizierte verfolgte Quests, Status, Objectives und Prioritäten hinzugefügt.
- Das Layout des öffentlichen Page-Bundles dokumentiert: Haupt-Manifest, statisches Tracking-Artifact, Quest-Definitionen und GUI-Einstellungen.
GUI v0.9
- Automatische Schemamigration öffentlicher Pages für Inline-Speicher und ältere Paginierungsfelder hinzugefügt.
- Das kompakte Schema
storagePool/storageIdundnavigationButtonsdokumentiert, das Freezes beim Veröffentlichen im Typewriter-Editor verringert. - Das empfohlene Muster referenzierter Menüs für große QuestCodex-Menüs verdeutlicht.