From 58bdafc2fe878e227bbd98ea52f7af6040a92c47 Mon Sep 17 00:00:00 2001 From: tastybento Date: Sat, 17 Aug 2024 09:12:08 -0700 Subject: [PATCH] Added settings for concurrent islands and team member islands. --- .../world/bentobox/bskyblock/Settings.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/main/java/world/bentobox/bskyblock/Settings.java b/src/main/java/world/bentobox/bskyblock/Settings.java index ebb52e1..4fc2f2b 100644 --- a/src/main/java/world/bentobox/bskyblock/Settings.java +++ b/src/main/java/world/bentobox/bskyblock/Settings.java @@ -10,6 +10,7 @@ import com.google.common.base.Enums; +import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.api.configuration.ConfigComment; import world.bentobox.bentobox.api.configuration.ConfigEntry; import world.bentobox.bentobox.api.configuration.StoreAt; @@ -135,6 +136,15 @@ public class Settings implements WorldSettings { @ConfigEntry(path = "world.max-islands") private int maxIslands = -1; + @ConfigComment("The number of concurrent islands a player can have in the world") + @ConfigComment("A value of 0 will use the BentoBox config.yml default") + @ConfigEntry(path = "world.concurrent-islands") + private int concurrentIslands = 0; + + @ConfigComment("Disallow players to have other islands if they are in a team.") + @ConfigEntry(path = "world.disallow-team-member-islands") + boolean disallowTeamMemberIslands = true; + @ConfigComment("The default game mode for this world. Players will be set to this mode when they create") @ConfigComment("a new island for example. Options are SURVIVAL, CREATIVE, ADVENTURE, SPECTATOR") @ConfigEntry(path = "world.default-game-mode") @@ -1817,4 +1827,37 @@ public void setMakeEndPortals(boolean makeEndPortals) { this.makeEndPortals = makeEndPortals; } + /** + * @return the concurrentIslands + */ + @Override + public int getConcurrentIslands() { + if (concurrentIslands <= 0) { + return BentoBox.getInstance().getSettings().getIslandNumber(); + } + return concurrentIslands; + } + + /** + * @param concurrentIslands the concurrentIslands to set + */ + public void setConcurrentIslands(int concurrentIslands) { + this.concurrentIslands = concurrentIslands; + } + + /** + * @return the disallowTeamMemberIslands + */ + @Override + public boolean isDisallowTeamMemberIslands() { + return disallowTeamMemberIslands; + } + + /** + * @param disallowTeamMemberIslands the disallowTeamMemberIslands to set + */ + public void setDisallowTeamMemberIslands(boolean disallowTeamMemberIslands) { + this.disallowTeamMemberIslands = disallowTeamMemberIslands; + } + }