Releases: BetonQuest/BetonQuest
Releases · BetonQuest/BetonQuest
BetonQuest 2.1.1
Fixed
- math variable with dots (since 2.1.0)
BetonQuest 2.1.0
Changed
- player variable
%player%
is now the same as%player.name%
%player.name%
will display the name of the player%player.display%
will use the display name used in chat%player.uuid%
will display the UUID of the player
- marking of mobs now uses variables in all contexts of spawning killing and removing
- marking of mobs is now stored in the persistent data container of the entity to prevent loss on server restart
- default
default_conversation_IO
in config frommenu,chest
tomenu,tellraw
- corrected Russian messages in
messages.yml
file
Added
block
objective now supports parametersloc
andregion
to limit the areablock
objective now supports the parameterignorecancel
allow counting breaking / placing blocks in protected regions- command
variable
to list and modify variables on a variable objective - config option
conversation_IO_config.slowtellraw.message_delay
to set the delay between messages in the SlowTellRaw conversation IO resourcepack
objective - to allow checking when the player accepts, denies, downloads, or fails to download a resource packregion
objective now supports variables as region namelocation
objective now allowsentry
andexit
keywords to track entering and leaving the location- allowing adjustment of maximum hologram display radius
- support to execute BetonQuest commands from command blocks
Fixed
variable
objective loads newlines correctly- exception in
lookAtBlock
condition when omitting the type - MMOCoreClassCondition, MMOItemsGiveEvent, MMOItemsHandCondition and MMOItemsItemCondition now work with numeric identifiers
- yaml multiline instructions could lead to partly working events, conditions and objectives
- creation of advancement tab when an advancement NotifyIO is sent
burn
event throwing unexpected error when omitting duration- added missing firework meta to string representation of QuestItem
- required flags in
QuestItem
were not relevant in equals check folder
event did not respect the sync / async context that it is executed in- incorrectly measuring the distance between player and hologram if they are in different worlds
- incorrect calculation of the width of strings when using some special characters when doing pagination
- previously undocumented quoting in instructions
BetonQuest 2.0.1
Changed
- Quests by PikaMug got updated from version 4.X to 5.X
- The ProtocolLib dependency was downgraded from 5.2.0-SNAPSHOT-679 to 5.0.0-SNAPSHOT-636
Added
hunger
event now supports variablestime
event now supports variables and newticks
argument
Fixed
weather
event did not useduration
lever
event does not work with redstone- papers future remove of CB package relocation
BetonQuest 2.0.0
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 whil...
BetonQuest 1.12.11
Changed
- the MythicMobs integration was updated to MythicMobs 5.3.5
- the MythicLib integration was updated to MythicLib 1.6-SNAPSHOT
- the objectives mmocorecastskill and mmoitemcastability were merged into the mmoskill objective
- the MMOCore-API integration was updated to MMOCore-API 1.12-SNAPSHOT
- the MMOItems-API integration was updated to MMOItems-API 6.9.4-SNAPSHOT
Fixed
- conversation could have a deadlock and a player can get stuck in a conversation
- conversation could not be canceled due to a race condition
- JobsReborn ObjectivePaymentEvent couldn't be used
- ProtocolLib warning for Minecraft 1.20.2
BetonQuest 1.12.10
Fixed
- ProtocolLib's based
packet
interceptor was fixed for MC 1.19, now ProtocolLib 5.0.0 is required - conversation IO chest did not show the correct NPC heads
objective
event - static calls did not remove the objective for online players- legacy
§x
HEX color format not working in some contexts - eating of items when entering the chest conversation io actually consumed the item
BetonQuest 1.12.9
Fixed
weather
event - storm did not work- 1.19 ProtocolLib warnings about deprecated packages
BetonQuest 1.12.8
Changed
- PikaMug Quests updated to version 4.1.3
Added
- new line support for
journal_lore
inmessages.yml
Fixed
- reload with an invalid PlayerHider causes a NPE
- QuestItems could be eaten, this was caused by a changed mc behaviour
- command, sudo and opsudo events didn't work with conditions
- interact objective did not work with armorstands
- MMOItemsGiveEvent did not check if item actually exists
- notify IO
subtitle
andtitle
with only a subtitle was not send - npcHider not working for Citizens with ModelEngine trait
BetonQuest 1.12.7
Security
- updated log4j to 2.15.0 which fixes CVE-2021-44228
Fixes
- exception during reload, when npc_holograms are disabled
entities
condition andclear
event now support not living entities- mmoitems item creation only worked with uppercase id's
BetonQuest 1.12.6
Added
Changed
action
objective cancels now the event, before other plugins check for it (better third-party support)
Deprecated
Removed
Fixes
- added missing config options to the default config
- version check for ProtocolLibIntegrator
- quest item empty name comparison
- customized built-in messages that use the advancementIO
- BlockSelector without a namespace but starting with
:
did not work and threw an exception