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: []