BetonQuest - All Your Adventure Supplies | Versatile Quests | In-depth Conversations icon

BetonQuest - All Your Adventure Supplies | Versatile Quests | In-depth Conversations -----

An advanced and powerful quest scripting plugin for Minecraft.



BetonQuest 2.0.0
Added
  • Logging
    • Ingame logging
      • Logging during /q reload
    • New command /q debug ingame
    • Debug logging to separate file
    • Log history length can be freely configured
  • Quest Templates
    • A new folder QuestTemplates can now be used to define templates for packages
    • templates can also extend templates
  • add AureliumSkills Compatiblity
    • added AureliumSkillsLevelCondition
    • All existing users must add aureliumskills: 'true' to their config.yml's hook section.
    • added AureliumStatsLevelCondition
    • added AureliumSkillsLevelExperienceEvent
  • add DecentHolograms Compatibility
    • holograms from DecentHolograms are a direct alternative to HolographicDisplays
  • add LuckPerms context integration for tags
    • All existing users must add luckperms: 'true' to their config.yml's hook section.
  • add FakeBlock Compatibility
    • added fakeblock event that has the arguments showgroup and hidegroup to show and hide FakeBlock groups
    • added hook.fake-block config option, default: true
  • add RedisChat Compatibility
    • added redischat chat interceptor
  • added Event Schedules to replace old static-events system
    • static events from schedulers now respect static conditions
    • events called by schedules are always called player independent
    • runForAll event can now be used to run events for all players that match a condition
    • runIndepent event can be used to run events static (player independent) from player dependent contexts
  • added support for Base64 encode custom heads
    • can be created from items in inventory using the BetonQuest item command (Paper only, Bukkit/Spigot can be configured manually)
    • can be given to players using the BetonQuest give command
  • NotifyIO "totemIO"
  • Support for MythicLib
  • player attribute to QuestCompassTargetChangeEvent
  • added PlayerObjectiveChangeEvent, PlayerJournalAddEvent, PlayerJournalDeleteEvent
  • Allow %player% variable for PLAYER_HEAD quest items
  • allow access to objective variable properties from other packages
  • allow point variables from other packages
  • API method in objective API that starts and stops it per player
  • config option default_hologram to set hologram priority if multiple hologram plugins are loaded at once
  • config option journal.show_in_backpack to remove the journal from the backpack
  • config option journal.lock_default_journal_slot to lock the journal to the default_journal_slot
  • config option journal.give_on_respawn to add the journal to the inventory after the player respawns
  • config option journal.custom_model_data to give the journal a ressource pack based skin
  • config option mysql.reconnect_interval to set the reconnect interval if the connection to the database gets lost
  • compass now supports items from other packages
  • new messages.yml entries inventory_full_backpack and inventory_full_drop to have more specific messages,
    when the inventory of the player is full
  • menu conversationIO option npc_name_newline_separator
  • added q download command
  • variable support for menu titles
  • configurable cooldown to menu conversation IO
  • holograms
    • variable support
    • top lists ordered by point values of players
    • npcs list now supports global variables as NPC ID in NPC Holograms
  • menus now support global variables
  • exposed the Citizen variable and enhanced location capabilities
  • menus now support string with newline or string list text values for lore
  • amount of objectives now support variables
  • added quest item flag recording and restore
  • Conversations now support cross conversation pointers to conversations in other packages
  • QuestCancelers can now be referenced across packages
  • Chat Interceptor packet is now 1.20.4 compatible
  • freeze event - ProtocolLib compatibility feature: Blocks the player from moving for the specified amount of ticks
  • block objective - properties: absoluteAmount, absoluteLeft and absoluteTotal
  • command objective
  • equip objective
  • delay objective - now support variables
  • sudo event - now supports variables
  • opsudo event - now supports variables
  • variable condition - now supports variables
  • bossbar notify style now supports variables for the progress and stay arguments
  • delay objective property: rawSeconds
  • fish objective now has hookLocation and range settings.
  • consume objective now has amount argument.
  • mmoprofessionlevelup objective can now check the main character level as well
  • burning condition
  • inconversation condition
  • language condition
  • heroesattribute condition - Heroes compatibility feature: Checks a player's level for a particular attribute against a value
  • variable condition - regex can now also be a variable
  • mmspawn event now has argument target Makes the spawned mob target the player
  • mmspawn event now has argument private Visually hides the spawned mob from other players. Does not stop sound or particles
  • mmspawn event now supports the marked argument
  • objective event now supports a comma separated list of objectives
  • mmobkill objective now supports the marked and deathRadiusAllPlayers argument
  • marked argument now supports %player% variable
  • globaltag and globalpoint variables
  • burn event - ignites player for given seconds, supports variables
  • velocity event - throws the player by a vector (can be variable) with a direction and modification
  • block objective - added argument noSafety which disables removing progress when the player does the opposite of what the objective asks for
  • block objective - added property variables absoluteLeft, absoluteTotal, absoluteAmount that always return absolute values
  • hunger condition and event
  • variable condition - forceSync argument forces the condition to be checked on the main thread
  • variable condition - now supports variables as both the input and the regular expression
  • command event - now suppress console output
  • cancelconversation event
  • time event - now supports subtraction and world selection, which made it persistent and static
  • globalpoint event - new syntax for manipulating global points
  • experience event - it's now possible to change xp, change and set levels and set the xp bar
  • deleteglobalpoint event
  • score event - more options for manipulating the scoreboard
  • item variable - new name and lore argument and now supports items from other packages
  • randomnumber variable added - supports variables
  • give event - new backpack argument to place items in the backpack (if a valid QuestItem)
  • party event - new optional amount of maximal affected players
  • drop event
  • itemdurability event, condition and variable
  • numbercompare condition
  • cancelOnLogout argument for folder event
  • npcinteract objective - now supports the argument interaction to choose between left, right or both clicks
  • log event
  • party event - new range 0 and -1 to select players in the same world or server wide
  • stage objective, condition and event
  • first event - attempts to run a list of events until one successfully runs, like a compressed if event
