Compatibility
Minecraft: Java Edition
1.21
1.20.x
1.19.x
1.18.x
1.17.1
1.16.5
1.15.2
1.14.4
1.13.x
Platforms
Bukkit
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Details
Licensed GPL-3.0-only
Published 2 years ago
Updated 3 months ago
Changelog
Added
- Logging
- Ingame logging
- Logging during
/q reload
- Logging during
- New command
/q debug ingame
- Debug logging to separate file
- Log history length can be freely configured
- Ingame logging
- Quest Templates
- A new folder
QuestTemplates
can now be used to define templates for packages - templates can also extend templates
- A new folder
- 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 argumentsshowgroup
andhidegroup
to show and hide FakeBlock groups - added
hook.fake-block
config option, default:true
- added
- add RedisChat Compatibility
- added
redischat
chat interceptor
- added
- 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 conditionrunIndepent
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
- can be created from items in inventory using the BetonQuest
- 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 thedefault_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
andinventory_full_drop
to have more specific messages, when the inventory of the player is full menu
conversationIO optionnpc_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 ticksblock
objective - properties:absoluteAmount
,absoluteLeft
andabsoluteTotal
command
objectiveequip
objectivedelay
objective - now support variablessudo
event - now supports variablesopsudo
event - now supports variablesvariable
condition - now supports variablesbossbar
notify style now supports variables for theprogress
andstay
argumentsdelay
objective property:rawSeconds
fish
objective now hashookLocation
andrange
settings.consume
objective now hasamount
argument.mmoprofessionlevelup
objective can now check the main character level as wellburning
conditioninconversation
conditionlanguage
conditionheroesattribute
condition - Heroes compatibility feature: Checks a player's level for a particular attribute against a valuevariable
condition - regex can now also be a variablemmspawn
event now has argumenttarget
Makes the spawned mob target the playermmspawn
event now has argumentprivate
Visually hides the spawned mob from other players. Does not stop sound or particlesmmspawn
event now supports themarked
argumentobjective
event now supports a comma separated list of objectivesmmobkill
objective now supports themarked
anddeathRadiusAllPlayers
argumentmarked
argument now supports %player% variableglobaltag
andglobalpoint
variablesburn
event - ignites player for given seconds, supports variablesvelocity
event - throws the player by a vector (can be variable) with a direction and modificationblock
objective - added argumentnoSafety
which disables removing progress when the player does the opposite of what the objective asks forblock
objective - added property variablesabsoluteLeft
,absoluteTotal
,absoluteAmount
that always return absolute valueshunger
condition and eventvariable
condition - forceSync argument forces the condition to be checked on the main threadvariable
condition - now supports variables as both the input and the regular expressioncommand
event - now suppress console outputcancelconversation
eventtime
event - now supports subtraction and world selection, which made it persistent and staticglobalpoint
event - new syntax for manipulating global pointsexperience
event - it's now possible to change xp, change and set levels and set the xp bardeleteglobalpoint
eventscore
event - more options for manipulating the scoreboarditem
variable - newname
andlore
argument and now supports items from other packagesrandomnumber
variable added - supports variablesgive
event - newbackpack
argument to place items in the backpack (if a valid QuestItem)party
event - new optionalamount
of maximal affected playersdrop
eventitemdurability
event, condition and variablenumbercompare
conditioncancelOnLogout
argument forfolder
eventnpcinteract
objective - now supports the argumentinteraction
to choose between left, right or both clickslog
eventparty
event - new range 0 and -1 to select players in the same world or server widestage
objective, condition and eventfirst
event - attempts to run a list of events until one successfully runs, like a compressedif
event
Changed
- Java 17 is now required
- changed package names from
pl.betoncraft.betonquest
toorg.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 topackage.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
anditems
are now defined in a config section matching their namesconversations
andmenus
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 thepackage
section
- Quest packages are now searched and loaded from the folder
- 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
andtotal
variables- the
left
andamount
variables of some objectives were swapped and have been corrected:left
is the amount left,amount
is the amount done
- the
- 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
toeffectlib
- the section
disabled
got removed - the section
check_interval
is now an inner section of the effect and now calledcheckinterval
- next to the
npcs
section there is now anlocations
section - effects will now follow npcs if they're pathing to another spot
- the section changed its naming from
- AureliumSkills updated to version Beta1.2.5
- PikaMug Quests updated to version 4.1.3
- Items now support AIR
- Menus now support new
click
optionsshiftLeft
,shiftRight
andmiddleMouse
to execute events on item clicks- Therefore
left
andright
in theclick
section no longer include shift clicks
- Therefore
folder
event - now executes events immediately if no delay is setweather
event - now has an optional variable duration (in seconds) and an optional world parampaste
event - can now be staticchestput
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 BlockSelectorcancelquest
command - has its own permission nowcompass
command - has its own permission nowlanguage
command - is now persistentpoint
command - list can now be filtered by beginning letterstag
command - list can now be filtered by beginning lettersglobalpoint
command - list can now be filtered by beginning lettersglobaltag
command - list can now be filtered by beginning lettersjournal
command - list can now be filtered by beginning lettersobjective
command - list can now be filtered by beginning lettersvariable
condition supports escapable underscores to avoid replacementkill
event - now kills the player, instead of dealing damage, which is more reliablelightning
event - now has a new noDamage argumentclear
andkillmob' 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 usedmath
andversion
variables - now staticalternative
andcheck
condition - now staticopen_events
in a menu are now called before the menu actually opensconversation
event now support a start option
Removed
- deprecated internals, code and old features
- Support for MMOLib
message
eventtitle
eventplaysound
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 worldbrew
objective - now counts newly brewed potions even if there were already some potions of the desired type inchestput
objective - did now work with double chests other slots presentmenu
(open) event - showed the previous menu again- non .yml files causing errors when loading quest packages
pickrandom
event - did not calculated chance correctlypickrandom
event - did not allowed dashes in event namesaction
objective - ignored offhand at allenchant
objective - did not work at all, now hasamount
andrequirementMode
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 detectionmenu
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
andcommand
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
Files
Metadata
Release channel
ReleaseVersion number
2.0.0Loaders
Game versions
1.18.2, 1.19.4, 1.20.4Downloads
321Publication date
December 31, 2023 at 9:37 PMPublisher
Wolf2323
Owner