Перейти к содержимому
Mineforgian

vJourney

A powerful custom advancement engine designed to guide players, track completed missions, and create immersive quest-trees.

Загрузки
107
Подписчики
4
Обновлён
14 июня 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 13 мая 2026 г.

vJourney

vJourney transforms Minecraft's native advancement screen into a configurable achievement and quest-tree system for minecraft servers.

Instead of opening a custom GUI, players use the familiar advancements menu, but with your own categories, icons, descriptions, progression, sounds and unlock conditions.

Support the Project

vJourney is developed and maintained with a lot of care as part of the vPlugins project. If the plugin helps your server, consider making a donation to support future updates, bug fixes, documentation and new vPlugins projects.

Become a Patron

Community & Support

Need help configuring quests, want to report a bug, or suggest a feature? Join our community or check the documentation:

Discord Server Official Wiki

Preview

vJourney categories

vJourney dynamic lore 1

vJourney dynamic lore 2

Main Features

  • Create independent advancement tabs using simple .yml category files.
  • Build achievement trees with parents, branches, hidden nodes and multi-parent progression.
  • Use custom icons with material and model_data.
  • Configure lore for blocked, progress and completed states.
  • Show live progress in item hover text with %current%.
  • Emit local chat, global chat and native Minecraft toast notifications.
  • Store persistent progress in SQLite by default or MySQL when configured.
  • Reload categories with /vjourney reload or /vjr reload.

Triggers

vJourney supports several trigger types, including:

  • Vanilla mob kills
  • MythicMobs kills
  • Armor equipped
  • Item held
  • Blocks broken
  • World visits
  • WorldGuard region entry
  • Permissions
  • PlaceholderAPI values
  • BetonQuest tags and points
  • Enchanting progress
  • vBestiary discovery progress

Numeric triggers support flexible values:

value: 10   # exactly 10
value: <10  # 10 or less
value: 10>  # 10 or more

Ченджлог

1.3.1Релиз26.1, 26.1.1, 26.1.2 · 14 июня 2026 г.

v1.3.1

  • Fix: Advancement-screen protection now intercepts delayed vJourney advancement packets that were already queued by UltimateAdvancementAPI, preventing frequent trigger checks from closing the open advancements screen.
  • Compatibility: The delayed-packet guard works through PacketEvents or ProtocolLib and only defers vJourney advancement updates until the player closes the screen.
  • Fix: Player data can no longer be wiped when a periodic or quit save runs before the asynchronous load finishes, when the load fails, or when a player reconnects before a previous load completes. Player sessions now use a load-state machine (LOADING/LOADED/FAILED) with a session token, and only fully loaded sessions are ever saved.
  • Fix: Progress earned while a player's data is still loading is now merged with the loaded data instead of being overwritten, and a failed load retries up to three times before the session is marked non-savable for that session.
  • Fix: A delayed load that completes after the player disconnects no longer recreates stale in-memory data for the offline player.
  • Storage: Auto-save, shutdown, and database migration now persist only loaded players that have unsaved changes, and concurrent saves are de-duplicated by sequence so an older snapshot can never overwrite newer data.
  • Fix: Trigger evaluation is now paused during /vjourney reload and resumed only after the advancement tabs are rebuilt, preventing an async evaluation cycle from racing against a half-rebuilt state. The polling task is also cancelled before any restart so reloads cannot leak a timer.
  • Fix: Non-persistent achievements are no longer briefly revoked and then re-granted while a player's data is still loading, since count-based triggers temporarily read zero during that window.
  • Fix: permission triggers are now resolved during the main-thread snapshot phase, so LuckPerms/Bukkit permission lookups no longer run on the async evaluation thread.
  • Performance: BetonQuest tag and point lookups now cache the resolved reflection methods instead of re-scanning the API on every evaluation cycle.
  • Performance: WorldGuard region_enter checks now resolve all configured regions with a single query per player per cycle instead of one query per region.
  • Validation: Achievement keys longer than 191 characters now log a warning at load time, since they could otherwise silently fail to save to the database.
1.3.0Релиз26.1, 26.1.1, 26.1.2 · 13 июня 2026 г.

v1.3.0

  • Feature: Added optional advancement-screen protection through PacketEvents or ProtocolLib. PacketEvents is preferred when both plugins are installed.
  • Feature: Added full MiniMessage support, including modern sprite components, to trigger lore, category text, achievement names, and language messages while preserving legacy & colors.
  • Fix: Achievement lore refreshes, grants, and revokes are deferred while the player has the advancements screen open, preventing live progress updates from closing the screen.
  • Performance: Deferred advancement changes are deduplicated and flushed once the player closes the screen.
1.2.0Релиз26.1, 26.1.1, 26.1.2 · 29 мая 2026 г.

v1.2.0

  • Feature: Added the death trigger for achievements based on how many times a player dies.
  • Feature: Added the player_kill trigger for achievements based on how many other players a player kills.
  • Feature: Added the vault trigger with action: spend, action: gain, and action: balance for Vault economy achievements.
  • Feature: Added vanilla triggers: item_craft, fishing, tame_mob, consume_item, and level_reach.
  • Feature: Added %required% support in achievement lore, using the target configured in value or amount.
  • Feature: cmd can now be used in progress triggers and runs once when the achievement enters the progress state.
  • Config: Added auto_save_interval to periodically save player progress and reduce data loss after crashes.
  • Config: Updated the PT/EN example categories with all non-external triggers, %required%, and progress-command documentation.
  • Performance: Cached PlaceholderAPI source collection and skips Vault balance checks when no Vault trigger is configured.
  • Fix: Permission achievements no longer complete only because the player is OP or has a wildcard; the configured permission node must be granted directly or inherited through LuckPerms.
  • Fix: Added warnings for achievements that reference missing parents, improved namespaced/custom sound playback, and made /vjr complete match online player names exactly while ignoring capitalization.