Changed
  • Java 17 is now required
  • changed package names from pl.betoncraft.betonquest to org.betonquest.betonquest
  • Changed quest package structure
    • Quest packages are now searched and loaded from the folder BetonQuest/QuestPackages/
    • Quest packages can now contain more quest packages in sub folders
    • Relative paths can now navigate downwards and not only upwards
    • main.yml was renamed to package.yml
    • Any file and folder structure with any file and folder names is now allowed, except package.yml, as that file
      indicates a quest package
    • events, objectives, conditions, journal and items are now defined in a config section matching their
      names
    • conversations and menus are now defined in a config section matching their names and a unique identifier like
      the file name before
    • The enabled boolean is now defined in the package section
  • all objectives that can be advanced without directly completing now support notify
  • all objectives that can be advanced without directly completing now support left, amount and total variables
    • the left and amount variables of some objectives were swapped and have been corrected: left is the amount
      left, amount is the amount done
  • NPC Holograms are reworked
    • individual refresh rate for each hologram
    • the boolean follow is now set per hologram
    • the vector offset origin has been changed. The hologram is now directly above the NPCs head by default. This means all previously custom vectors are now increased by 3 blocks on the y-axis.
    • npc_effects are reworked
      • the section changed its naming from npc_effects to effectlib
      • the section disabled got removed
      • the section check_interval is now an inner section of the effect and now called checkinterval
      • next to the npcs section there is now an locations section
      • effects will now follow npcs if they're pathing to another spot
  • AureliumSkills updated to version Beta1.2.5
  • PikaMug Quests updated to version 4.1.3
  • Items now support AIR
  • Menus now support new click options shiftLeft, shiftRight and middleMouse to execute events on item clicks
    • Therefore left and right in the click section no longer include shift clicks
  • folder event - now executes events immediately if no delay is set
  • weather event - now has an optional variable duration (in seconds) and an optional world param
  • paste event - can now be static
  • chestput objective - can now block other players from accessing a chest while someone is putting items inside
  • The location and region objectives now register movement of players inside a vehicle
  • written book is now readable as a quest item
  • HolographicDisplays updated to 3.0.0
  • Added staticness indicator to variables that can be executed without a direct player connection
  • written book quest items can now be read
  • experience objective event and condition were reworked
    • condition and objective do not support raw experience anymore
    • all allow decimal level and variables now
  • changed backpack configuration. "" will hide the compass or canceler
  • smelt objective - now requires a QuestItem instead of a BlockSelector
  • cancelquest command - has its own permission now
  • compass command - has its own permission now
  • language command - is now persistent
  • point command - list can now be filtered by beginning letters
  • tag command - list can now be filtered by beginning letters
  • globalpoint command - list can now be filtered by beginning letters
  • globaltag command - list can now be filtered by beginning letters
  • journal command - list can now be filtered by beginning letters
  • objective command - list can now be filtered by beginning letters
  • variable condition supports escapable underscores to avoid replacement
  • kill event - now kills the player, instead of dealing damage, which is more reliable
  • lightning event - now has a new noDamage argument
  • clear and killmob' events - got replaced by new removeentity` event
  • the line length of SlowTellRaw conversation IO from 60 to 50 to fit the actual minecraft chat
  • Item enchantments was changed to include zero as a legal value, not just positive numbers
  • the objectives mmocorecastskill and mmoitemcastability were merged into the mmoskill objective
  • command event no longer runs for all players on the server if a variable is used
  • math and version variables - now static
  • alternative and check condition - now static
  • open_events in a menu are now called before the menu actually opens
  • conversation event now support a start option
