diff --git a/README.md b/README.md index 18eef7a..a41610a 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Biomes addon for SkyBlock, SkyGrid, CaveBlock and AcidIsland. It allows to chang ## Where to find Currently Biomes Addon is in **Alpha stage**, so it may or may not contain bugs... a lot of bugs. Also it means, that some features are not working or implemented. -Latest official **Alpha Release is 0.4.2**, and you can download it from [Release tab](https://github.com/BentoBoxWorld/Biomes/releases) +Latest official **Alpha Release is 0.4.5**, and you can download it from [Release tab](https://github.com/BentoBoxWorld/Biomes/releases) Or you can try **nightly builds** where you can check and test new features that will be implemented in next release from [Jenkins Server](https://ci.codemc.org/job/BentoBoxWorld/job/Biomes/lastStableBuild/). diff --git a/TODO.md b/TODO.md index 17ad0e4..0ba587d 100644 --- a/TODO.md +++ b/TODO.md @@ -6,6 +6,19 @@ This page contains plans for each Addon version. - [ ] Store Biome per Island. - [x] On owner change, reset biomes that is not available for new owner. +## Release 0.5.0 +- [ ] Rework GUI again: + - [ ] Do the same tricks as in Challenges GUI. + - [ ] Add proper Biomes Description #18 + - [ ] Simplify user GUI +- [ ] Store Biome change information per: + - [ ] Player + - [ ] Island +- [ ] Implement more cost options: + - [ ] Cost per biome change (linear / exponential) + - [ ] Cost per block +- [ ] Remove deprecated code. + ## Release 0.4.0 - [ ] Create unlockable biomes: - [ ] By challenge #11 diff --git a/pom.xml b/pom.xml index 4a389f2..0740782 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ world.bentobox biomes - 0.4.2 + ${revision} Biomes Biomes is an add-on for BentoBox, an expandable Minecraft Spigot plugin for island-type games like SkyBlock or AcidIsland. @@ -45,8 +45,55 @@ UTF-8 1.8 1.7.4 + + 1.13.2-R0.1-SNAPSHOT + 1.4.0 + 1.3.0 + 1.7 + 1.2.1-SNAPSHOT + + ${build.version}-SNAPSHOT + + 0.4.5 + -LOCAL + + + + + ci + + + env.BUILD_NUMBER + + + + + -#${env.BUILD_NUMBER} + + + + + + + + master + + + env.GIT_BRANCH + origin/master + + + + + ${build.version} + + + + + + spigot-repo @@ -70,42 +117,24 @@ org.spigotmc spigot-api - 1.13.2-R0.1-SNAPSHOT + ${spigot.version} provided - - org.mockito - mockito-all - 1.10.19 - test - - - org.powermock - powermock-module-junit4 - ${powermock.version} - test - - - org.powermock - powermock-api-mockito - ${powermock.version} - test - world.bentobox bentobox - 1.1 + ${bentobox.version} provided net.wesjd anvilgui - 1.2.1-SNAPSHOT + ${anvilgui.version} net.milkbowl.vault VaultAPI - 1.7 + ${vault.version} provided @@ -234,31 +263,4 @@ - - - - sonar - - https://sonarcloud.io - bentobox-world - - - - - org.sonarsource.scanner.maven - sonar-maven-plugin - 3.4.1.1168 - - - verify - - sonar - - - - - - - - \ No newline at end of file diff --git a/src/main/java/world/bentobox/biomes/panel/CommonPanel.java b/src/main/java/world/bentobox/biomes/panel/CommonPanel.java index 60e7a75..8eb0e09 100644 --- a/src/main/java/world/bentobox/biomes/panel/CommonPanel.java +++ b/src/main/java/world/bentobox/biomes/panel/CommonPanel.java @@ -8,6 +8,7 @@ import java.util.List; import world.bentobox.bentobox.api.panels.PanelItem; +import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder; import world.bentobox.bentobox.api.user.User; import world.bentobox.biomes.BiomesAddon; import world.bentobox.biomes.objects.Settings.UpdateMode; @@ -299,10 +300,16 @@ protected PanelItem createCommonButton(CommonButtons button, PanelItem.ClickHand } default: // All buttons should be in switch case. - return null; + return new PanelItemBuilder().build(); } - return new PanelItem(icon, name, description, glow, handler == null ? clickHandler : handler, false); + return new PanelItemBuilder(). + icon(icon). + name(name). + description(description). + glow(glow). + clickHandler(handler == null ? clickHandler : handler). + build(); } @@ -460,7 +467,13 @@ else if (reduce) }; } - return new PanelItem(icon, name, Collections.emptyList(), false, handler == null ? clickHandler : handler, false); + return new PanelItemBuilder(). + icon(icon). + name(name). + description(Collections.emptyList()). + glow(false). + clickHandler(handler == null ? clickHandler : handler). + build(); } @@ -508,6 +521,7 @@ protected enum CommonButtons /** * This enum contains buttons that is made of numbers. */ + @Deprecated protected enum NumberButtons { SET_1, diff --git a/src/main/java/world/bentobox/biomes/panel/admin/AdminBiomeEditPanel.java b/src/main/java/world/bentobox/biomes/panel/admin/AdminBiomeEditPanel.java index 357532f..3c413fc 100644 --- a/src/main/java/world/bentobox/biomes/panel/admin/AdminBiomeEditPanel.java +++ b/src/main/java/world/bentobox/biomes/panel/admin/AdminBiomeEditPanel.java @@ -11,6 +11,7 @@ import net.wesjd.anvilgui.AnvilGUI; import world.bentobox.bentobox.api.panels.PanelItem; import world.bentobox.bentobox.api.panels.builders.PanelBuilder; +import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder; import world.bentobox.bentobox.api.user.User; import world.bentobox.biomes.BiomesAddon; import world.bentobox.biomes.objects.BiomesObject; @@ -645,7 +646,13 @@ private PanelItem createPropertyButton(PropertyButtons button) clickHandler = (panel, user1, clickType, slot) -> true; } - return new PanelItem(icon, name, description, this.currentEditMode.equals(button), clickHandler, false); + return new PanelItemBuilder(). + icon(icon). + name(name). + description(description). + glow(this.currentEditMode.equals(button)). + clickHandler(clickHandler). + build(); } @@ -680,7 +687,13 @@ private PanelItem reopenAnvilGui() return true; }; - return new PanelItem(icon, name, description, false, clickHandler, false); + return new PanelItemBuilder(). + icon(icon). + name(name). + description(description). + glow(false). + clickHandler(clickHandler). + build(); } diff --git a/src/main/java/world/bentobox/biomes/panel/admin/AdminMainPanel.java b/src/main/java/world/bentobox/biomes/panel/admin/AdminMainPanel.java index a2af616..61bf232 100644 --- a/src/main/java/world/bentobox/biomes/panel/admin/AdminMainPanel.java +++ b/src/main/java/world/bentobox/biomes/panel/admin/AdminMainPanel.java @@ -9,6 +9,7 @@ import world.bentobox.bentobox.api.panels.PanelItem; import world.bentobox.bentobox.api.panels.builders.PanelBuilder; +import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder; import world.bentobox.bentobox.api.user.User; import world.bentobox.biomes.BiomesAddon; import world.bentobox.biomes.panel.CommonPanel; @@ -223,7 +224,13 @@ private PanelItem createButton(ButtonType buttonType) }; } - return new PanelItem(icon, name, description, glow, clickHandler, false); + return new PanelItemBuilder(). + icon(icon). + name(name). + description(description). + glow(glow). + clickHandler(clickHandler). + build(); } diff --git a/src/main/java/world/bentobox/biomes/panel/admin/AdminSettingsPanel.java b/src/main/java/world/bentobox/biomes/panel/admin/AdminSettingsPanel.java index c874226..85180d2 100644 --- a/src/main/java/world/bentobox/biomes/panel/admin/AdminSettingsPanel.java +++ b/src/main/java/world/bentobox/biomes/panel/admin/AdminSettingsPanel.java @@ -8,6 +8,7 @@ import world.bentobox.bentobox.api.panels.PanelItem; import world.bentobox.bentobox.api.panels.builders.PanelBuilder; +import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder; import world.bentobox.bentobox.api.user.User; import world.bentobox.biomes.BiomesAddon; import world.bentobox.biomes.objects.Settings.UpdateMode; @@ -444,7 +445,13 @@ else if (visibilityMode.equals(VisibilityMode.ACCESSIBLE)) return null; } - return new PanelItem(icon, name, description, glow, clickHandler, false); + return new PanelItemBuilder(). + icon(icon). + name(name). + description(description). + glow(glow). + clickHandler(clickHandler). + build(); } diff --git a/src/main/java/world/bentobox/biomes/utils/Utils.java b/src/main/java/world/bentobox/biomes/utils/Utils.java index a12df64..57fc11b 100644 --- a/src/main/java/world/bentobox/biomes/utils/Utils.java +++ b/src/main/java/world/bentobox/biomes/utils/Utils.java @@ -23,7 +23,10 @@ public class Utils * Thus method parses input string to ItemStack. * @param inputString Splitted string. * @return ItemStack that represents input string. + * @deprecated + * @see world.bentobox.bentobox.util.ItemParser#parse(String) */ + @Deprecated private static ItemStack parse2ArrayString(String[] inputString) { int reqAmount; @@ -57,7 +60,10 @@ private static ItemStack parse2ArrayString(String[] inputString) * Create ItemStack from 3 string parts. * @param inputString Splitted string. * @return ItemStack that is created from input string. + * @deprecated + * @see world.bentobox.bentobox.util.ItemParser#parse(String) */ + @Deprecated private static ItemStack parse3ArrayString(String[] inputString) { String[] twoArrayString = {inputString[0], inputString[2]}; @@ -68,7 +74,10 @@ private static ItemStack parse3ArrayString(String[] inputString) /** * This method parse given string to ItemStack element. * @return the parsed ItemStack element. + * @deprecated + * @see world.bentobox.bentobox.util.ItemParser#parse(String) */ + @Deprecated public static ItemStack parseItem(BiomesAddon addon, String inputString) { String[] part = inputString.split(":"); @@ -118,7 +127,9 @@ public static List splitString(String string) * This method combines input string array in single string. * @param args String list that must be combined. * @return Combined string. + * @deprecated */ + @Deprecated public static String mergeStringList(List args) { if (args.isEmpty()) diff --git a/src/main/resources/addon.yml b/src/main/resources/addon.yml index 1242b07..febc5bd 100644 --- a/src/main/resources/addon.yml +++ b/src/main/resources/addon.yml @@ -1,9 +1,12 @@ -name: Biomes -version: ${project.version} +name: ${project.name} main: world.bentobox.biomes.BiomesAddon +version: ${project.version}${build.number} + +repository: 'BentoBoxWorld/Biomes' authors: [BONNe] -description: Allow players to change biomes on their island -softdepend: AcidIsland, BSkyBlock + +softdepend: AcidIsland, BSkyBlock, CaveBlock, SkyGrid, Level +description: ${project.description} permissions: bskyblock.biomes: @@ -63,5 +66,65 @@ permissions: description: Player can use admin biomes import command allows to import biomes in world. default: op acidisland.admin.biomes.settings: + description: Player can use admin biomes settings command that allows to change addon settings. + default: op + + caveblock.biomes: + description: Player can use biomes command that opens GUI + default: true + caveblock.biomes.info: + description: Player can use biomes info command. + default: true + caveblock.biomes.set: + description: Player can use biomes set command. + default: true + + caveblock.admin.biomes: + description: Player can use admin biomes command that opens GUI. + default: op + caveblock.admin.biomes.add: + description: Player can use admin biomes add command that adds new biome. + default: op + caveblock.admin.biomes.edit: + description: Player can use admin biomes edit command that edits existing biomes parameters. + default: op + caveblock.admin.biomes.set: + description: Player can use admin biomes set command that allows to change other player biomes. + default: op + + caveblock.admin.biomes.import: + description: Player can use admin biomes import command allows to import biomes in world. + default: op + caveblock.admin.biomes.settings: + description: Player can use admin biomes settings command that allows to change addon settings. + default: op + + skygrid.biomes: + description: Player can use biomes command that opens GUI + default: true + skygrid.biomes.info: + description: Player can use biomes info command. + default: true + skygrid.biomes.set: + description: Player can use biomes set command. + default: true + + skygrid.admin.biomes: + description: Player can use admin biomes command that opens GUI. + default: op + skygrid.admin.biomes.add: + description: Player can use admin biomes add command that adds new biome. + default: op + skygrid.admin.biomes.edit: + description: Player can use admin biomes edit command that edits existing biomes parameters. + default: op + skygrid.admin.biomes.set: + description: Player can use admin biomes set command that allows to change other player biomes. + default: op + + skygrid.admin.biomes.import: + description: Player can use admin biomes import command allows to import biomes in world. + default: op + skygrid.admin.biomes.settings: description: Player can use admin biomes settings command that allows to change addon settings. default: op \ No newline at end of file