Commit Graph

585 Commits

Author SHA1 Message Date
BONNe1704 e9f9b1b8d5 Rework how challenges are stored.
This is old change that was declined (#105), but unfortunately it is necessary.
If every ID is based on world names, than addon cannot process "/" in it. It mean that worlds cannot be put into different folders.
This change will fix it, but it is not completed.

In progress.
There does not exist converter, so old data is not usable with this version.
2019-08-01 13:19:15 +03:00
tastybento 9800da5973 Fixed permissions check to remove dot 2019-07-31 23:21:52 -07:00
BONNe 6c22185626
Remove crashing strings.
mode-in-world and mode-with-island were not working as a used symbol were not parsable.
2019-07-31 12:03:40 +03:00
BONNe1704 4f35f69960 Fix tabComplete method. 2019-07-24 14:34:33 +03:00
BONNe1704 9681494c1c Fix issue with wrongly applied world name lowercasing.
It looks like, exist plugins that keep capital letters in world names. That mean, it is not correct to lowercasing any id's.
To fix it, now, instead of lowercasing, challenges should be case insensitive.
2019-07-24 13:43:29 +03:00
BONNe 2a30185922
Create zh-TW.yml
From #152
2019-07-14 13:44:33 +03:00
BONNe f475cc17be
Create zh-CN.yml
From #152
2019-07-14 13:43:44 +03:00
BONNe cfad9150c7
Increase max value to order number
Previous 54 was a limitation of slot count. Remove it as it is redundant.
#146
2019-07-08 20:30:34 +03:00
BONNe1704 cd85a929d0 Fix issue when custom generated default challenges were overwritten and deleted. 2019-07-08 09:36:28 +03:00
BONNe 5e0f0510d9 Add admin reset command, that allows to reset player challenges (#141)
Fix some bugs in complete command that did not display challenge list.
Add new lang parameters in en-US and lv-LV.
2019-06-23 16:51:49 +03:00
BONNe d4bcc1ee19 Fix admin message about setting up database objects. 2019-06-23 12:42:01 +03:00
BuildTools b2f2c4a0bb Fix issue with corrupted world names after upgrading from 1.13 to 1.14. 2019-06-20 08:11:38 +03:00
BONNe 4527216dc2 Add ability for admins to complete challenge without gui. (#136) 2019-06-16 21:21:25 +03:00
BONNe ca5ff504f0 Add protection code in TryToComplete task, to avoid negative numbers in max completion times. 2019-06-16 20:46:12 +03:00
BONNe 4e2181f524 Add ability to complete challenge multiple times at once via command. 2019-06-16 20:43:07 +03:00
BONNe 526fe9ce81 Update flag Registering to newest addon API. 2019-06-16 20:25:02 +03:00
BONNe 071c6ca83a Improve item description management. 2019-06-16 20:22:42 +03:00
BONNe 68a26e4d28 Fix unstackable reward item displaying (#135) 2019-06-16 15:59:41 +03:00
BONNe a7f9e01d61 Fix issue when unstackable items flood challenge description (#135) 2019-06-16 15:57:05 +03:00
BONNe 1a70ee3ad8 Fix issue with Entity and Block selecting GUIs.
Items were not selected unless player use right click. Not it will work correctly.
2019-06-16 11:43:05 +03:00
BONNe fc4f3ca0b6 Add AutoSaver task for Challenges Addon.
Remove WorldSave event listener.
2019-06-12 22:56:52 +03:00
nivcoo daeaafd0b2 Added fr-FR translation (#131)
* Update ReadMe.

* Remove # symbol from development build name

* feat. add FR language

* feat. add FR language

* feat. add FR language

* Added nivcoo to the authors of this locale
2019-06-10 13:37:22 +02:00
BONNe1704 94c3fd9fa4 Add Complete Wipe button in AdminGUI that allows to remove all Challenges Addon data from database.
This request comes from Discord.

It also mention to format DiskDrive to avoid ability to restore database, but it is not implemented yet. Will be implemented in future releases.
2019-06-05 12:30:48 +03:00
BONNe a9abe32dbe Add a lot null-pointer checks and console errors about loading null-value element from database. 2019-06-03 23:14:12 +03:00
BONNe deab2d3530 Fix failing Tests.
These tests failed because in I added Server version check in ChallengesAddon class.
2019-05-24 09:39:40 +03:00
BONNe 330034ea8e Add SIGN_MATERIAL constant in ChallengesAddon which value depends on Minecraft version.
This will allow to drop down 1.14 branch.
2019-05-20 08:28:35 +03:00
BONNe 7e04f592ad Add custom admin message that informs about non-existing challenges in current world. 2019-05-19 13:29:02 +03:00
BONNe c3f93fd797 Implement ability to select multiple Entities and Blocks in SelectBlockGUI and SelectEntityGUI. (#121)
Fix issue with unsplitted text in ManageBlocksGUI and ManageEntitiesGUI. (#121)
2019-05-18 00:01:03 +03:00
BONNe1704 413429a091 Merge remote-tracking branch 'origin/develop' into develop 2019-05-16 10:30:46 +03:00
BONNe1704 9704ed32aa Fix issue when IslandTypeChallenges required blocks were cleared if completion was uncessesfull.
The issue was that it cleared wrong map. It must clear priority queue, but cleared required elements.
2019-05-16 10:30:01 +03:00
BONNe 3521495739 Fix issue when entities has not been removed on challenge completion (#118).
I forgot to populate entity queue :(
2019-05-14 09:55:34 +03:00
BONNe 9f8bf03708 Fix wrongly display message for required money in edit challenge gui (#119)
It showed required level instead of required money in element description.
2019-05-14 09:20:17 +03:00
BONNe1704 34ed09e768 Change json adapter factory to BentoBoxTypeAdapterFactory class. 2019-05-09 16:45:53 +03:00
tastybento a25796613f Changes to fit new API for database transition. (#114)
Config files must implement the ConfigObject interface now instead of
DataObject. They no longer need to specify uniqueId.
2019-05-09 16:24:01 +03:00
BONNe1704 698473e747 Add Latvian lang file.
Address some eng file errors.
2019-05-09 15:50:14 +03:00
BONNe1704 218d952d92 Add es-ES.yml translation.
Thanks to SrAcosta.
2019-05-09 11:48:28 +03:00
BONNe1704 ec491284b6 Add missing Title for Choosing Game Mode gui. 2019-05-09 11:45:39 +03:00
BONNe1704 6c10fcdca9 Fix NPE when opening ChallengesGUI (#116).
Add code that removes challenges level from all its challenges, if level is deleted.
Add protection code that shows admins that something is not correct if challenge level is not in database.
2019-05-09 11:22:01 +03:00
BONNe c8088f275d
Rework TryToComplete. (#109)
* Rework TryToComplete.

Implement ability to complete challenge multiple times at once.
To do it, I split everything in checking/removing/rewarding steps.

In checking step, it calculates if it is possible to complete with minimal requirements and then calculates maximal repeating factor.
In removing step, it removes everything that is necessary.
In rewarding step, it give rewards by necessary factor (multilayer).

I rework item/block/entity removing as factors may be influenced at the last element, so I improve everything by memory usage. Create necessary sets/lists/queues for faster access to already collected items.

* Add method that returns removed items, if somehow algorithm did not manage to remove all items.
Fix issue when removeItems method did not merge ItemStacks as they had different item amount.

Return and fix TryToCompleteTest.

* Implement Multiple Challenge Completion command and GUI. (#73)

/[gamemode] challenges complete [number] allows to complete challenges [number] amount (or less if not enough items)
Via GUI users can right click on challenge and if it is repeatable, then it will open AnvilGUI that accepts only numbers as input.
2019-05-06 12:10:02 +03:00
BONNe d9486bbbdb Fix issue when Import Default Challenges Button did not work 2019-05-05 23:54:35 +03:00
BONNe f18c8d0dff Remove NBT editing via NMS.
Use Dummy Mojang profiles with custom skulls, instead of editing NBT with NMS.
This will work on all versions instead of just with correct NMS hacks.
2019-05-05 17:10:10 +03:00
wellnesscookie 88e84cef2a Color extends on further locale text (#112)
* Update ReadMe.

* Remove # symbol from development build name

* Color extends on further locale text

If a Friendly Name of a challenge is colored, it's color will pass on to all words after it.
Resetting it's color and setting it back after [level] will fix this.

Not really a relevant PR, but I've asked @BONNe  on Discord if it's okay with him if I change this and he confirmed.
2019-05-04 19:01:44 +03:00
BONNe d60f20e394 Fix issue when Color codes did not work in opened Panels and Titles (#110)
These text element colors were not translated correctly.
Now it should work.
2019-05-04 11:16:41 +03:00
BONNe c702dd492b Implement Challenge Complete method. (#15)
Method currently will be available only via /[gamemode] challenges complete <challenge_id>.
2019-05-02 00:31:36 +03:00
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 ec843856cc Replace default challenge file type from YAML to JSON 2019-04-26 23:31:41 +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 5ab53d0e9d Add Potion effects to alchemist challenge 2019-04-24 21:53:45 +03:00
BONNe1704 8191b02d86 Add some more default challenges. 2019-04-24 19:04:04 +03:00
BONNe bf801a67fc Disable TryToCompleteTest as it will fail now.
Need to review and fix this test, as TryToComplete now uses Item.isSimilar() method that is not working outside bukkit environment.
2019-04-24 09:02:11 +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
BONNe 6395064cbb Populate with some default Expert challenges. 2019-04-12 23:37:46 +03:00
BONNe1704 7919689993 Refactor challenges and levels with correct YML format.
Add Competent challenges.
2019-04-12 17:53:13 +03:00
BONNe1704 a52f1563a5 Create default challenges file that will contain challenges and levels for lazy people. 2019-04-11 17:24:19 +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 bc5cb2068b Improve pom.
Removes -#NUM from master build.
Replaces -#0 to -LOCAL if use local build.
2019-04-01 10:09:40 +03:00
BONNe a957dc3a62 Update to BentoBox API 1.4.0 2019-03-29 00:42:51 +02:00
BONNe 577a13a698 Inits 0.6.5-SNAPSHOT Release
Updates to BentoBox 1.4.0.

Adds build.number to maven properties.
Rename develop to ci profile.
CI profile will rename build.number instead of build version.
2019-03-29 00:32:56 +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
BONNe e32b07b7fc
Fix wrong message. 2019-02-25 12:28:11 +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
BONNe1704 a1de95dbd9 Improve header for challenges.yml 2019-02-25 10:25:24 +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
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
Florian CUNY 40d33f4afc
Added BONNe to the authors list in addon.yml 2019-02-13 22:35:48 +01:00
Florian CUNY eb82ddb868
Added metrics: true in addon.yml 2019-02-13 22:34:17 +01: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
BONNe1704 7f399b2961 Remove zn-CN as it is completely outdated. 2019-02-13 13:10:12 +02:00
BONNe1704 8f51a49719 Prepare 0.5.0 release. 2019-02-13 13:08:32 +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 ecc7c976c4 Add cave block and sky grid to permissions in challenges addon. 2019-02-03 16:54:17 +02:00
BONNe 21cf82fe8e Fix slot-index issue.
NextSlotIndex value were not updated.
2019-02-02 22:22:04 +02:00
BONNe f14f23c766
Add 2 new messages
Add message for missing-addon and incorrect challenge.
2019-01-30 19:12:41 +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 21c5704864 Fix issue when inventory displays message about island challenge and via-versa. 2019-01-28 21:32:57 +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 739b1dc2be Update Lang file.
- Improve import message.
- Add backward string.
2019-01-28 18:17:57 +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 3f42af1c49 Update Config file. 2019-01-26 16:14:57 +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 a55a2f536e Add Import Button 2019-01-26 13:17:59 +02:00
BONNe 01482b926b Fix issue, when new challenges and levels were without world name. 2019-01-26 13:17:38 +02:00
BONNe ca26fa0d8f Add missing Language references. 2019-01-26 00:12:58 +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
BONNe1704 7b0df2d5a7 Add Material to ItemStack transformation in GuiUtils class. 2019-01-20 16:12:20 +02:00
BONNe1704 0645f7cb11 Create new class GuiUtils that contains methods, that is frequently used and can be static. 2019-01-20 15:55:12 +02:00
BONNe dadf907efb Create SelectBlocksGUI that allows to select single Material that is block from GUI. 2019-01-20 11:54:40 +02:00
BONNe 3d5dbca422 Improves panel border creating method.
Allow to change row count in panel and border material.
2019-01-19 23:48:38 +02:00
BONNe 43fe78e0f9 Fix issue when delete function was not working. 2019-01-19 22:20:42 +02:00
BONNe 16be7f26a1 Create class that allows to change required entities for challenge. 2019-01-19 21:26:16 +02:00
BONNe 0109431262 Create new method in CommonGUI, that allows to fill border with black stained glass around Panel. 2019-01-19 21:25:48 +02:00
BONNe 88f9d32862 Implement Reset and Complete Challenge for ListUsersGUI. 2019-01-19 18:29:08 +02:00
BONNe be7435f73a Implement AnvilGUI into StringListGui so users could edit text via Anvil. 2019-01-19 18:21:37 +02:00
BONNe faa237ddf0 Integrate AnvilGUI into NumberGUI so users could manually write numbers in GUI.
Add error messages, if number is not valid.
2019-01-19 18:13:15 +02:00
BONNe c42652dde8 Implement add and remove challenge from challenge level panels in EditLevelGUI. 2019-01-19 18:02:19 +02:00
BONNe 6125eb5d34 Create SelectChallengeGUI that allows to choose one challenge from input challenge list and return it into GUI. 2019-01-19 17:53:50 +02:00
BONNe 9415452e33 Implement AnvilGUIs into EditLevelGUI for editing Text fields. 2019-01-19 17:41:27 +02:00
BONNe 1d0f090948 Implement existing GUIs in EditChallengeGUI.
Change Challenges.environment from list to set.
2019-01-19 17:27:41 +02:00
BONNe 865fa626af Create SelectEnvironmentGUI that allows to select and deselect different world environments. 2019-01-19 17:12:00 +02:00
BONNe 17d0f0b8f3 Create SelectEntityGUI that allows to select an entity from all living creatures.
It displays mobs in two ways: as Mob eggs or as Mob Heads.
2019-01-19 16:54:43 +02:00
BONNe 433484d9f7 Add new enum HeadLib that contains library with all mob heads from Minecraft. 2019-01-19 15:49:54 +02:00
BONNe 11c3637b2a Add error messages when unique ID is not unique. 2019-01-18 19:28:12 +02:00
BONNe 1ecbac43bf Add last missing element in AdminGUI.
Now AdminGUI all icons are functional.
2019-01-18 19:26:03 +02:00
BONNe 870bf6d232 Implement ResetAllChallenges confirmation GUI to ListUsersGUI. 2019-01-18 19:13:39 +02:00
BONNe1704 0f56eb7185 Add EditSettingsGUI to AdminGUI.
Fix issue when other GUIs were not opened.
2019-01-18 17:40:01 +02:00
BONNe1704 6cdc619cf0 Implement existing GUIs in EditLevelGUI. 2019-01-18 17:38:34 +02:00
BONNe1704 1b1b081a42 Add existing GUIs in EditChallengeGUI. 2019-01-18 17:29:24 +02:00
BONNe1704 97174930d5 Create constructor that allows to input any String Collection. 2019-01-18 17:22:44 +02:00
BONNe1704 fb06dae7ab Add constructors that allows to set minimal and maximal return value. 2019-01-18 17:03:08 +02:00
BONNe1704 25371fc6aa Replace setValue method with BiConsumer.
This will provide ability to use setters directly in caller GUIs.
2019-01-18 16:50:34 +02:00
BONNe1704 09f69bd46a Implement Consumer in ConfirmationGUI instead of depending on setValue method. 2019-01-18 16:49:39 +02:00
BONNe 13291b450c Implement ConfirmationGUIs in Delete operation for ListLevelsGUI and ListChallengesGUI. 2019-01-17 23:09:32 +02:00
BONNe 29dadf3841 Implement existing GUIs in AdminGUI. Update TODO comments. 2019-01-17 22:56:05 +02:00
BONNe dab5f2b331 Remove commands from UtilGuis, instead use CommonGUI.valueObject to store new value.
Proper ItemSwitchGUI implementation.
2019-01-17 22:44:48 +02:00
BONNe bd48e85fcc Create method that allows to change ValueObject value. 2019-01-17 22:38:45 +02:00
BONNe1704 2ae8a5d634 Create ItemGUI class that will be used to change all required and reward item stacks. 2019-01-17 17:49:51 +02:00
BONNe1704 1508492a69 Create StringListGUI class that allows to edit list of strings. 2019-01-17 16:55:32 +02:00
BONNe1704 c79173b411 Remove command existing check from ConfirmationGUI.
Add CompositeCommand as class variable.
2019-01-17 16:27:16 +02:00
BONNe1704 6903fa5d40 Create NumberGUI that allows to change integer value and run command that will apply this integer. 2019-01-17 16:23:03 +02:00
BONNe1704 e1f6cc8b47 Create ConfirmationGUI class that creates GUI with 2 buttons.
On Cancel it should return to previous GUI.
On Accept it should process given command. If command does not exist, it should throw error message in chat. At the end it should return to previous GUI.
2019-01-17 13:16:42 +02:00
BONNe1704 35cea3344a Add different operation modes for ListUsersGUI. 2019-01-17 12:19:33 +02:00
BONNe1704 aaaf774952 Create ListChallengesGUI that allows to view all challenges and Edit or Remove them, depending on given mode. 2019-01-17 12:10:29 +02:00
BONNe1704 7060afd33d Create ListLevelsGUI class that allows to view all Levels.
It has 2 modes: edit mode and delete mode.
2019-01-17 12:04:16 +02:00
BONNe1704 efab8f7e24 Improve GUIs naming. 2019-01-17 11:36:39 +02:00
BONNe1704 dbe8cc50df Rename some GUIs. 2019-01-17 11:33:13 +02:00
BONNe 818892e618 Create GUI that could edit challenges levels. 2019-01-16 22:23:12 +02:00
BONNe1704 016deec34c Create ChallengesEditGUI class that will allow to edit challenges via ingame GUI.
This GUI currently does not have ability to change values. It only contains skeleton for each option, that user should be able to change.
Add new parameters to Challenges class.
2019-01-16 19:25:01 +02:00
BONNe1704 d5f19310c8 Create ChallengesUserListGUI that will display user heads in rows and allows to select specific user. 2019-01-14 17:21:45 +02:00
BONNe1704 594fa0f27f Create common buttons in CommonGUI panel. 2019-01-14 17:21:00 +02:00
BONNe1704 6a5ec144d1 Create ChallengesSettingsGUI class that allows to change Challenges Addon Settings via ingame menu. 2019-01-14 15:20:37 +02:00
BONNe1704 291239e244 Create Challenges Admin Gui, so admin could choose action that needs to be processed. 2019-01-14 15:05:06 +02:00
BONNe1704 c7aafa63ef Create CommonGUI panel that will be used in all other GUIs where it is necessary. 2019-01-14 13:29:10 +02:00
BONNe1704 6c0ac96251 Use proper Addon settings getters. 2019-01-10 11:40:23 +02:00
BONNe1704 b8e0ca4331 Rework ChallengesAddon main class.
Add dependencies to AcidIsland and BSkyBlock addons in pom.xml.
Use proper way how to get GameMode admin and user commands.
Init Settings object and implement onReload() method.

Add check on disabled game modes, to avoid loading challenges in addons, where it should be disabled by settings.
2019-01-10 11:36:06 +02:00
BONNe1704 dd6f8caed6 Add Settings class that will process ChallengesAddon configuration. 2019-01-10 11:30:54 +02:00
BONNe1704 3971519d1d Rename FreshSqueezedChallenges to ChallengesImportManager.
ChallengesImportManager name makes more sense then FreshSqueezedChallenges
2019-01-10 11:16:04 +02:00
Florian CUNY 4c3026f3c1 Version 0.3.0 (BentoBox 1.0) 2019-01-05 11:17:03 +01:00
tastybento 32dbebd607 Removing async and updating to 1.13.2 API
The async saving is not the right thing to do here anyway, so I'm
removing it.

https://github.com/BentoBoxWorld/Challenges/issues/45
2018-12-31 18:43:32 -08:00
Florian CUNY bf1890c392 Final harsh way to fix the ambiguity??? 2018-12-30 15:01:21 +01:00
Florian CUNY 11a86b1445 Using the hard way to fix the ambiguity 2018-12-30 14:53:58 +01:00
Florian CUNY 0041d07151 Fixed ambiguous lambda
IDEA wouldn't let me build the addon with the method reference :/
2018-12-30 14:42:54 +01:00
Florian CUNY ba3f6b4b8b Renamed addon to Challenges 2018-12-30 14:32:25 +01:00
Florian CUNY 8f51ddb634 Moved everything to world.bentobox.challenges package 2018-12-30 14:31:26 +01:00
tastybento 5009729300
Merge pull request #41 from BONNe/autosaver
Implement AutoSaving
2018-12-21 12:48:13 -08:00
BONNe1704 b1c12e7454 Improve SaveListener.
Save challenges un world save event only if in current world has any challenge.
2018-12-18 11:26:29 +02:00
BONNe1704 4edc1c5c62 Create WorldSaveEvent listener that stores challenges, when event occur.
Partial fix of issue #21.
2018-12-18 10:58:56 +02:00
BONNe b37fee1423 Fix issue #23 - ChallengesToDo shows wrong number.
This issue happens, because LevelStatus keeps record about current level completion. So "novice" level knows how much it needs to unlock the next level and so on.
My proposed fix is just workaround of current behavior, but I think there is necessary better rework of LevelStatus object.
2018-12-18 00:26:46 +02:00
BONNe1704 cd503d7f71 Add missing message variables. 2018-12-17 15:10:42 +02:00
BONNe1704 3dd23addc4 Change spacing from tab to space. 2018-12-17 15:03:12 +02:00
BONNe1704 c2051d23e5 Implement Money support for challenges. #25
If VaultHook is found, then add money to user account.
Add check on Required XP and Required Money.
Enable Money withdraw if isTakeMoney() is true.
2018-12-17 15:00:22 +02:00
tastybento cb046894b5 Merge remote-tracking branch 'origin/master' into develop 2018-12-04 16:45:16 -08:00
tastybento 278bd822c3 Revert SURROUNDING to ISLAND for now as it doesn't match enum. 2018-12-01 20:35:01 -08:00
Li Keqing ab77df3e78 Translate into Chinese 2018-11-26 18:13:14 +08:00
tastybento 5f7581f09c Challenges reset when island is reset.
Fixed locale duplication.

https://github.com/BentoBoxWorld/addon-challenges/issues/2
https://github.com/BentoBoxWorld/addon-challenges/issues/3
2018-11-23 17:06:42 -08:00
tastybento 97bec0f870 Challenges can only be done in the world that they belong.
https://github.com/BentoBoxWorld/addon-challenges/issues/24
2018-11-23 16:40:06 -08:00
tastybento edc2c455c4 Fixes inventory item removal bug (for sure this time).
Also saves player data after player completes a challenge or the
challenge is reset. Now reloading challenges doesn't cause challenge
completion loss.

https://github.com/BentoBoxWorld/addon-challenges/issues/27
https://github.com/BentoBoxWorld/addon-challenges/issues/30
2018-11-23 10:42:20 -08:00
tastybento 326b8ca0cf Fixed item removal. Added unit tests.
https://github.com/BentoBoxWorld/addon-challenges/issues/27
2018-11-19 08:54:31 -08:00
tastybento ac80a7e7e4 Fix for taking items even if challenge incomplete
https://github.com/BentoBoxWorld/addon-challenges/issues/27

Also added admin challenge reset command.
2018-11-18 19:39:14 -08:00
tastybento e5e022754b Added challenges reload admin command.
This reloads from the database files so admins can edit the challenges
and then reload them without restarting the server.

https://github.com/BentoBoxWorld/addon-challenges/issues/27
2018-11-12 11:44:43 -08:00
tastybento b55cc822a9 Made generic some required items.
FIREWORK_ROCKET, ENCHANTED_BOOK, WRITTEN_BOOK and FILLED_MAP will be
checked generically instead of specifically because meta data can be
different when created each time.

https://github.com/BentoBoxWorld/addon-challenges/issues/27
2018-11-12 11:35:49 -08:00
tastybento 1e07223d61 Fixes issue with Level not being referenced correctly.
https://github.com/BentoBoxWorld/addon-challenges/issues/26
2018-11-12 10:24:18 -08:00
tastybento c70f5cf2f3 Fix error when no blocks required, only entities.
Updated POM to use correct Level org.

May be related to
https://github.com/BentoBoxWorld/addon-challenges/issues/28
2018-11-12 09:55:42 -08:00
tastybento 263390deb7 Updated to 0.12.0 API. 2018-10-30 18:26:47 -07:00
tastybento c14b242cbd Added admin complete command
Other items are WIP
2018-10-06 08:49:49 -07:00
tastybento 65a2f19fff WIP: Added required items panel 2018-09-08 16:49:32 -07:00
tastybento 482c95d9ce Fixes parsing bug for potions.
https://github.com/BentoBoxWorld/bentobox/issues/265

Adds version from POM to addon.yml
2018-09-03 21:32:26 -07:00
tastybento 5d2f4f3316 Merge remote-tracking branch 'origin/master' into develop 2018-09-01 17:10:02 -07:00
Dave Akers 22dc2721d7 Broadcast messages 2018-09-01 17:52:47 -05:00
tastybento 649006e1ef Minor adjustments to code 2018-08-31 10:57:03 +09:00
tastybento 4e3ebc4af8 Fixed item names in challenges.yml
https://github.com/BentoBoxWorld/addon-challenges/issues/9
2018-08-31 10:53:59 +09:00
tastybento aa805c7c24 Fixes bug where no entities are required for surrounding challenge
https://github.com/BentoBoxWorld/addon-challenges/issues/8
2018-08-27 14:01:16 -07:00
tastybento 13a887d1b9 Removed commands that will be done via GUI. 2018-08-18 14:40:56 -07:00
tastybento 9dd0e12878 Fix island level reporting wrong number 2018-08-16 19:19:39 -07:00
tastybento 2caf744273 Restructured to use Maven resources folder 2018-08-15 20:23:38 -07:00
tastybento c22fd34fbe WIP moved to admin challenges command
Adding a management GUI
2018-08-12 03:04:30 +09:00
tastybento 2272c5f59b Using Config and Database API naming 2018-08-06 07:46:43 -07:00
tastybento ab32c1de80 Updated to renamed API 2018-08-05 20:39:18 -07:00