diff --git a/pom.xml b/pom.xml index edb79e9..830ba18 100644 --- a/pom.xml +++ b/pom.xml @@ -45,12 +45,12 @@ UTF-8 1.8 - 1.14.4-R0.1-SNAPSHOT - 1.9.0 + 1.15.1-R0.1-SNAPSHOT + 1.10.0 ${build.version}-SNAPSHOT - 1.9.0 + 1.10.0 -LOCAL diff --git a/src/main/java/world/bentobox/caveblock/Settings.java b/src/main/java/world/bentobox/caveblock/Settings.java index fea1a62..6c9ba91 100644 --- a/src/main/java/world/bentobox/caveblock/Settings.java +++ b/src/main/java/world/bentobox/caveblock/Settings.java @@ -1727,6 +1727,53 @@ public class Settings implements WorldSettings this.onLeaveResetXP = onLeaveResetXP; } + + /** + * Method Settings#isTeleportPlayerToIslandUponIslandCreation returns the teleportPlayerToIslandUponIslandCreation of this object. + * + * @return the teleportPlayerToIslandUponIslandCreation (type boolean) of this object. + */ + @Override + public boolean isTeleportPlayerToIslandUponIslandCreation() + { + return teleportPlayerToIslandUponIslandCreation; + } + + + /** + * Method Settings#setTeleportPlayerToIslandUponIslandCreation sets new value for the teleportPlayerToIslandUponIslandCreation of this object. + * @param teleportPlayerToIslandUponIslandCreation new value for this object. + * + */ + public void setTeleportPlayerToIslandUponIslandCreation(boolean teleportPlayerToIslandUponIslandCreation) + { + this.teleportPlayerToIslandUponIslandCreation = teleportPlayerToIslandUponIslandCreation; + } + + + /** + * Method Settings#isPasteMissingIslands returns the pasteMissingIslands of this object. + * + * @return the pasteMissingIslands (type boolean) of this object. + */ + @Override + public boolean isPasteMissingIslands() + { + return pasteMissingIslands; + } + + + /** + * Method Settings#setPasteMissingIslands sets new value for the pasteMissingIslands of this object. + * @param pasteMissingIslands new value for this object. + * + */ + public void setPasteMissingIslands(boolean pasteMissingIslands) + { + this.pasteMissingIslands = pasteMissingIslands; + } + + // --------------------------------------------------------------------- // Section: Variables // --------------------------------------------------------------------- @@ -1817,7 +1864,7 @@ public class Settings implements WorldSettings private int banLimit = -1; @ConfigComment("") - @ConfigComment("This is cave... no height... only depth. Max 256.") + @ConfigComment("This is cave.. no height... only depth. Max 256.") @ConfigComment("Should not be less then cave height.") @ConfigEntry(path = "world.world-depth", needsReset = true) private int worldDepth = 256; @@ -1981,14 +2028,14 @@ public class Settings implements WorldSettings @ConfigComment("Default maximum number of homes a player can have. Min = 1") @ConfigComment("Accessed via /cave sethome or /cave go ") - @ConfigEntry(path = "cave..max-homes") + @ConfigEntry(path = "cave.max-homes") private int maxHomes = 5; // Reset @ConfigComment("How many resets a player is allowed (override with /cbadmin clearresets )") @ConfigComment("Value of -1 means unlimited, 0 means hardcore - no resets.") @ConfigComment("Example, 2 resets means they get 2 resets or 3 caves lifetime") - @ConfigEntry(path = "cave..reset.reset-limit") + @ConfigEntry(path = "cave.reset.reset-limit") private int resetLimit = -1; @ConfigComment("Kicked or leaving players lose resets") @@ -1996,70 +2043,70 @@ public class Settings implements WorldSettings @ConfigComment("If a player has zero resets left and leaves a team, they cannot make a new") @ConfigComment("cave by themselves and can only join a team.") @ConfigComment("Leave this true to avoid players exploiting free caves") - @ConfigEntry(path = "cave..reset.leavers-lose-reset") + @ConfigEntry(path = "cave.reset.leavers-lose-reset") private boolean leaversLoseReset = false; @ConfigComment("Allow kicked players to keep their inventory.") @ConfigComment("Overrides the on-leave inventory reset for kicked players.") - @ConfigEntry(path = "cave..reset.kicked-keep-inventory") + @ConfigEntry(path = "cave.reset.kicked-keep-inventory") private boolean kickedKeepInventory = false; @ConfigComment("What the plugin should reset when the player joins or creates a cave") @ConfigComment("Reset Money - if this is true, will reset the player's money to the starting money") @ConfigComment("Recommendation is that this is set to true, but if you run multi-worlds") @ConfigComment("make sure your economy handles multi-worlds too.") - @ConfigEntry(path = "cave..reset.on-join.money") + @ConfigEntry(path = "cave.reset.on-join.money") private boolean onJoinResetMoney = false; @ConfigComment("Reset inventory - if true, the player's inventory will be cleared.") @ConfigComment("Note: if you have MultiInv running or a similar inventory control plugin, that") @ConfigComment("plugin may still reset the inventory when the world changes.") - @ConfigEntry(path = "cave..reset.on-join.inventory") + @ConfigEntry(path = "cave.reset.on-join.inventory") private boolean onJoinResetInventory = false; @ConfigComment("Reset health - if true, the player's health will be reset.") - @ConfigEntry(path = "cave..reset.on-join.health") + @ConfigEntry(path = "cave.reset.on-join.health") private boolean onJoinResetHealth = true; @ConfigComment("Reset hunger - if true, the player's hunger will be reset.") - @ConfigEntry(path = "cave..reset.on-join.hunger") + @ConfigEntry(path = "cave.reset.on-join.hunger") private boolean onJoinResetHunger = true; @ConfigComment("Reset experience points - if true, the player's experience will be reset.") - @ConfigEntry(path = "cave..reset.on-join.exp") + @ConfigEntry(path = "cave.reset.on-join.exp") private boolean onJoinResetXP = false; @ConfigComment("Reset Ender Chest - if true, the player's Ender Chest will be cleared.") - @ConfigEntry(path = "cave..reset.on-join.ender-chest") + @ConfigEntry(path = "cave.reset.on-join.ender-chest") private boolean onJoinResetEnderChest = false; @ConfigComment("What the plugin should reset when the player leaves or is kicked from a cave") @ConfigComment("Reset Money - if this is true, will reset the player's money to the starting money") @ConfigComment("Recommendation is that this is set to true, but if you run multi-worlds") @ConfigComment("make sure your economy handles multi-worlds too.") - @ConfigEntry(path = "cave..reset.on-leave.money") + @ConfigEntry(path = "cave.reset.on-leave.money") private boolean onLeaveResetMoney = false; @ConfigComment("Reset inventory - if true, the player's inventory will be cleared.") @ConfigComment("Note: if you have MultiInv running or a similar inventory control plugin, that") @ConfigComment("plugin may still reset the inventory when the world changes.") - @ConfigEntry(path = "cave..reset.on-leave.inventory") + @ConfigEntry(path = "cave.reset.on-leave.inventory") private boolean onLeaveResetInventory = false; @ConfigComment("Reset health - if true, the player's health will be reset.") - @ConfigEntry(path = "cave..reset.on-leave.health") + @ConfigEntry(path = "cave.reset.on-leave.health") private boolean onLeaveResetHealth = false; @ConfigComment("Reset hunger - if true, the player's hunger will be reset.") - @ConfigEntry(path = "cave..reset.on-leave.hunger") + @ConfigEntry(path = "cave.reset.on-leave.hunger") private boolean onLeaveResetHunger = false; @ConfigComment("Reset experience - if true, the player's experience will be reset.") - @ConfigEntry(path = "cave..reset.on-leave.exp") + @ConfigEntry(path = "cave.reset.on-leave.exp") private boolean onLeaveResetXP = false; @ConfigComment("Reset Ender Chest - if true, the player's Ender Chest will be cleared.") - @ConfigEntry(path = "cave..reset.on-leave.ender-chest") + @ConfigEntry(path = "cave.reset.on-leave.ender-chest") private boolean onLeaveResetEnderChest = false; @ConfigComment("Toggles the automatic cave creation upon the player's first login on your server.") @@ -2077,13 +2124,13 @@ public class Settings implements WorldSettings @ConfigComment(" * Cave creation can be resource-intensive, please consider the options below to help mitigate") @ConfigComment(" the potential issues, especially if you expect a lot of players to connect to your server") @ConfigComment(" in a limited period of time.") - @ConfigEntry(path = "cave..create-cave-on-first-login.enable") + @ConfigEntry(path = "cave.create-cave-on-first-login.enable") private boolean createIslandOnFirstLoginEnabled; @ConfigComment("Time in seconds after the player logged in, before his cave gets created.") @ConfigComment("If set to 0 or less, the cave will be created directly upon the player's login.") @ConfigComment("It is recommended to keep this value under a minute's time.") - @ConfigEntry(path = "cave..create-cave-on-first-login.delay") + @ConfigEntry(path = "cave.create-cave-on-first-login.delay") private int createIslandOnFirstLoginDelay = 5; @ConfigComment("Toggles whether the cave creation should be aborted if the player logged off while the") @@ -2096,46 +2143,58 @@ public class Settings implements WorldSettings @ConfigComment(" * If the cave creation started before the player logged off, it will continue.") @ConfigComment("If set to false, the player's cave will be created even if he went offline in the meantime.") @ConfigComment("Note this option has no effect if the delay (see the option above) is set to 0 or less.") - @ConfigEntry(path = "cave..create-cave-on-first-login.abort-on-logout") + @ConfigEntry(path = "cave.create-cave-on-first-login.abort-on-logout") private boolean createIslandOnFirstLoginAbortOnLogout = true; + @ConfigComment("Toggles whether the player should be teleported automatically to his cave when it is created.") + @ConfigComment("If set to false, the player will be told his cave is ready but will have to teleport to his cave using the command.") + @ConfigEntry(path = "cave.teleport-player-to-cave-when-created", since = "1.10.0") + private boolean teleportPlayerToIslandUponIslandCreation = true; + + @ConfigComment("Create Nether or End cave if they are missing when a player goes through a portal.") + @ConfigComment("Nether and End cave are usually pasted when a player makes their cave, but if they are") + @ConfigComment("missing for some reason, you can switch this on.") + @ConfigComment("Note that bedrock removal glitches can exploit this option.") + @ConfigEntry(path = "cave.create-missing-nether-end-caves", since = "1.10.0") + private boolean pasteMissingIslands = false; + // Commands @ConfigComment("List of commands to run when a player joins.") - @ConfigEntry(path = "cave..commands.on-join") + @ConfigEntry(path = "cave.commands.on-join") private List onJoinCommands = new ArrayList<>(); @ConfigComment("list of commands to run when a player leaves.") - @ConfigEntry(path = "cave..commands.on-leave") + @ConfigEntry(path = "cave.commands.on-leave") private List onLeaveCommands = new ArrayList<>(); // Sethome - @ConfigEntry(path = "cave..sethome.nether.allow") + @ConfigEntry(path = "cave.sethome.nether.allow") private boolean allowSetHomeInNether = true; - @ConfigEntry(path = "cave..sethome.nether.require-confirmation") + @ConfigEntry(path = "cave.sethome.nether.require-confirmation") private boolean requireConfirmationToSetHomeInNether = true; - @ConfigEntry(path = "cave..sethome.the-end.allow") + @ConfigEntry(path = "cave.sethome.the-end.allow") private boolean allowSetHomeInTheEnd = true; - @ConfigEntry(path = "cave..sethome.the-end.require-confirmation") + @ConfigEntry(path = "cave.sethome.the-end.require-confirmation") private boolean requireConfirmationToSetHomeInTheEnd = true; // Deaths @ConfigComment("Whether deaths are counted or not.") - @ConfigEntry(path = "cave..deaths.counted") + @ConfigEntry(path = "cave.deaths.counted") private boolean deathsCounted = true; @ConfigComment("Maximum number of deaths to count. The death count can be used by add-ons.") - @ConfigEntry(path = "cave..deaths.max") + @ConfigEntry(path = "cave.deaths.max") private int deathsMax = 10; @ConfigComment("Reset player death count when they start a new cave or reset a cave") - @ConfigEntry(path = "cave..deaths.reset-on-new") + @ConfigEntry(path = "cave.deaths.reset-on-new") private boolean deathsResetOnNewIsland = true; @ConfigComment("When a player joins a team, reset their death count") - @ConfigEntry(path = "cave..deaths.team-join-reset") + @ConfigEntry(path = "cave.deaths.team-join-reset") private boolean teamJoinDeathReset = true; // --------------------------------------------- diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 0abf649..920128c 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -364,6 +364,14 @@ cave: # If set to false, the player's cave will be created even if he went offline in the meantime. # Note this option has no effect if the delay (see the option above) is set to 0 or less. abort-on-logout: true + # Toggles whether the player should be teleported automatically to his cave when it is created. + # If set to false, the player will be told his cave is ready but will have to teleport to his cave using the command. + teleport-player-to-cave-when-created: true + # Create Nether or End cave if they are missing when a player goes through a portal. + # Nether and End cave are usually pasted when a player makes their cave, but if they are + # missing for some reason, you can switch this on. + # Note that bedrock removal glitches can exploit this option. + create-missing-nether-end-caves: false commands: # List of commands to run when a player joins. on-join: []