Closed CuteLittleSky closed 3 months ago
I'm sorry but I do not understand the problem. Can you give more information? I don't understand how this is related to BentoBox.
I'm sorry but I do not understand the problem. Can you give more information? I don't understand how this is related to BentoBox.
In Bentobox/plugins/locales/Challenges/zh-CN.yml add:
materials:
book: 书
The Chinese translation of Book is "书". If you rename Book to "粘液科技指南" by using an anvil or other means, it will still be displayed "书" in /is challenges GUI.This will affect Slimefun or other plugins that rename items.
From en-US.yml notes:
# # Showcase for manual material translation
# materials:
# # Names should be lowercase.
# cobblestone: "Cobblestone"
Probably before parsing item translation, we could add a code that checks if display name is set.
The display name is stored in ItemMeta, and it has a method hasDisplayName
and getDisplayName
This should still allow all translation keys, but items with display name would be kept as they are.
Yes, that sounds like a great idea. Should this be a common BentoBox thing, @BONNe ? Is it possible?
Ideally, we would want Utils that translate things in BentoBox core. As currently every addon has it's own Util implementation.
We had this LibraryLang
or something like that, but to my knowledge, it does not work or is not updating.
We could make that util method from Challenges addon to BentoBox, and use it in every addon, instead of having translation in addon file, it would be in core bentobox file.
Or maybe we could introduce a new translation file:
locales/Minecraft
that would store all translations in other languages.
Currently, it uses Spigot
constants, but if we have a separate file, we could use Minecraft translationsKey, and Util method would just match item with a proper translation key.
I think all things have translation keys and it would be easier for anyone to translate things.
I would prefer to have the Minecraft folder.
I did a PR for Challenges to skip objects that already have a display name. If that works, then I think we can start to move some of these generic Utils into BentoBox.
@CuteLittleSky Please try the latest SNAPSHOT from ci.bentobox.world and let me know if that worked.
I did a PR for Challenges to skip objects that already have a display name. If that works, then I think we can start to move some of these generic Utils into BentoBox.
@CuteLittleSky Please try the latest SNAPSHOT from ci.bentobox.world and let me know if that worked.
It works, I tested it myself using the same method.
Edit: I tested b548,It works perfectly.
But there seems to be a problem with the Challenges build test. I get an error when I use mvn clean package:
[ERROR] Tests run: 17, Failures: 0, Errors: 8, Skipped: 0, Time elapsed: 9.071 s <<< FAILURE! - in world.bentobox.challenges.ChallengesAddonTest
[ERROR] world.bentobox.challenges.ChallengesAddonTest.testGetChallengesManager Time elapsed: 0.396 s <<< ERROR!
java.lang.IllegalArgumentException: The embedded resource 'panels/main_panel.yml' cannot be found in addon.jar
at world.bentobox.challenges.ChallengesAddonTest.testOnEnableHooked(ChallengesAddonTest.java:298)
at world.bentobox.challenges.ChallengesAddonTest.testGetChallengesManager(ChallengesAddonTest.java:353)
[ERROR] world.bentobox.challenges.ChallengesAddonTest.testOnEnableNotHooked Time elapsed: 0.04 s <<< ERROR!
java.lang.IllegalArgumentException: The embedded resource 'panels/main_panel.yml' cannot be found in addon.jar
at world.bentobox.challenges.ChallengesAddonTest.testOnEnableNotHooked(ChallengesAddonTest.java:312)
[ERROR] world.bentobox.challenges.ChallengesAddonTest.testGetChallengesSettings Time elapsed: 0.034 s <<< ERROR!
java.lang.IllegalArgumentException: The embedded resource 'panels/main_panel.yml' cannot be found in addon.jar
at world.bentobox.challenges.ChallengesAddonTest.testGetChallengesSettings(ChallengesAddonTest.java:391)
[ERROR] world.bentobox.challenges.ChallengesAddonTest.testGetImportManager Time elapsed: 0.035 s <<< ERROR!
java.lang.IllegalArgumentException: The embedded resource 'panels/main_panel.yml' cannot be found in addon.jar
at world.bentobox.challenges.ChallengesAddonTest.testOnEnableHooked(ChallengesAddonTest.java:298)
at world.bentobox.challenges.ChallengesAddonTest.testGetImportManager(ChallengesAddonTest.java:371)
[ERROR] world.bentobox.challenges.ChallengesAddonTest.testOnEnableHooked Time elapsed: 0.039 s <<< ERROR!
java.lang.IllegalArgumentException: The embedded resource 'panels/main_panel.yml' cannot be found in addon.jar
at world.bentobox.challenges.ChallengesAddonTest.testOnEnableHooked(ChallengesAddonTest.java:298)
[ERROR] world.bentobox.challenges.ChallengesAddonTest.testOnLoad Time elapsed: 0.036 s <<< ERROR!
java.lang.IllegalArgumentException: The embedded resource 'panels/main_panel.yml' cannot be found in addon.jar
at world.bentobox.challenges.ChallengesAddonTest.testOnLoad(ChallengesAddonTest.java:249)
[ERROR] world.bentobox.challenges.ChallengesAddonTest.testOnDisable Time elapsed: 0.056 s <<< ERROR!
java.lang.IllegalArgumentException: The embedded resource 'panels/main_panel.yml' cannot be found in addon.jar
at world.bentobox.challenges.ChallengesAddonTest.testOnEnableHooked(ChallengesAddonTest.java:298)
at world.bentobox.challenges.ChallengesAddonTest.testOnDisable(ChallengesAddonTest.java:336)
[ERROR] world.bentobox.challenges.ChallengesAddonTest.testGetWebManager Time elapsed: 0.044 s <<< ERROR!
java.lang.IllegalArgumentException: The embedded resource 'panels/main_panel.yml' cannot be found in addon.jar
at world.bentobox.challenges.ChallengesAddonTest.testOnEnableHooked(ChallengesAddonTest.java:298)
at world.bentobox.challenges.ChallengesAddonTest.testGetWebManager(ChallengesAddonTest.java:381)
[INFO] Running world.bentobox.challenges.ChallengesManagerTest
[ERROR] Tests run: 52, Failures: 12, Errors: 0, Skipped: 1, Time elapsed: 19.728 s <<< FAILURE! - in world.bentobox.challenges.ChallengesManagerTest
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testLoad Time elapsed: 1.115 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testLoad(ChallengesManagerTest.java:230)
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testWipeDatabase Time elapsed: 1.053 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testLoad(ChallengesManagerTest.java:230)
at world.bentobox.challenges.ChallengesManagerTest.testWipeDatabase(ChallengesManagerTest.java:361)
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testWipePlayers Time elapsed: 1.051 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testLoad(ChallengesManagerTest.java:230)
at world.bentobox.challenges.ChallengesManagerTest.testWipePlayers(ChallengesManagerTest.java:397)
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testReload Time elapsed: 1.052 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testReload(ChallengesManagerTest.java:246)
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testGetChallenge Time elapsed: 1.054 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testGetChallenge(ChallengesManagerTest.java:731)
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testDeleteChallenge Time elapsed: 1.037 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testDeleteChallenge(ChallengesManagerTest.java:763)
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testAddChallengeToLevel Time elapsed: 1.053 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testLoad(ChallengesManagerTest.java:230)
at world.bentobox.challenges.ChallengesManagerTest.testAddChallengeToLevel(ChallengesManagerTest.java:817)
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testDeleteChallengeLevel Time elapsed: 1.058 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testLoad(ChallengesManagerTest.java:230)
at world.bentobox.challenges.ChallengesManagerTest.testAddChallengeToLevel(ChallengesManagerTest.java:817)
at world.bentobox.challenges.ChallengesManagerTest.testDeleteChallengeLevel(ChallengesManagerTest.java:852)
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testRemoveChallengeFromLevel Time elapsed: 1.05 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testLoad(ChallengesManagerTest.java:230)
at world.bentobox.challenges.ChallengesManagerTest.testAddChallengeToLevel(ChallengesManagerTest.java:817)
at world.bentobox.challenges.ChallengesManagerTest.testRemoveChallengeFromLevel(ChallengesManagerTest.java:830)
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testGetLevelChallenges Time elapsed: 1.042 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testGetLevelChallenges(ChallengesManagerTest.java:717)
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testHasAnyChallengeDataWorld Time elapsed: 1.061 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testLoad(ChallengesManagerTest.java:230)
at world.bentobox.challenges.ChallengesManagerTest.testHasAnyChallengeDataWorld(ChallengesManagerTest.java:865)
[ERROR] world.bentobox.challenges.ChallengesManagerTest.testHasAnyChallengeDataString Time elapsed: 1.047 s <<< FAILURE!
java.lang.AssertionError
at world.bentobox.challenges.ChallengesManagerTest.testLoad(ChallengesManagerTest.java:230)
at world.bentobox.challenges.ChallengesManagerTest.testHasAnyChallengeDataString(ChallengesManagerTest.java:876)
[INFO] Running world.bentobox.challenges.commands.ChallengesCommandTest
[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.96 s - in world.bentobox.challenges.commands.ChallengesCommandTest
[INFO] Running world.bentobox.challenges.commands.CompleteChallengeCommandTest
[INFO] Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.455 s - in world.bentobox.challenges.commands.CompleteChallengeCommandTest
[INFO] Running world.bentobox.challenges.tasks.TryToCompleteTest
[WARNING] Tests run: 27, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 4.809 s - in world.bentobox.challenges.tasks.TryToCompleteTest
[INFO] Running world.bentobox.challenges.utils.UtilsTest
[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.659 s - in world.bentobox.challenges.utils.UtilsTest
[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR] ChallengesManagerTest.testAddChallengeToLevel:817->testLoad:230
[ERROR] ChallengesManagerTest.testDeleteChallenge:763
[ERROR] ChallengesManagerTest.testDeleteChallengeLevel:852->testAddChallengeToLevel:817->testLoad:230
[ERROR] ChallengesManagerTest.testGetChallenge:731
[ERROR] ChallengesManagerTest.testGetLevelChallenges:717
[ERROR] ChallengesManagerTest.testHasAnyChallengeDataString:876->testLoad:230
[ERROR] ChallengesManagerTest.testHasAnyChallengeDataWorld:865->testLoad:230
[ERROR] ChallengesManagerTest.testLoad:230
[ERROR] ChallengesManagerTest.testReload:246
[ERROR] ChallengesManagerTest.testRemoveChallengeFromLevel:830->testAddChallengeToLevel:817->testLoad:230
[ERROR] ChallengesManagerTest.testWipeDatabase:361->testLoad:230
[ERROR] ChallengesManagerTest.testWipePlayers:397->testLoad:230
[ERROR] Errors:
[ERROR] ChallengesAddonTest.testGetChallengesManager:353->testOnEnableHooked:298 ? IllegalArgument
[ERROR] ChallengesAddonTest.testGetChallengesSettings:391 ? IllegalArgument The embedd...
[ERROR] ChallengesAddonTest.testGetImportManager:371->testOnEnableHooked:298 ? IllegalArgument
[ERROR] ChallengesAddonTest.testGetWebManager:381->testOnEnableHooked:298 ? IllegalArgument
[ERROR] ChallengesAddonTest.testOnDisable:336->testOnEnableHooked:298 ? IllegalArgument
[ERROR] ChallengesAddonTest.testOnEnableHooked:298 ? IllegalArgument The embedded reso...
[ERROR] ChallengesAddonTest.testOnEnableNotHooked:312 ? IllegalArgument The embedded r...
[ERROR] ChallengesAddonTest.testOnLoad:249 ? IllegalArgument The embedded resource 'pa...
[INFO]
[ERROR] Tests run: 127, Failures: 12, Errors: 8, Skipped: 3
When I deleted all the contents of the test folder and it can be built normally
Hmm, weird. It passes on mine and on GitHub https://github.com/BentoBoxWorld/Challenges/actions/runs/9528482633 and on the CI https://ci.codemc.io/job/BentoBoxWorld/job/Challenges/
Could it be your setup? It looks like it may not be able to make some files during the testing, like the database or panels.
Hmm, weird. It passes on mine and on GitHub https://github.com/BentoBoxWorld/Challenges/actions/runs/9528482633 and on the CI https://ci.codemc.io/job/BentoBoxWorld/job/Challenges/
Could it be your setup? It looks like it may not be able to make some files during the testing, like the database or panels.
Maybe it's a problem with my Maven...
Is your feature request related to a problem?
Renamed items will be replaced with the original name of the item after using this replacement, is it possible to detect when an item has been renamed and not replace it? (Because Slimefun's items are all original items with NBT)
Describe the solution you'd like.
Non-translation of renamed items
Describe alternatives you've considered.
none
Agreements
Other
No response