
BetonQuest
Create unique Quests and Storylines! 🏆 Top 10 best rated Spigot Plugin of all time 🏆 Interactive Conversations with Choices. Quest Logs, Menus, Items, Notifications, Holograms, Translations. Integrates with 36 of your favorite Plugins!
Список изменений
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
QuestTemplatescan 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
fakeblockevent that has the argumentsshowgroupandhidegroupto show and hide FakeBlock groups - added
hook.fake-blockconfig option, default:true
- added
- add RedisChat Compatibility
- added
redischatchat 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
runForAllevent can now be used to run events for all players that match a conditionrunIndepentevent 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
itemcommand (Paper only, Bukkit/Spigot can be configured manually) - can be given to players using the BetonQuest
givecommand
- 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_hologramto set hologram priority if multiple hologram plugins are loaded at once - config option
journal.show_in_backpackto remove the journal from the backpack - config option
journal.lock_default_journal_slotto lock the journal to thedefault_journal_slot - config option
journal.give_on_respawnto add the journal to the inventory after the player respawns - config option
journal.custom_model_datato give the journal a ressource pack based skin - config option
mysql.reconnect_intervalto 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_backpackandinventory_full_dropto have more specific messages, when the inventory of the player is full menuconversationIO optionnpc_name_newline_separator- added
q downloadcommand - variable support for menu titles
- configurable cooldown to menu conversation IO
- holograms
- variable support
- top lists ordered by point values of players
npcslist 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
packetis now 1.20.4 compatible freezeevent - ProtocolLib compatibility feature: Blocks the player from moving for the specified amount of ticksblockobjective - properties:absoluteAmount,absoluteLeftandabsoluteTotalcommandobjectiveequipobjectivedelayobjective - now support variablessudoevent - now supports variablesopsudoevent - now supports variablesvariablecondition - now supports variablesbossbarnotify style now supports variables for theprogressandstayargumentsdelayobjective property:rawSecondsfishobjective now hashookLocationandrangesettings.consumeobjective now hasamountargument.mmoprofessionlevelupobjective can now check the main character level as wellburningconditioninconversationconditionlanguageconditionheroesattributecondition - Heroes compatibility feature: Checks a player's level for a particular attribute against a valuevariablecondition - regex can now also be a variablemmspawnevent now has argumenttargetMakes the spawned mob target the playermmspawnevent now has argumentprivateVisually hides the spawned mob from other players. Does not stop sound or particlesmmspawnevent now supports themarkedargumentobjectiveevent now supports a comma separated list of objectivesmmobkillobjective now supports themarkedanddeathRadiusAllPlayersargumentmarkedargument now supports %player% variableglobaltagandglobalpointvariablesburnevent - ignites player for given seconds, supports variablesvelocityevent - throws the player by a vector (can be variable) with a direction and modificationblockobjective - added argumentnoSafetywhich disables removing progress when the player does the opposite of what the objective asks forblockobjective - added property variablesabsoluteLeft,absoluteTotal,absoluteAmountthat always return absolute valueshungercondition and eventvariablecondition - forceSync argument forces the condition to be checked on the main threadvariablecondition - now supports variables as both the input and the regular expressioncommandevent - now suppress console outputcancelconversationeventtimeevent - now supports subtraction and world selection, which made it persistent and staticglobalpointevent - new syntax for manipulating global pointsexperienceevent - it's now possible to change xp, change and set levels and set the xp bardeleteglobalpointeventscoreevent - more options for manipulating the scoreboarditemvariable - newnameandloreargument and now supports items from other packagesrandomnumbervariable added - supports variablesgiveevent - newbackpackargument to place items in the backpack (if a valid QuestItem)partyevent - new optionalamountof maximal affected playersdropeventitemdurabilityevent, condition and variablenumbercompareconditioncancelOnLogoutargument forfoldereventnpcinteractobjective - now supports the argumentinteractionto choose between left, right or both clickslogeventpartyevent - new range 0 and -1 to select players in the same world or server widestageobjective, condition and eventfirstevent - attempts to run a list of events until one successfully runs, like a compressedifevent
Changed
- Java 17 is now required
- changed package names from
pl.betoncraft.betonquesttoorg.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.ymlwas 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,journalanditemsare now defined in a config section matching their namesconversationsandmenusare now defined in a config section matching their names and a unique identifier like the file name before- The
enabledboolean is now defined in thepackagesection
- 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,amountandtotalvariables- the
leftandamountvariables of some objectives were swapped and have been corrected:leftis the amount left,amountis 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_effectstoeffectlib - the section
disabledgot removed - the section
check_intervalis now an inner section of the effect and now calledcheckinterval - next to the
npcssection there is now anlocationssection - 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
clickoptionsshiftLeft,shiftRightandmiddleMouseto execute events on item clicks- Therefore
leftandrightin theclicksection no longer include shift clicks
- Therefore
folderevent - now executes events immediately if no delay is setweatherevent - now has an optional variable duration (in seconds) and an optional world parampasteevent - can now be staticchestputobjective - 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
experienceobjective 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
smeltobjective - now requires a QuestItem instead of a BlockSelectorcancelquestcommand - has its own permission nowcompasscommand - has its own permission nowlanguagecommand - is now persistentpointcommand - list can now be filtered by beginning letterstagcommand - list can now be filtered by beginning lettersglobalpointcommand - list can now be filtered by beginning lettersglobaltagcommand - list can now be filtered by beginning lettersjournalcommand - list can now be filtered by beginning lettersobjectivecommand - list can now be filtered by beginning lettersvariablecondition supports escapable underscores to avoid replacementkillevent - now kills the player, instead of dealing damage, which is more reliablelightningevent - now has a new noDamage argumentclearandkillmob' events - got replaced by newremoveentity` event- the line length of
SlowTellRawconversation 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
commandevent no longer runs for all players on the server if a variable is usedmathandversionvariables - now staticalternativeandcheckcondition - now staticopen_eventsin a menu are now called before the menu actually opensconversationevent now support a start option
Removed
- deprecated internals, code and old features
- Support for MMOLib
messageeventtitleeventplaysoundevent
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
locationobjective - is now more robust if the player changes a worldbrewobjective - now counts newly brewed potions even if there were already some potions of the desired type inchestputobjective - 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
pickrandomevent - did not calculated chance correctlypickrandomevent - did not allowed dashes in event namesactionobjective - ignored offhand at allenchantobjective - did not work at all, now hasamountandrequirementModeparameters- 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 journalcommand 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
airwith the give command or the give event crashes the server - duplication of holograms when reloading BetonQuest and the hologram is hidden
menuconversation IO kicked players when conversation started in the air caused by flying detectionmenuconversation 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
sudoandcommandevents leading to broken conversations that could not be exited - the NPC's head could be stolen from conversations with the
cheststyle
Security
- it was possible to put a QuestItem into a chest
- bump log4j dependency 2.15.0 to fix CVE-2021-44228
takeevent - is now threadsafe
Файлы
BetonQuest.jar(4.86 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
2.0.0
Загрузчики
paperspigot
Версии игры
1.18.21.19.41.20.4
Загрузок
395
Дата публикации
December 31, 2023 at 9:37 PM