Commit Graph

266 Commits

Author SHA1 Message Date
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
BONNe
19aab998dc Fix copy-paste issue.
Generating Level Lore does not use proper settings.
2019-02-18 02:35:48 +02:00
BONNe
4db59d6c19 Implement completed challenge storage by island (#55).
Rework methods that access to ChallengesPlayerData object. Methods that access to this object will be private and use UUID and String where possible.
Add public methods that could use previously mentioned methods to access ChallengesPlayerData object.
Implement these methods in all places.

Add ability to enable/disable island storage in config (no-gui for now).
Disable challenge GUI opening, if user does not have island.
2019-02-18 01:29:42 +02:00
BONNe1704
f9b941059e Remove Deprecated Classes. 2019-02-18 00:32:51 +02:00
BONNe1704
3b4a64bb39 Merge changes in develop branch. 2019-02-14 14:31:07 +02:00
BONNe1704
e26c957797 Fix issue with Reward Item changing (#84).
This issue may happened because Player#getInventory()#addItem(ItemStack) tries to add element into existing items in player inventory. If it did not manage to add it, it splits it in parts. This splitting created this issue.
It was fixed, by using clone of reward items, instead of using original elements.
2019-02-14 14:20:08 +02:00
BONNe1704
bf9d71077b Fix issue when selecting single challenge does nothing.
It was not added to challenge set :(
2019-02-14 11:59:48 +02:00
BONNe1704
8f9aa78435 Fix confusing Select Challenge GUI. #86
Left Click on challenge will immediately return to previous panel (status = true), right click will select challenge.
2019-02-14 11:46:37 +02:00
BONNe1704
14660dd42c Fix NumberGUI item description issue.
There was missing lineLength parameter in most of NumberGui calls.
2019-02-14 10:46:56 +02:00
BONNe1704
68b0fa3b2e Improve debugging in Creative GameMode.
Add ability to Creative GameMode complete inventory and exp challenge without necessary items and exp.
2019-02-14 10:28:06 +02:00
BONNe1704
78fa459aa4 Implement ability to Fix player Data from GUI.
Fix issue when accept and decline buttons were with wrong names.
2019-02-13 16:17:44 +02:00
BONNe
fa6f70dc5b Fix issue when reset was blocked if user is in team and is not team owner. 2019-02-12 19:43:55 +02:00
BONNe
31b2fed8bc Implement remove one time challenge option in ChallengesGUI. 2019-02-12 16:24:41 +02:00
BONNe
810d57e042 Implement complete glow option. 2019-02-12 16:18:21 +02:00
BONNe
f5dd725edf Update config file. 2019-02-12 16:04:11 +02:00
BONNe
7fd4e4cd0f Allow to edit Challenge and Level description properties from Admin GUI 2019-02-12 15:58:10 +02:00
BONNe
250aea2f27 Fix issue when active level was not displayed.
This was implemented as in ASkyBlock, but it is not necessary. Better to display active level.
2019-02-12 15:48:27 +02:00
BONNe
6c3c097fbb Fix issue when uncompleted challenge was creating description as completed. 2019-02-12 15:42:09 +02:00
BONNe
d33a763cbe Add single method that generates level description. 2019-02-12 15:36:16 +02:00
BONNe
0317d057ab Implement Challenge Description into SelectChallengeGUI.
Fix issue, when reset and complete user challenges showed all challenges, instead of mission one.
2019-02-12 13:03:13 +02:00
BONNe
7778426b1e Implement Challenge Description customization.
Admins now can define Order of elements in challenge description, and remove elements, if they are not necessary.
2019-02-12 12:24:00 +02:00
BONNe
8f3beb4c1d Fix issue when Description separator loses selected color (#77) 2019-02-12 02:00:29 +02:00
BONNe
ab3275cd69 Rework Challenges Addon Language structure.
Reorganize structure.
Add missing translations.
Add colors.
2019-02-12 01:38:16 +02:00
BONNe
b2201ec48d Add ability to specify Lore line length via Settings. 2019-02-11 15:29:19 +02:00
BONNe
2bbb4e5c87 Fix issue when Challenges were not sorted by order number. 2019-02-10 17:00:30 +02:00
BONNe
dff3608aa3 Fix null-pointer crash in island reset event. 2019-02-08 21:54:08 +02:00
BONNe
55578ab88c Fix null-pointer crash when loading invalid challenge level. 2019-02-05 09:23:49 +02:00
BONNe
94a54c2156 Fix null-pointer issue in ChallengeLevel creation. 2019-02-05 09:13:39 +02:00
BONNe
fa03ea0669 Fix issue when users could open challenges gui, even if challenges in that world does not exist (#69) 2019-02-05 08:43:58 +02:00
BONNe
21cf82fe8e Fix slot-index issue.
NextSlotIndex value were not updated.
2019-02-02 22:22:04 +02:00
BONNe
93a9490cad
Fix some logic issue.
Add proper logic check for invalid Other Type challenges.
- If VaultHook is enabled required money should be more then 0, otherwise challenge is not valid.
- If LevelAddon is exists required level should be more then 0, otherwise challenge is not valid.
- If required experience is less then 0, challenge is not valid.
- If Level addon is missing, nut it requires some level, then challenge is not valid.
- If VaultHook is missing, nut it requires some money, then challenge is not valid.
2019-01-30 19:11:27 +02:00
tastybento
8becd9c08b Fixed reference for levels too 2019-01-30 08:03:23 -08:00
tastybento
7e0487113d Fixes import challenge name presentation
Previously was showing [challenge] instead of the challenge name. I
could change the locale text, but this works too.
2019-01-30 07:52:00 -08:00
tastybento
c9909f4b76 Refreshes challenge icon after completion
https://github.com/BentoBoxWorld/Challenges/issues/60
2019-01-29 15:03:41 -08:00
tastybento
78f924b7c3 Added defaults to getString for challenge import
This will avoid nulls if challenge lines like itemReward are missing.

Should help https://github.com/BentoBoxWorld/Challenges/issues/53
2019-01-29 14:38:26 -08:00
BONNe
f1f9072dc0 Add GuiButton that allows to switch MobHeads vs MobEggs... 2019-01-28 23:45:05 +02:00
BONNe
9918752589 Fix issue when completing challenge was not displayed in ChallengesGUI. (#60) 2019-01-28 21:01:26 +02:00
BONNe
7384afa262 Disable broadcast message for user. #62 2019-01-28 20:25:28 +02:00
BONNe
86b51df412 Update to BentoBox 1.2.0
In BentoBox 1.2 hooks are enabled before addons.
2019-01-28 20:21:48 +02:00
BONNe1704
78fccc996e Fix some issues in ImportManager. 2019-01-28 18:15:43 +02:00
BONNe1704
abfe81c5e6 Add GuiButton that allows to load 0.3 challenges.
Add Necessary methods in ImportManager.
2019-01-28 17:53:23 +02:00
BONNe1704
48eb14b377 Restore original Challenges and ChallengeLevels objects.
(For backward compatibility)
2019-01-28 16:28:25 +02:00
BONNe
37a8bd72c9 Fix issue when ConfirmationGUI never closes. 2019-01-28 01:21:37 +02:00
BONNe
d8812cd1ee Tweak ListUsersGUI.
- Complete and Reset challenges will be opened until pressed back button.
- Fix issue when confirm reset never closes.
2019-01-28 01:19:40 +02:00
BONNe
5bea79d263 Remove Light Gray Glass Panes at the end of each row in ChallengesGUI. 2019-01-27 13:10:43 +02:00
BONNe
c28e325f40 Fix issue when in MacOS system was left line breaks symbols. 2019-01-27 13:09:36 +02:00
BONNe
0050a83d1a Fix crash while enabling addon.
This crash happened because BentoBox hookManager is not initialized when addons are enabled.
2019-01-26 16:14:43 +02:00
BONNe
6d1f4999e4 Fix issue when Settings object were not saved on server shutdown. 2019-01-26 15:36:48 +02:00
BONNe
f3fe85ab2e Fix issue when SettingsGUI did not display updated values. 2019-01-26 15:36:21 +02:00
BONNe
d3ae242716 Remove "CR" at the end of strings. 2019-01-26 15:19:09 +02:00
BONNe
586b076860 Fix issues when Description were to long to fit in window. 2019-01-26 14:46:03 +02:00
BONNe
d6a39b2600 Add completion blockage for un-deployed challenges. 2019-01-26 13:58:00 +02:00
BONNe
2a6127b0f6 Remove repeating blockage for Island Challenge type. 2019-01-26 13:53:49 +02:00
BONNe
ab22651425 Fix an issue when users could do challenges in other gamemodes.
Fix an issue when users could complete challenges outside their island.
2019-01-26 13:47:56 +02:00
BONNe
01482b926b Fix issue, when new challenges and levels were without world name. 2019-01-26 13:17:38 +02:00
BONNe
4b2f974b56 Add correct language references. 2019-01-26 00:12:42 +02:00
BONNe
087ee07f45 Add glowing effect on challenge level icons that are completed. 2019-01-25 00:59:06 +02:00
BONNe
089f09dd45 Implement ChallengeLevel completion rewards.
Add methods isLevelDone() and addCompletedLevel() to ChallengesPlayerData object.
Add isLevelCompleted(), validateLevelCompletion() and setLevelComplete() to ChallengesManager.

Add check in TryToComplete after completing challenges first time.
2019-01-25 00:54:21 +02:00
BONNe
2a4b892ed7 Create EMPTY_RESULT variable to avoid so many new ChallengeResult object initializations. 2019-01-25 00:28:12 +02:00
BONNe
e0f38206aa Add check on permission. 2019-01-25 00:20:33 +02:00
BONNe
0943a48c3c Add Environment check when completing challenge. 2019-01-24 23:57:50 +02:00
BONNe
52b02e06bf Rework TryToComplete class.
Remove unnecessary code.
2019-01-24 23:29:56 +02:00
BONNe
1375d13ae4 Remove unused import. 2019-01-24 23:28:54 +02:00
BONNe
2734c70fc5 Add direct access to vaultHook and Level addon. 2019-01-24 23:28:25 +02:00
BONNe
e68c5b2773 Fix issue, when top command was not displayed in Description. 2019-01-23 21:50:10 +02:00
BONNe
96cb4488c3 Disable Money and Level buttons in admin panel, if EconomyPlugin or Level addon is missing. 2019-01-23 21:44:33 +02:00
BONNe
c3b87da88e Add 2 new variables in ChallengesAddon:
- economyProvided that indicate if there exist any EconomyPlugin.
- levelProvided that indicate if level addon is enabled.
2019-01-23 21:34:40 +02:00
BONNe
d3bf5a157f Fix issue when Has_Island option in UserList did not show players if they have not done any challenge. 2019-01-23 20:46:04 +02:00
BONNe
22205265f6 Fix issue when UniqueID was not accepted. Logical error. 2019-01-23 20:36:50 +02:00
BONNe
3d0f01f2dd Fix issue when icons cannot be changed via parse.
Parser does not work with materials. Use materials directly instead.
2019-01-23 20:31:26 +02:00
BONNe
ca32c53510 Update To BentoBox 1.1
Use new approach to hooking addons into game-mode.
2019-01-23 20:19:18 +02:00
BONNe
53da2d67c7 Fix logical error that opens all levels instead of locking them.
WaiverAmount should be reducer, not from whom reduces.
2019-01-23 19:50:15 +02:00
BONNe
38fce9a4b0 Fix issue when Challenge and ChallengeLevel icons were stored with glowing effect and lore from admin panel.
This issue happened because PanelItem overwrites ItemStack metaData.
It is fixed by returning clone of icon element instead of returning actual icon.
2019-01-23 19:49:13 +02:00
BONNe1704
9c4c5b7d86 Fix issue when Levels were not loaded with world name in unique ID.
Fix crash that appears after renaming Level to Other challenge type.
2019-01-23 18:01:19 +02:00
BONNe1704
bf22a50124 Add ToDoes about Economy. 2019-01-23 17:33:51 +02:00
BONNe1704
590b3f114c Rework ChallengesManager.
Implement all methods that were only placeholders.
Remove all unnecessary old methods.
Implement new methods in all classes.

User and Admin command now opens new GUI.
2019-01-23 17:30:30 +02:00
BONNe1704
1bc6bb2b76 Move LevelStatus to utils, as it is more Util then necessary class object. 2019-01-23 16:34:37 +02:00
BONNe1704
f75e4e080c Rework Challenge, ChallengeLevel and ChallengesPlayerData classes.
Challenge now will not know their world, as it is not necessary.
Remove ICON type, as it is useless.
Rename Level to Other, as under it will be not only level things.
Rename slot to order, as it was weird that users could define slot but not order. Order is easier to understand and use.

ChallengesLevel now knows all their levels.
Each challenge level only will be for single world.
Rename some variables.

ChallengesPlayerData was just adapted with changes in challenges and level classes.
2019-01-23 16:33:33 +02:00
BONNe1704
dba5a44461 Rename Challenges and ChallengeLevels classes. 2019-01-23 16:09:38 +02:00
BONNe1704
59c0f6bfea Deprecate all classes that are not necessary anymore. 2019-01-23 16:08:18 +02:00
BONNe
20dfc6a760 Perform LevelStatus improvements in ChallengesGUI. 2019-01-22 09:12:12 +02:00
BONNe
8711d7ad08 Rework Challenges Level Status checking.
In previous code challenges level status holds information for next level. It is fixed now, and current implementation allows to get everything that is needed.
2019-01-22 09:10:13 +02:00
BONNe1704
10a5dc1940 Apply single GUI style to all admin GUIs. 2019-01-21 15:23:16 +02:00
BONNe1704
c78c690818 Remove item name from Border Items 2019-01-21 14:00:13 +02:00
BONNe1704
60789276be Set all util guis to 45 element size.
Add Glass Pane Borders to these guis.
2019-01-21 12:21:53 +02:00
BONNe
ce794d771c Create ChallengesGUI that will be opened for users. 2019-01-21 00:01:26 +02:00
BONNe
d902e4b615 Add ability to move free challenges from start of the list to end of it. 2019-01-20 22:25:38 +02:00
BONNe
8143059e17 Add ManageEntitiesGUI and ManageBlocksGUI to EditChallengesGUI. 2019-01-20 19:35:08 +02:00
BONNe
a90f29e472 Add GUI that allows to edit required blocks. 2019-01-20 19:33:27 +02:00
BONNe
e9b20feac4 Remove unnecessary else if. 2019-01-20 19:29:55 +02:00
BONNe
7e3876f391 Fix issue when WALL_TORCH and WALL_SING was without icon. 2019-01-20 19:28:32 +02:00
BONNe
24646678bf Remove code duplication.
Material icon and Entities icon creation now are in GuiUtils class.
2019-01-20 17:54:51 +02:00