Commit Graph

198 Commits

Author SHA1 Message Date
BONNe
a2f0765de1 Add proper message when user opens challenges gui in world without a challenges. 2019-05-01 23:18:12 +03:00
BONNe
ca5cfcc841 Add button in Challenges admin GUI that allows to import default challenges. 2019-05-01 23:14:41 +03:00
BONNe
b24f7ebcb0 Implement title messages on first challenge/level completion (#108).
Add settings option that can enable/disable title message and its length.
Add ability to edit these settings via admin GUI.
Add ability to use some variables in title and subtitle in translation files.
2019-05-01 22:57:24 +03:00
BONNe
f0b156de31 Improve addon reload method.
Now it will call also manager.reload() that clears cache and resets database links.
Improve ReloadCommand. Now it will be able to reload both ways (soft way that clears only cache, and hard way that reassigns database connection) with reload command.
2019-05-01 17:10:05 +03:00
BONNe
93da0c714c Implement ability to import/generate default.json file.
Remove old unnecessary methods.

Improve default.json challenges.
2019-05-01 12:46:54 +03:00
BONNe
0418e64125 Improve cache management.
Do not load players in memory, and unload them when they leave.
2019-04-27 00:13:02 +03:00
BONNe
ae384c433d Fix crashing build. 2019-04-26 23:45:34 +03:00
BONNe
c05015716f Enable Level and Money editing, even when required addons or plugins are not provided. 2019-04-26 21:27:52 +03:00
BONNe
a41859459f Implement ability to change text via Chat instead of AnvilGUI (#97).
It was necessary as Anvil has limited char input, while chat is almost unlimited.
2019-04-26 21:20:36 +03:00
BONNe
507c68d683 Add ability to edit string messages from StringListGUI via Chat. 2019-04-26 20:59:52 +03:00
BONNe
ec099cee9c Improve default challenge loading and creating.
Remove world name from challenge and challenge level ids when default file is created.
Reassign correct world name to unique id when challenges and levels are loaded.
2019-04-26 11:18:57 +03:00
BONNe1704
017147ff3f Improve and simplify default challenge data storing. 2019-04-25 18:21:10 +03:00
BONNe1704
188e86d546 Small code cleanup. 2019-04-25 11:42:04 +03:00
BONNe
5a5d2d7782 Create method that will generate default.json file from existing challenges in memory and from given world. 2019-04-25 00:48:29 +03:00
BONNe
0e89f1216d Make clone to public method. 2019-04-25 00:39:21 +03:00
BONNe
e6f151ef89 Implement clone methods for Challenge and ChallengeLevel objects. 2019-04-25 00:08:13 +03:00
BONNe
4b233e2246 Start to implement default challenge loading.
Work in progress.
2019-04-24 07:45:05 +03:00
BONNe
f5cf5f5867 Add 2 new methods that detects if exist any challenge or level for given world. 2019-04-24 07:43:51 +03:00
BONNe
13faf478ee Use player BoundingBox to simplify code, instead of creating new boundingBox from player location. 2019-04-24 07:03:09 +03:00
BONNe
f16417b630 Remove deprecated code 2019-04-23 20:47:46 +03:00
BONNe
3b8b7129ad Fix issue when players could complete ISLAND type challenges near island border and complete, if outside border are required blocks. 2019-04-23 19:54:39 +03:00
BONNe
337defb452 Add protective code that prevents for setting search radius too large.
Now it will be caped at island radius.
2019-04-21 10:13:41 +03:00
BONNe1704
8d238a5789 Remove all deprecated code.
Remove Challenges.yml from resources, as old standard is outdated and there is no point to support it.
2019-04-11 12:49:43 +03:00
BONNe
d5e75491e6 Add protective code in ChallengesManager to avoid getting challenges for non-existing world. #622 2019-04-02 09:14:23 +03:00
BONNe
e33db6ef29 Fix issue when users were able to complete Challenges with less items than required (#101).
This issue happens because there were an issue with detecting if enough items are in player inventory. Each new required item stack forgets abouts previous founding.
Also it marked challenge as completed after items were failed to remove.
2019-04-01 10:14:31 +03:00
BONNe
a957dc3a62 Update to BentoBox API 1.4.0 2019-03-29 00:42:51 +02:00
BONNe
6bf439cef6 Add Single GUI enabling button in Settings GUI. 2019-03-05 10:55:44 +02:00
BONNe
c737c874da Improve Settings Icon. 2019-03-05 10:42:41 +02:00
BONNe
ef852a08a7 Add correct default permissions for '/challenges' and '/challengesadmin' commands. 2019-03-05 10:35:48 +02:00
BONNe
ba5c972e5f Fix issue when Island and Other type challenges were not marked as completed. 2019-03-05 10:30:58 +02:00
BONNe1704
24be0e0450 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	src/main/resources/locales/en-US.yml
2019-02-25 12:11:28 +02:00
BONNe1704
0f32e0e3d4 Implement configurable locked level icon (#98)
- Implement LockedIcon in ChallengeLevel (can be null)
- Implement defaultLockedIcon in Settings (can be overwritten by ChallengeLevel)
- Reformat Config File. !!!
2019-02-25 12:09:26 +02:00
BONNe
62189f0052 Merge flags into development build. 2019-02-22 19:47:36 +02:00
BONNe1704
f77c141772 Add new Buttons to settings GUI 2019-02-22 16:58:58 +02:00
BONNe1704
0bb3171c5c Cleanup button creation in Settings panel. 2019-02-22 16:36:28 +02:00
BONNe1704
7fb5140427 Merge remote-tracking branch 'origin/develop' into develop 2019-02-22 13:00:37 +02:00
BONNe1704
3f3cfd88a0 Register all request handlers in ChallengesAddon (#92) 2019-02-22 12:59:43 +02:00
BONNe1704
dd1e689ace Create Challenges Addon Request Handlers.
- Challenge Data Request handler - returns data map about requested challenge;
- Level Data Request handler - returns data map about requested level;
- Challenge List Request handler - returns list of challenges that operates in requested world;
- Level List Request handler - returns list of levels that operates in requested world;
- Completed Challenges Request handler - returns set of completed challenges for requested user in requested world.
2019-02-22 12:56:47 +02:00
BONNe1704
ddd43d27e6 Add event callers when completing/resetting challenges (#92) 2019-02-22 12:53:38 +02:00
BONNe1704
60965eb013 Create some challenges related events:
- CompletedEvent: fires when challenge/level is competed
- ResetEvent: fires when challenge is reset
- ResetAllEvent: fires when all challenges data in world is reset
2019-02-22 11:31:09 +02:00
BONNe
5e2d3f9cc1 Fix null-pointer issue when trying to get first element of empty list. 2019-02-20 00:33:53 +02:00
BONNe
4c762dd269 Fix mistake in assumptions.
Island#uniqueId is not a UUID object.
2019-02-20 00:30:34 +02:00
BONNe1704
7bb2ad09d3 Move TryToComplete from panel Package to tasks package. 2019-02-19 19:58:06 +02:00
BONNe1704
f38aee6ed8 Add lifeSpan to history data (#90).
In configuration add ability to add lifespan to history data. Data that will be older then configured values, will be removed from database.
This operation will happen only on player data save operation.
2019-02-19 18:30:12 +02:00
BONNe1704
9328f434cc Implement Challenges protection flags.
Create a new Flag Challenges Protection (#93), that allows to define which users can complete challenges on island.
Create a new Flag Challenges Island Limitation (#95), that allows to disable check for users to be on their islands for completing challenge.
2019-02-19 17:53:03 +02:00
BONNe1704
8649409cbb Add Single Challenges GUI. (#89)
Add ability to enable Single GUI in config.
Add configurable admin and player method (in config) that will open GUI with GameModes.
Add ability to define default player GameMode GUI.

Add new commands that will process config options.
2019-02-18 15:25:45 +02:00
BONNe1704
a91ec9805f Fix parameters help string. 2019-02-18 13:43:17 +02:00
BONNe
ffaffde734 Implement history data storing in ChallengesPlayerData object (#90).
- Add new variable "history" in ChallengesPlayerData.
- Add new methods in ChallengesManager that populates LogEntry and adds it to history variable.
- Add ability to enable/disable history storing in config (default: disabled).

- Fix issue when resetAllChallenges resets only caller challenges.
2019-02-18 11:28:07 +02:00
BONNe
ca2b7e2ec6 Add history log to ChallengesPlayerData object.
Add @NonNull annotation to all population methods.
2019-02-18 09:24:28 +02:00
BONNe
e6f2b9e0b7 Fix issue when reset all challenges does not work. 2019-02-18 09:18:34 +02:00