v1.1.3

  • Command: Added /vjourney complete <player> <category> <achievement> [true/false] to manually complete one achievement, with announcements enabled by default and optional silent completion.
  • Command: Added /vjourney complete <player> <category> to silently complete every currently configured achievement in a category for the player, including hidden child achievements, without making future achievements auto-complete.
  • Storage: Manual completions are stored per achievement in the database, so command-granted achievements stay completed even when their trigger is not currently active.
1.1.2Релиз26.1, 26.1.1, 26.1.2 · 26 мая 2026 г.

v1.1.2

  • Fix: Event counters no longer double-count when progress and completed share the same mob, MythicMob, block, or enchant trigger.
  • Fix: Event-based counters now respect require_parent; locked child achievements no longer accumulate progress before their required parent achievements are completed.
  • Fix: MythicMobs no longer count toward vanilla mob_kill achievements just because their base Bukkit entity type matches. Use mythicmob_kill for MythicMob-specific achievements.
1.1.1Релиз26.1, 26.1.1, 26.1.2 · 24 мая 2026 г.

v1.1.1

  • Storage: Added SQLite/MySQL player data storage using the same Paper libraries approach as vBestiary. SQLite stores data in plugins/vJourney/data/database.db.
  • Storage: Global first-completed announcement state is now stored in the database instead of first_completed.yml.
  • Command: Added /vjourney migrate to copy the active SQLite database data to the configured MySQL database, with localized aliases/tab completion for reload and migrate.
  • Config: config.yml now uses inline comments and rewrites those comments in the configured language on reload without resetting current values.
  • Config: The bundled exemple.yml category is regenerated from the configured language template when the language changes on reload.
  • Compatibility: vBestiary triggers now use the English category key, while the older categorie key remains accepted as a compatibility alias.
  • Fix: PlaceholderAPI trigger and lore-refresh values are now resolved during the main-thread snapshot phase instead of the async evaluation phase.
  • Fix: Advancement toasts are now emitted only on the actual grant action, preventing vBestiary/polling refreshes from showing a separate or repeated notification.
  • Performance: Reduced duplicate enchant diff scans, filters command-based enchant snapshots by target player when possible, and made the first-completed announce cache thread-safe.
  • Cleanup: Removed deprecated ChatColor.stripColor() usage from enchant GUI title detection.
1.0.10Релиз26.1, 26.1.1, 26.1.2 · 22 мая 2026 г.

v1.1.0

  • Feature: Added optional vBestiary integration through the new vBestiary trigger. It can complete achievements by discovered mob count, by a specific discovered mob, or by full category completion.
  • Feature: Improved enchant tracking compatibility, including vanilla enchanting, /enchant, anvil book usage, and vEnchant/plugin-style enchant flows that apply real Bukkit enchantments to the item.
  • Feature: Added flexible numeric targets for supported trigger values: value: 10 requires the exact value, value: <10 accepts 10 or less, and value: 10> accepts 10 or more. This applies to PlaceholderAPI values, BetonQuest points, count-based triggers, enchant amount, and vBestiary discovered counts.
  • Config: Added model_data support to the root category icon and updated the PT/EN example categories with the new options and comments.
  • Fix: Fixed bqpoint target lookup for both package.point and package>point, and prevented missing point targets from being treated as 0.
  • Fix: Fixed a reload issue where achievement tabs could disappear or fail to refresh correctly after /vjr reload.
  • Performance: Added faster trigger lookups, cached PlaceholderAPI availability, async player data handling with dirty-state checks, and safer enchant inventory snapshots.
1.0.9Релиз26.1, 26.1.1, 26.1.2 · 20 мая 2026 г.

v1.0.9

  • Fix: Fixed a bug where placeholders in the category root lore (e.g. %betonquest_yggdrasil:point.Yggdrasil.amount%) would not update dynamically. The value would stay frozen until a new achievement was completed. Now the display refreshes automatically whenever the placeholder value changes, following the same trigger_check_interval cycle.

v1.0.8

  • Fix: Fixed a bug where PLACEHOLDER and count-based triggers (mob_kill, block_break) would not visually update the lore in the advancements GUI without the player typing /vjr reload. The display now correctly refreshes live when the placeholder value or counter changes.

v1.0.7

  • Feature: Added cmd field to trigger sections (blocked, progress, completed). Accepts a list of console commands executed when the trigger fires. Supports %player% placeholder (replaced with the player's name at runtime).

v1.0.6

  • Feature: Added x and y fields to the category configuration. Controls the position of the root icon (the first node shown in the advancement tree). Supports negative values (e.g. x: -2.0).
1.0.5Релиз26.1, 26.1.1, 26.1.2 · 17 мая 2026 г.

v1.0.5

  • Fix: Vanilla advancement toasts (e.g. "Duro de matar") flooding the screen. The old Bukkit-level PlayerAdvancementDoneEvent listener was revoke-based (too late — UAAPI had already captured the grant). Replaced with UAAPI's native disableVanillaAdvancements() + disableVanillaRecipeAdvancements() API calls, which block vanilla advancements at the packet level before they are ever processed.
  • Fix: disable_vanilla_advancements: true in vJourney now also syncs with UAAPI automatically — no need to manually edit UAAPI's config.yml.
  • Removed: AdvancementListener.java — obsolete since UAAPI handles vanilla blocking natively.
  • Cleanup: Removed stale code comments, unused imports, and translated remaining Portuguese log messages to English for consistency across the codebase.

Комментарии

Загружаем…