* Fix issue when users could not select non-block items as icons for challenges and levels. (#190)
* English update (#193)
* Organized imports
* Minor code cleanup
* Updated English locale file.
* Translate zh-CN.yml via GitLocalize (#188)
* Make default translation looking a bit nicer (#192)
* Make default translation looking a bit nicer
* Updating a few friendly names and rewording some phrases
* Add generic .gitignore
* Fix novice level
Update `chiseledmaker` name in `novice` level.
* Adapt literal style (#197)
Improve translations and process as a YAML string.
* Test coverage (#199)
* Test coverage for Challenges Command
* Added CompleteChallengeCommand test class
* Added Utils test class
* Added ChallengesGUI test class
* Fix code smells from sonarcloud analysis
* Added .gitignore
* Added Travis CI config file
* WIP ChallengesManager Test class
* Added ChallengesManager test class
* Removed debug
* Removed code smells.
* Added ChallengesAddon test class.
* Added onDisbale test
* Added new TryToComplete test class - WIP
Covers inventory challenges.
* Added Island Challenge entity tests to TryToComplete test class
* Fix a bug with challenge deletion.
If challenge has been left in a level, then system did not remove challenge from it and was kept as ghost challenge, preventing from completing level.
* Fixes tests
* Updated travis.yml
* All strings to spanish (#200)
* Translate es.yml via GitLocalize
* Translate es.yml via GitLocalize
* Translate es.yml via GitLocalize
* Fix LevelListRequestHandler.
This handler did not return list of strings but list of challenge levels, that is incorrect.
Not it should work correctly.
* Create ro.yml
* Create id.yml
* Remove blanks files now that GitLocalize is fixed.
* Initial Russian translation (#207)
* Translate ru.yml via GitLocalize
Co-authored-by: @mt-gitlocalize @IPeredero @LoveBiscuit
* Changed build character from # to b
* Add German translation (#210)
* Translate de.yml via GitLocalize
* Translate de.yml via GitLocalize
* Translate de.yml via GitLocalize
Co-authored-by: xXjojojXx <36734820+xXjojojXx@users.noreply.github.com>
Co-authored-by: FunnysBanana <51290016+FunnysBanana@users.noreply.github.com>
Co-authored-by: mt-gitlocalize <mt@gitlocalize.com>
* Czech translation. Credit @Polda18
* Added a uniqueId sanitization when creating challenges/levels
This will help fixing issues with spaces, hyphens and accents in non-English languages.
* Fixes bug with checking entities in nether and end (#219)
https://github.com/BentoBoxWorld/Challenges/issues/218
Adds test case to check for compliance.
* Add 7 new placeholders for Challenges Addon.
- `[gamemode]_challenge_total_completion_count` returns number of sum of challenge completions for user.
- `[gamemode]_challenge_completed_count` returns number of completed challenges (at least once) for user.
- `[gamemode]_challenge_uncompleted_count` returns number of uncompleted challenges for user.
- `[gamemode]_challenge_completed_level_count` returns number of completed levels for user.
- `[gamemode]_challenge_uncompleted_level_count` returns number of uncompleted levels for user.
- `[gamemode]_challenge_unlocked_level_count` returns number of unlocked levels for user.
- `[gamemode]_challenge_locked_level_count` returns number of locked levels for user.
Fixes#224
* Add 2 new placeholders:
- `[gamemode]_challenge_latest_level_name` returns latest unlocked challenge level name
- `[gamemode]_challenge_latest_level_id` returns latest unlocked challenge level id
Fixes#226
* Fix broken tests due to placeholder additions.
b5ecffb7252958ca8b6c
* Added default perms for aoneblock
* Downgrade to 0.8.1 version
* Add option to quit from conversation by writing "cancel" in chat.
Move sanitizeInput to a GuiUtil class.
* Change latest version to 0.8.1
Added new config option "gui-settings.undeployed-view-mode" with 3 values
- 'VISIBLE' - all challenges are visible
- 'HIDDEN' - only deployed challenges are visible
- 'TOGGLEABLE' - users will be able to choose option for themself (not implemented)
Implement functionality in ChallengesGUI, where if option hidden is set, then all undeployed challenges are removed.
Implement ability to edit this option via admin Settings panel.
Add [gamemode].complete.multiple permission that will allow/prevent to complete challenge multiple times at once.
Introduce new MultipleGUI that opens GUI with 5 buttons that allows to choose how many times challenge should be completed.
Remove AnvilGUI, as it is broken. Replaced with Spigot Conversation API.
Remove lore-config from GUI (broken).
Remove RIGHT_CLICK to complete multiple times (broken).
* 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.
- Implement LockedIcon in ChallengeLevel (can be null)
- Implement defaultLockedIcon in Settings (can be overwritten by ChallengeLevel)
- Reformat Config File. !!!
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.
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.
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.