Skip to content

Releases: ezeiger92/QuestWorld2

QuestWorld 2.8.0

13 Jan 18:00
3de1560
Compare
Choose a tag to compare

Supports 1.13.2 and 1.12.2 (Requires QW-Legacy)

NOTE: Switching between versions is not recommended at this time!

No changes from RC1

Changes from alpha 3:

Allow quests modified on startup to be saved
Fixed missing "enabled" gui button
Fixed imported quests being disabled
Added paged view for quest missions (rather than 9 fixed slots)

Extras extension:
Added missing gui buttons for "Do Quest" and "Statistic" mission types
Fixed "Click Block" particles throwing an exception if the target world failed to load
Added toggle to consume or run the command from "Command" missions

Changes from alpha 2:

Fixed 1.12.2 support
Fixed #148
Fixed #151

Changes from alpha 1:

Fixed mob icon issues (Sub issue in #146)
Fixed mission load order (Sub issue in #147)

Original

As this comes from the 1.13 branch, all of the benefits of that branch are now in effect. What are they? Don't know! That was months ago. Something about more missions?

QW-Legacy has also been improved and adds much better support for versions between 1.8 and 1.12 (none of which are officially supported, mind you)

The other extensions have not been updated, but I'll stick to the bizarre "upload all the things" method of release.

This is an alpha version, expect bugs. My tests were not sufficient for the number of changes made to QuestWorld.

QuestWorld 2.8.0-RC1

16 May 22:14
d40e695
Compare
Choose a tag to compare
QuestWorld 2.8.0-RC1 Pre-release
Pre-release

Minor patch to add 1.14 support. Will be marked "pre-release" until bukkit 1.14 is considered stable.

I'm also dropping official support for 1.12.2 moving forward. If you use this version (or versions as old as 1.8), the Legacy extension should allow them to function.

Extensions can now be found in the new Extension Repo, which will greatly clean up these release pages.

Versions supported

Spigot 1.14.1, 1.13.2
Bukkit 1.14.1, 1.13.2

QuestWorld 2.7.0

18 Jul 06:10
761fec6
Compare
Choose a tag to compare

Server version: 1.12.2

Major back-end changes in this version, so much so that I'm having a hard time listing new features and changes because they are all encased in "refactoring" commit messages. I'll parse through them and give a better summary soon.

Additions

Legacy extension

A magical extension! Provides support for servers as old as 1.8.8 (possibly older, though untested). Just drop this in the extension folder and QuestWorld should work fine.
Important
This is by no means official support for old server versions. It was created as a test for the new adapter system that aimed to provide some compatibility between 1.12.2 and future version 1.13.

PlaceholderAPI support

If installed, translatable text will fill in placeholders. There is also a Papi extension that adds a placeholder comparison mission, though it is in early beta.

Session playtime

The playtime mission has a new session mode, which will only count time since login or quest completion. Basically it's what you thought "playtime" was to begin with.

Tickets:

QuestWorld 2.6.13

24 Feb 23:20
Compare
Choose a tag to compare

Changes from 2.6.11:

Breaking:

Newline and color serialization have been changed again to be consistent, meaning that if you use newlines or raw ampersands (not for color codes), your messages may need updating. Sorry!

Additions:

Text position tags in placeholders

Changes the place text is sent when a translation is sent to a player (does not work for translated GUI elements, for obvious reasons).

%tellraw% - Sends remaining text as a tellraw. Must be a valid tellraw object.
%title% - Sends remaining text to the title. Supports color codes.
%subtitle% - Sends remaining text to the title. Supports color codes.
%actionbar% - Sends remaining text to the title. Supports color codes.

Example:

test.node: |
  Normal text, displayed in chat &8(supports colors)
  %tellraw%   {"text": "Must be a valid tellraw object", "color": "red"}
  %title%     This is a &aTitle!
  %subtitle%  Note: Excess whitespace around tags is removed
  %actionbar% Actionbar messages work best on spigot-based servers

Single player resets

Command: /qe reset <player> [category_id [quest_id]]
Without arguments, loses all questing progress. Otherwise only progress for a category (or quest in category) will be reset.

Miscellaneous

  • Dialogue files deleted when owning mission/quest/category are deleted
  • All language files are extracted from the plugin on startup (only en_us exists for now)
  • Added compatibility classes to support LeaderHeads
  • Fixed #82
  • Fixed #100
  • Fixed #102
  • Fixed #103
  • Fixed #109

Known Bugs:

  • Deleting a quest/category sends a stacktrace if the file does not exist. It is annoying, but not harmful.

QuestWorld 2.6.10

06 Jan 19:35
c9b8f22
Compare
Choose a tag to compare

The goal of 2.6.10 is to have a build much more stable than anything I've released up to this point. If at all possible, I'd like to have zero bugs, but that's just never going to happen. At any rate, here ya go!

REMINDER:
Grab the extension files from this page, they have bug fixes and actually work with this version of QuestWorld.

Changes from RC5:

  • Fix handling of ", \ in JsonBlob

Changes from RC4:

  • Change how mission progress is saved (uuid vs index)
  • Fixed #92
  • Fixed #93
  • Fix inability to delete missions

Changes from RC3:

  • Actually fix serialization issues

Changes from RC2:

  • Fixed requirement selector incorrectly blocking some quests
  • Fixed #80
  • Fixed cleared quest data incorrectly leaving an empty map
  • Fixed invalid json prop for GOLD
  • Fixed quest book menus not updating when clicking things
  • Fixed deserialize failure with "&"
  • Dialogues are now colorized internally
  • Switched to CLICK_RUN callback for party accept button

Changes from RC1:

  • '\n' creates newline in names, lore (#79)
  • Fixed a mission import issue
  • Split locked message into permission locked and world locked (#83)
  • Added more translation variables for task completed/failed (#84)
  • Added message support for permission in the form "permission.node This is the message"
  • Prevent illegal category/quest access via /quests [category [quest]]
  • Added version to /qe (#85)
  • Added command for quest book (#86)
  • Prevent requirement cycles in requirement selector

Breaking:

  • Changed dialogue file names (should auto-import)
  • Changed mission storage in quests (should auto-import)

Changelog:

  • Added party auto-kick (#56)
  • Added better wrapping of extension errors
  • Fixed quest file issues (#60, #66)
  • Fixed dialogue not accepting commands (#73)
  • Added proper dialogue editor
  • Fixed initial location radius being zero
  • Fixed @p in dialogue commands
  • Fixed quest duplication on reload
  • Added extension resource support
  • Vastly improved /questeditor
  • Support /quests [category_id [quest_id]]
  • Fixed missing wildcard compare for some missions (#75)
  • Fixed unknown missions showing up in mission selector
  • Added back button to command editor and dialogue editor
  • Fix missing default name for kill named mob
  • Pause progress if quest is ordered and mission has dialogue
  • Changed tellraw based editors to invalidate old options
  • Removed commands /qe add_command and /qe delete_command in favor of a listener for /qw-invoke
  • [QW-Citizens] Added config for NPC particles
  • [QW-Citizens] GUI for NPCs with multiple "Accept Quest" missions
  • [QW-Citizens] Fixed colors not covering newlines

QuestWorld 2.6.9.1 (Standalone Edition)

27 Nov 01:11
Compare
Choose a tag to compare
Pre-release

BIGGEST CHANGE: NO MORE CS-CORELIB! (Well unless you use the citizens extension... sorry!)
There are some nice changes for admins and players, like getting category and quest previews in the editor and global text wrapping for text on items, but this is primarily an internal update.
As part of that I also entirely broke the API, so you'll need new versions for any extensions you use. Old ones will print nasty messages!

I'm sure I missed some stuff here but these are the basics of what changed.

-edit-
I've patched bug #66 and replaced the build here, the source code download won't show this fix.
-/edit-

Breaking:

  • Moved dialogue prefix from being saved with dialogue to being added at runtime. You'll need to modify existing dialogues
  • Quest reward items save in a different format now, they will migrate but are not backwards compatible
  • Sound.yml now uses "sound: a_sound" rather than "list: [one, two, ...]", and will only take the first argument if given a list (and yell about being given a list)
  • Changed "missions.*.citizen" to "missions.*.custom_int" and"missions.*.name" to "missions.*.custom_string". Both will migrate but are not backwards compatible
  • Quest cooldowns and mission timeframes now store as int rather than string. Again, migrates but not backwards compatible.
  • Moved translations "book.display" and "book.lore" into "guide-book"
  • Moved translations "navigation.display" and "navigation.lore" into "navigation.item"

General:

  • Fixed #52
    • If you use an asterisk for item lore, it acts as a wildcard
  • Fixed #14
  • Fixed missing click noise for page switcher
  • Fixed #57
  • Fixed reflection-based item names
  • Added text wrapping to most elements (Fixes #58)
  • Changed GuideBook to partially support changing lore (old books stop working after a restart)
  • Added location preview to "Edit Location" button
  • Added "Any Entity" type to kill missions (Fixed #55)
  • Fixed #61
  • Fixed #62
  • Fixed #66

API:

  • Made tellraw() accept an array of inputs
  • Made a slightly less hacky way for creating json for tellraw messages
  • "Decaying" tag type for missions supporting death resetsonDeath
    • Allows custom behavior on death, like removing 5 progress rather than setting directly to 0
  • Changed how mission checking works
    • No longer uses callbacks, offers more flexibility
    • Looks like "for(MissionSet.Result : MissionSet.of(MissionType, Player))" rather than "PlayerManager.of(Player).forEachTaskOf(MissionType, ...)"
  • Changed how Ticking and Manual work
    • No longer returns a value, instead takes a MissionSet.Result and can set or add progress as is needed
  • QuestWorld is now a static interface for methods, QuestWorldPlugin is the plugin code
  • Removed EconWrapper, after testing it wasn't needed
  • Created WeakValueMap, mapping keys to WeakReference values
  • Added ItemBuilder.wrapText and ItemBuilder.wrapLore to wrap text across all fields or just the lore respectively
  • Added Text.wrap, a generic wrapping method used by the methods above
  • Added slightly more documentation

QuestWorld 2.6.8 (Decoupled Edition)

27 Sep 01:37
Compare
Choose a tag to compare
Pre-release

-edit-
Big change I forgot to mention: As part of the complete menu replacement, menus now allow you to move items around your inventory! If you want to update rewards or have the wrong slot selected when changing quest items, you can just move the items around without closing out of the menu. Really handy!
-/edit-

Lots of changes and improvements in this version, and once again probably a bit buggy.

The most important change is that all extensions have been removed from the main plugin. I've uploaded the files for ASkyBlock, ChatReaction, Citizens, and Votifier here. They should all work the same as they used to. All you need to do is put them in the folder "QuestWorld/extensions/"

I've also uploaded the first (alpha) version of the "Extras" extension, which offers missions "Harvest", "Click Block", "Sumbit At", and "Command". The missions should all work fine, they just lack polish.
The "Money" extension is not complete enough to upload right now.

In the future all extension updates (and future extensions) will be uploaded to the QuestWorld-Extensions repo. I haven't decided how, but it will probably mess up the repo for a little while :P

Breaking!

(Or at least potentially requiring config changes)

  • Fixed #43
    • Tweak: tasks with dialog don't display the default completion message
  • Moved all translations to language files (like "en_us.yml")
  • Removed all extensions, will be uploaded as standalone files

General

  • Fixed class check in ExtensionLoader
  • Made QuestWorld actually load without vault
  • Caused builtins to install before extensions
  • Fixed "Kill Named Mob" sub-issue from #45
  • Added #38
  • Added #46
  • Replaced archaic input system
  • Removed all references to CustomItem
  • Replaced remaining string instances of "§" with appropriate placeholders
  • Replaced entire menu system
    • Removed all references to ChestMenu, MenuClickHandler, etc
  • Removed references to Clock and MenuHelper
  • Removed reference to TellRawMessage in a really hacky way
  • Fixed #50
  • Support null for ItemStacks in Menu.put, empties the slot

API

  • Added IMissionWrite.setLocation(Location)
  • Fixed PlayerTools.tellraw
  • Added default function Translator.wrap(String[]) to transform [a, b, c] to [%a%, %b%, %c%]
  • Added @mutable as a marker for values that could be modified, see comments (in future, docs too)
  • Added @nullable as a marker for values that could be null, see comments (in future, docs too)

QuestWorld 2.6.7.2 (Unlimited Bugfix Reloaded Edition)

30 Jul 19:07
Compare
Choose a tag to compare

Another bugfix on the 2.6.7 branch that's a big enough problem to get a mini-release, except this time I'm removing the old posts and squashing everything here!

  • Fixed #42
  • Fixed bug in changing location radius
  • Removed debug mission edit message

2.6.7.1 ("Unlimited Bugfix Edition" Bugfix Edition):

2.6.7 (Unlimited Bugfix Edition):

  • Fixed #28
  • Fixed #34 and #7 (same issue, probably)
  • Fixed #29
  • Added #30
  • Swapped shift/non-shift for #32
  • Fixed #35
  • Added previews of categories/quests in editor
  • Added number key support for number based mission properties
    • Hit a number key while hovering to type in that number, 'q' is backspace.
    • Because minecraft, 1-9 work, but there is no 0. Just use '1' and right click to subtract 1.
  • Removed many old/deprecated things
  • Moved mission menu items to each mission type (Really good thing!)
  • Moved all ticking checks into each mission type
  • Moved all citizen code into citizen extension
  • Improved mission progress checks and ticking checks, much faster now
  • Added hook for money mission, but got distracted before I could implement missions
  • Tons of other small things that I can't even remember at this point
  • Fixed #37
  • Added fallback "UnknownMission" for missions that cannot be found
  • Fixed #40

QuestWorld 2.6.6 (Unlimited Questing Edition)

15 Jun 07:44
Compare
Choose a tag to compare

Welcome to 2.6.6

I thought this would be a small patch to just fix bugs, but then I decided to refactor the entity selector again.
Sad news: We lost sorting for now. It may come back in the future, but I didn't have an easy way to make it work with the generic page system.

But since we now have a generic page system...

Unlimited Categories!

Unlimited Quests!

Just use the navigator (paper near the top left) and left/right click to switch pages. Holding shift jumps to the start/end depending on the click.

Currently your page is not saved when you switch menus, so "back" always takes you to the first page. Kind of annoying, but this is a beta release and it will be fixed later :D

Changelog:

  • Reverted alive entity detection, fixes #27
  • Added ItemBuilder.clone for accurately cloning null ItemStacks
  • Added more nice views to EntityTools.getEntityDisplay
  • Big rework to paged menus, now generalized for any menu.
  • Added infinite category support
  • Added infinite quest support
  • Added dummy number-click handler, fixes #26
  • Added translations for page navigator

QuestWorld 2.6.5 (Lets-Not-Upload-Buggy-Beta-Again Edition)

13 Jun 10:37
Compare
Choose a tag to compare

Changes:

  • Removed a bunch more deprecated code
  • Moved debug messages to "fine" logging (Not working yet)
  • More work towards /qe reload
  • Location mission now uses customInt for radius ("citizen" in the config, sorry!)
  • Missions can specify an upgrade function to perform changes on load
  • Missions can specify a progressString to override the default
  • Added abstraction for Bukkit.getPlayer to reduce annoying "SuppressWarnings" calls
  • Use distanceSquared in distance calculations to reduce calls to sqrt - inner game dev leaking out here
  • Map.clear() is a thing. Map.clear() is a thing. Map.clear() is a thing.
  • Changed selection method for killable entities, should be more flexible now (even if more verbose)
  • Bump version number, woooo.

Fixes:

  • #20
  • #21
  • #22
  • #23
  • #24
  • #25
  • Kill mission "acceptsSpawners" text was inverted
  • Exception on /qe reload quests
  • OOB logic fail on /qe reload