Removed
  • deprecated internals, code and old features
  • Support for MMOLib
  • message event
  • title event
  • playsound event
Fixed
  • added missing spaces to time left property of delay objective
  • catchup now works even if schedule was never executed before
  • q version now works again
  • RPGMenu error when teleport events are used as click events
  • RPGMenu bound items not always working
  • npc_holograms do now show errors during reload and not one tick later
  • first slot in backpack stays empty when journal is in player inventory
  • npc_holograms are not shown correctly with multiple defined npcs
  • spectator mode is now disabled for chest conversation io to prevent being stuck in the conversation
  • packet chat interceptor does not catch action bar anymore
  • time event does not work with floating point values
  • global variable recursive resolution cross packages
  • inaccurate location variable decimal rounding
  • NPC holograms from Citizens are not hidden correctly
  • location objective - is now more robust if the player changes a world
  • brew objective - now counts newly brewed potions even if there were already some potions of the desired type in
  • chestput objective - did now work with double chests
    other slots present
  • menu(open) event - showed the previous menu again
  • non .yml files causing errors when loading quest packages
  • pickrandom event - did not calculated chance correctly
  • pickrandom event - did not allowed dashes in event names
  • action objective - ignored offhand at all
  • enchant objective - did not work at all, now has amount and requirementMode parameters
  • Hologram topX line not working with profiles
  • the craft objective could be completed without consuming materials
  • LocationObjective resolves variable for a player who does not have the objective, and so maybe also dont have the variable
  • performance when using many conditions / events / ... repeatedly
  • /q journal command allowed invalid journal pointers
  • AsyncSaver will shut itself down if the database connection is lost, resulting in data loss
  • Journal entries did count color codes as line length, affecting the formatting of pages
  • Notification categories could be modified during runtime with the notify event
  • Leading spaces are now preserved in conversation messages and journal entries
  • giving air with the give command or the give event crashes the server
  • duplication of holograms when reloading BetonQuest and the hologram is hidden
  • menu conversation IO kicked players when conversation started in the air caused by flying detection
  • menu conversation IO did not stopped scrolling at the bottom and began to scroll from the top again
  • removed the hearts of the Armorstand in the Menu Conversation IO
  • journal entries now keep their leading whitespaces
  • exceptions in sudo and command events leading to broken conversations that could not be exited
  • the NPC's head could be stolen from conversations with the chest style
Security
  • it was possible to put a QuestItem into a chest
  • bump log4j dependency 2.15.0 to fix CVE-2021-44228
  • take event - is now threadsafe
----------, Dec 31, 2023
Resource Information
Author:
----------
Total Downloads: 61,791
First Release: Nov 30, 2014
Last Update: Jan 12, 2025
Category: ---------------
All-Time Rating:
169 ratings
Find more info at betonquest.org...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings