Update to BentoBox 1.13.0 release.

Changes:
- Use general player and admin command. Adding new commands will require whole addon update.
- Add default-action, new-player-action, block-mobs config options.
- Rename link for max-trusted-size and max-coop-size from island to cave.
This commit is contained in:
BONNe 2020-05-01 23:29:02 +03:00
parent 053c181ecd
commit f2a060afee
8 changed files with 185 additions and 225 deletions

View File

@ -45,8 +45,8 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<!-- More visible way how to change dependency versions --> <!-- More visible way how to change dependency versions -->
<spigot.version>1.15.1-R0.1-SNAPSHOT</spigot.version> <spigot.version>1.15.2-R0.1-SNAPSHOT</spigot.version>
<bentobox.version>1.13.0-SNAPSHOT</bentobox.version> <bentobox.version>1.13.0</bentobox.version>
<!-- Revision variable removes warning about dynamic version --> <!-- Revision variable removes warning about dynamic version -->
<revision>${build.version}-SNAPSHOT</revision> <revision>${build.version}-SNAPSHOT</revision>
<!-- This allows to change between versions and snapshots. --> <!-- This allows to change between versions and snapshots. -->

View File

@ -9,11 +9,12 @@ import org.bukkit.generator.ChunkGenerator;
import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.NonNull;
import world.bentobox.bentobox.api.addons.GameModeAddon; import world.bentobox.bentobox.api.addons.GameModeAddon;
import world.bentobox.bentobox.api.commands.admin.DefaultAdminCommand;
import world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand;
import world.bentobox.bentobox.api.configuration.Config; import world.bentobox.bentobox.api.configuration.Config;
import world.bentobox.bentobox.api.configuration.WorldSettings; import world.bentobox.bentobox.api.configuration.WorldSettings;
import world.bentobox.bentobox.api.flags.Flag; import world.bentobox.bentobox.api.flags.Flag;
import world.bentobox.caveblock.commands.AdminCommand; import world.bentobox.caveblock.commands.IslandAboutCommand;
import world.bentobox.caveblock.commands.IslandCommand;
import world.bentobox.caveblock.generators.ChunkGeneratorWorld; import world.bentobox.caveblock.generators.ChunkGeneratorWorld;
import world.bentobox.caveblock.listeners.CustomHeightLimitations; import world.bentobox.caveblock.listeners.CustomHeightLimitations;
@ -35,9 +36,19 @@ public class CaveBlock extends GameModeAddon
this.chunkGenerator = new ChunkGeneratorWorld(this); this.chunkGenerator = new ChunkGeneratorWorld(this);
this.playerCommand = new IslandCommand(this); // Player Command
this.adminCommand = new AdminCommand(this); this.playerCommand = new DefaultPlayerCommand(this)
{
@Override
public void setup()
{
super.setup();
new IslandAboutCommand(this);
}
};
// Admin command.
this.adminCommand = new DefaultAdminCommand(this) {};
} }

View File

@ -811,22 +811,50 @@ public class Settings implements WorldSettings
/** /**
* This method returns the islandCommand value. * {@inheritDoc}
* @return the value of islandCommand.
*/ */
public String getIslandCommand() @Override
public List<String> getMobLimitSettings()
{ {
return islandCommand; return mobLimitSettings;
} }
/** /**
* This method returns the adminCommand value. * {@inheritDoc}
* @return the value of adminCommand.
*/ */
public String getAdminCommand() public String getPlayerCommandAliases()
{ {
return adminCommand; return playerCommandAliases;
}
/**
* {@inheritDoc}
*/
public String getAdminCommandAliases()
{
return adminCommandAliases;
}
/**
* {@inheritDoc}
*/
@Override
public String getDefaultPlayerAction()
{
return defaultPlayerAction;
}
/**
* {@inheritDoc}
*/
@Override
public String getDefaultNewPlayerAction()
{
return defaultNewPlayerAction;
} }
@ -1601,24 +1629,24 @@ public class Settings implements WorldSettings
/** /**
* This method sets the islandCommand value. * This method sets the playerCommandAliases value.
* @param islandCommand the islandCommand new value. * @param playerCommandAliases the playerCommandAliases new value.
* *
*/ */
public void setIslandCommand(String islandCommand) public void setPlayerCommandAliases(String playerCommandAliases)
{ {
this.islandCommand = islandCommand; this.playerCommandAliases = playerCommandAliases;
} }
/** /**
* This method sets the adminCommand value. * This method sets the adminCommandAliases value.
* @param adminCommand the adminCommand new value. * @param adminCommandAliases the adminCommandAliases new value.
* *
*/ */
public void setAdminCommand(String adminCommand) public void setAdminCommandAliases(String adminCommandAliases)
{ {
this.adminCommand = adminCommand; this.adminCommandAliases = adminCommandAliases;
} }
/** /**
@ -1802,6 +1830,36 @@ public class Settings implements WorldSettings
} }
/**
* Method Settings#setDefaultPlayerAction sets new value for the defaultPlayerAction of this object.
* @param defaultPlayerAction new value for this object.
*/
public void setDefaultPlayerAction(String defaultPlayerAction)
{
this.defaultPlayerAction = defaultPlayerAction;
}
/**
* Method Settings#setDefaultNewPlayerAction sets new value for the defaultNewPlayerAction of this object.
* @param defaultNewPlayerAction new value for this object.
*/
public void setDefaultNewPlayerAction(String defaultNewPlayerAction)
{
this.defaultNewPlayerAction = defaultNewPlayerAction;
}
/**
* Method Settings#setMobLimitSettings sets new value for the mobLimitSettings of this object.
* @param mobLimitSettings new value for this object.
*/
public void setMobLimitSettings(List<String> mobLimitSettings)
{
this.mobLimitSettings = mobLimitSettings;
}
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
// Section: Variables // Section: Variables
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
@ -1810,12 +1868,24 @@ public class Settings implements WorldSettings
@ConfigComment("Cave Command. What command users will run to access their cave.") @ConfigComment("Cave Command. What command users will run to access their cave.")
@ConfigComment("To define alias, just separate commands with white space.") @ConfigComment("To define alias, just separate commands with white space.")
@ConfigEntry(path = "caveblock.command.cave") @ConfigEntry(path = "caveblock.command.cave")
private String islandCommand = "cave cb"; private String playerCommandAliases = "cave cb";
@ConfigComment("The Cave admin command.") @ConfigComment("The Cave admin command.")
@ConfigComment("To define alias, just separate commands with white space.") @ConfigComment("To define alias, just separate commands with white space.")
@ConfigEntry(path = "caveblock.command.admin") @ConfigEntry(path = "caveblock.command.admin")
private String adminCommand = "cbadmin cba"; private String adminCommandAliases = "cbadmin cba";
@ConfigComment("The default action for new player command call.")
@ConfigComment("Sub-command of main player command that will be run on first player command call.")
@ConfigComment("By default it is sub-command 'create'.")
@ConfigEntry(path = "caveblock.command.new-player-action", since = "1.13.0")
private String defaultNewPlayerAction = "create";
@ConfigComment("The default action for player command.")
@ConfigComment("Sub-command of main player command that will be run on each player command call.")
@ConfigComment("By default it is sub-command 'go'.")
@ConfigEntry(path = "caveblock.command.default-action", since = "1.13.0")
private String defaultPlayerAction = "go";
/* WORLD */ /* WORLD */
@ConfigComment("Friendly name for this world. Used in admin commands. Must be a single word") @ConfigComment("Friendly name for this world. Used in admin commands. Must be a single word")
@ -2054,16 +2124,16 @@ public class Settings implements WorldSettings
@ConfigEntry(path = "cave.max-team-size") @ConfigEntry(path = "cave.max-team-size")
private int maxTeamSize = 4; private int maxTeamSize = 4;
@ConfigComment("Default maximum number of coop rank members per island") @ConfigComment("Default maximum number of coop rank members per cave")
@ConfigComment("Players can have the caveblock.coop.maxsize.<number> permission to be bigger but") @ConfigComment("Players can have the caveblock.coop.maxsize.<number> permission to be bigger but")
@ConfigComment("permission size cannot be less than the default below. ") @ConfigComment("permission size cannot be less than the default below. ")
@ConfigEntry(path = "island.max-coop-size", since = "1.13.0") @ConfigEntry(path = "cave.max-coop-size", since = "1.13.0")
private int maxCoopSize = 4; private int maxCoopSize = 4;
@ConfigComment("Default maximum number of trusted rank members per island") @ConfigComment("Default maximum number of trusted rank members per cave")
@ConfigComment("Players can have the caveblock.trust.maxsize.<number> permission to be bigger but") @ConfigComment("Players can have the caveblock.trust.maxsize.<number> permission to be bigger but")
@ConfigComment("permission size cannot be less than the default below. ") @ConfigComment("permission size cannot be less than the default below. ")
@ConfigEntry(path = "island.max-trusted-size", since = "1.13.0") @ConfigEntry(path = "cave.max-trusted-size", since = "1.13.0")
private int maxTrustSize = 4; private int maxTrustSize = 4;
@ConfigComment("Default maximum number of homes a player can have. Min = 1") @ConfigComment("Default maximum number of homes a player can have. Min = 1")
@ -2245,6 +2315,11 @@ public class Settings implements WorldSettings
@ConfigEntry(path = "protection.geo-limit-settings") @ConfigEntry(path = "protection.geo-limit-settings")
private List<String> geoLimitSettings = new ArrayList<>(); private List<String> geoLimitSettings = new ArrayList<>();
@ConfigComment("CaveBlock blocked mobs.")
@ConfigComment("List of mobs that should not spawn in the CaveBlock.")
@ConfigEntry(path = "protection.block-mobs", since = "1.13.0")
private List<String> mobLimitSettings = new ArrayList<>();
// Invincible visitor settings // Invincible visitor settings
@ConfigComment("Invincible visitors. List of damages that will not affect visitors.") @ConfigComment("Invincible visitors. List of damages that will not affect visitors.")
@ConfigComment("Make list blank if visitors should receive all damages") @ConfigComment("Make list blank if visitors should receive all damages")

View File

@ -1,105 +0,0 @@
package world.bentobox.caveblock.commands;
import java.util.List;
import world.bentobox.bentobox.api.commands.CompositeCommand;
import world.bentobox.bentobox.api.commands.admin.AdminDeleteCommand;
import world.bentobox.bentobox.api.commands.admin.AdminGetrankCommand;
import world.bentobox.bentobox.api.commands.admin.AdminInfoCommand;
import world.bentobox.bentobox.api.commands.admin.AdminRegisterCommand;
import world.bentobox.bentobox.api.commands.admin.AdminReloadCommand;
import world.bentobox.bentobox.api.commands.admin.AdminResetFlagsCommand;
import world.bentobox.bentobox.api.commands.admin.AdminSetrankCommand;
import world.bentobox.bentobox.api.commands.admin.AdminSetspawnCommand;
import world.bentobox.bentobox.api.commands.admin.AdminSettingsCommand;
import world.bentobox.bentobox.api.commands.admin.AdminSwitchCommand;
import world.bentobox.bentobox.api.commands.admin.AdminTeleportCommand;
import world.bentobox.bentobox.api.commands.admin.AdminUnregisterCommand;
import world.bentobox.bentobox.api.commands.admin.AdminVersionCommand;
import world.bentobox.bentobox.api.commands.admin.AdminWhyCommand;
import world.bentobox.bentobox.api.commands.admin.blueprints.AdminBlueprintCommand;
import world.bentobox.bentobox.api.commands.admin.deaths.AdminDeathsCommand;
import world.bentobox.bentobox.api.commands.admin.purge.AdminPurgeCommand;
import world.bentobox.bentobox.api.commands.admin.range.AdminRangeCommand;
import world.bentobox.bentobox.api.commands.admin.resets.AdminResetsResetCommand;
import world.bentobox.bentobox.api.commands.admin.team.AdminTeamAddCommand;
import world.bentobox.bentobox.api.commands.admin.team.AdminTeamDisbandCommand;
import world.bentobox.bentobox.api.commands.admin.team.AdminTeamKickCommand;
import world.bentobox.bentobox.api.commands.admin.team.AdminTeamSetownerCommand;
import world.bentobox.bentobox.api.localization.TextVariables;
import world.bentobox.bentobox.api.user.User;
import world.bentobox.caveblock.CaveBlock;
public class AdminCommand extends CompositeCommand {
public AdminCommand(CaveBlock addon) {
super(addon,
addon.getSettings().getAdminCommand().split(" ")[0],
addon.getSettings().getAdminCommand().split(" "));
}
@Override
public void setup() {
setPermission("admin.*");
setOnlyPlayer(false);
setParametersHelp("commands.admin.help.parameters");
setDescription("commands.admin.help.description");
new AdminVersionCommand(this);
new AdminTeleportCommand(this, "tp");
new AdminTeleportCommand(this, "tpnether");
new AdminTeleportCommand(this, "tpend");
new AdminGetrankCommand(this);
new AdminSetrankCommand(this);
new AdminInfoCommand(this);
// Team commands
new AdminTeamAddCommand(this);
new AdminTeamKickCommand(this);
new AdminTeamDisbandCommand(this);
new AdminTeamSetownerCommand(this);
// Schems
new AdminBlueprintCommand(this);
// Register/unregister islands
new AdminRegisterCommand(this);
new AdminUnregisterCommand(this);
// Range
new AdminRangeCommand(this);
// Resets
new AdminResetsResetCommand(this);
// Delete
new AdminDeleteCommand(this);
// Why
new AdminWhyCommand(this);
// Deaths
new AdminDeathsCommand(this);
// Reload
new AdminReloadCommand(this);
// Spawn
new AdminSetspawnCommand(this);
// Reset flags
new AdminResetFlagsCommand(this);
// Trash
//new AdminTrashCommand(this);
//new AdminEmptyTrashCommand(this);
//new AdminSwitchtoCommand(this);
// Switch
new AdminSwitchCommand(this);
// Purge
new AdminPurgeCommand(this);
// Settings
new AdminSettingsCommand(this);
}
@Override
public boolean execute(User user, String label, List<String> args) {
if (!args.isEmpty()) {
user.sendMessage("general.errors.unknown-command", TextVariables.LABEL, getTopLabel());
return false;
}
// By default run the attached help command, if it exists (it should)
return showHelp(this, user);
}
}

View File

@ -24,7 +24,7 @@ public class IslandAboutCommand extends CompositeCommand {
@Override @Override
public boolean execute(User user, String label, List<String> args) { public boolean execute(User user, String label, List<String> args) {
user.sendRawMessage("About " + getAddon().getDescription().getName() + " " + getAddon().getDescription().getVersion() + ":"); user.sendRawMessage("About " + getAddon().getDescription().getName() + " " + getAddon().getDescription().getVersion() + ":");
user.sendRawMessage("Copyright (c) 2019 BONNe"); user.sendRawMessage("Copyright (c) 2020 BONNe");
user.sendRawMessage("See https://www.eclipse.org/legal/epl-2.0/"); user.sendRawMessage("See https://www.eclipse.org/legal/epl-2.0/");
user.sendRawMessage("for license information."); user.sendRawMessage("for license information.");
return true; return true;

View File

@ -1,75 +0,0 @@
package world.bentobox.caveblock.commands;
import java.util.ArrayList;
import java.util.List;
import world.bentobox.bentobox.api.commands.CompositeCommand;
import world.bentobox.bentobox.api.commands.island.*;
import world.bentobox.bentobox.api.commands.island.team.IslandTeamCommand;
import world.bentobox.bentobox.api.localization.TextVariables;
import world.bentobox.bentobox.api.user.User;
import world.bentobox.caveblock.CaveBlock;
public class IslandCommand extends CompositeCommand {
public IslandCommand(CaveBlock addon) {
super(addon,
addon.getSettings().getIslandCommand().split(" ")[0],
addon.getSettings().getIslandCommand().split(" "));
}
/* (non-Javadoc)
* @see us.tastybento.bskyblock.api.commands.CompositeCommand#setup()
*/
@Override
public void setup() {
setDescription("commands.island.help.description");
setOnlyPlayer(true);
// Permission
setPermission("island");
// Set up subcommands
new IslandAboutCommand(this);
new IslandInfoCommand(this);
new IslandCreateCommand(this);
new IslandGoCommand(this);
new IslandSpawnCommand(this);
new IslandResetCommand(this);
new IslandSetnameCommand(this);
new IslandResetnameCommand(this);
new IslandSethomeCommand(this);
new IslandSettingsCommand(this);
new IslandLanguageCommand(this);
new IslandBanCommand(this);
new IslandUnbanCommand(this);
new IslandBanlistCommand(this);
new IslandNearCommand(this);
// Expel command
new IslandExpelCommand(this);
// Team commands
new IslandTeamCommand(this);
}
/* (non-Javadoc)
* @see us.tastybento.bskyblock.api.commands.CommandArgument#execute(org.bukkit.command.CommandSender, java.lang.String[])
*/
@Override
public boolean execute(User user, String label, List<String> args) {
if (user == null) {
return false;
}
if (args.isEmpty()) {
// If user has an island, go
if (getPlugin().getIslands().getIsland(getWorld(), user.getUniqueId()) != null) {
return getSubCommand("go").map(goCmd -> goCmd.call(user, goCmd.getLabel(), new ArrayList<>())).orElse(false);
}
// No islands currently
return getSubCommand("create").map(createCmd -> createCmd.call(user, createCmd.getLabel(), new ArrayList<>())).orElse(false);
}
user.sendMessage("general.errors.unknown-command", TextVariables.LABEL, getTopLabel());
return false;
}
}

View File

@ -1,6 +1,7 @@
name: CaveBlock name: CaveBlock
main: world.bentobox.caveblock.CaveBlock main: world.bentobox.caveblock.CaveBlock
version: ${version}${build.number} version: ${version}${build.number}
api-version: 1.13.0
metrics: true metrics: true
repository: "BentoBoxWorld/CaveBlock" repository: "BentoBoxWorld/CaveBlock"
icon: "STONE_PICKAXE" icon: "STONE_PICKAXE"
@ -17,6 +18,9 @@ permissions:
caveblock.island.home: caveblock.island.home:
description: Allow teleporting to player cave description: Allow teleporting to player cave
default: true default: true
caveblock.island.sethome:
description: Let the player use the sethome command
default: true
caveblock.island.info: caveblock.island.info:
description: Let the player check other players info description: Let the player check other players info
default: true default: true
@ -48,7 +52,25 @@ permissions:
description: Player can use the cave reset or restart command description: Player can use the cave reset or restart command
default: true default: true
caveblock.island.team: caveblock.island.team:
description: Let a player use team commands description: Let a player use team command
default: true
caveblock.island.team.setowner:
description: Let a player change the team owner
default: true
caveblock.island.team.invite:
description: Let a player invite others
default: true
caveblock.island.team.reject:
description: Let a player reject invites
default: true
caveblock.island.team.leave:
description: Let a player leave the team
default: true
caveblock.island.team.kick:
description: Let a player kick team members
default: true
caveblock.island.team.accept:
description: Let a player accept invitations
default: true default: true
caveblock.island.team.trust: caveblock.island.team.trust:
description: Let a player use team trust commands description: Let a player use team trust commands
@ -116,6 +138,9 @@ permissions:
caveblock.admin.setspawn: caveblock.admin.setspawn:
description: Allows use of spawn tools description: Allows use of spawn tools
default: op default: op
caveblock.admin.setspawnpoint:
description: Allows to set spawn point of cave
default: op
caveblock.admin.setrange: caveblock.admin.setrange:
description: Allows setting of cave protection range description: Allows setting of cave protection range
default: op default: op
@ -131,3 +156,9 @@ permissions:
caveblock.admin.setlanguage: caveblock.admin.setlanguage:
description: Resets all player languages and sets the default language description: Resets all player languages and sets the default language
default: op default: op
caveblock.admin.getrank:
description: Get a player's rank
default: op
caveblock.admin.setrank:
description: Set a player's rank
default: op

View File

@ -1,4 +1,4 @@
# CaveBlock Configuration ${version} # CaveBlock Configuration 1.13.0
caveblock: caveblock:
command: command:
# Cave Command. What command users will run to access their cave. # Cave Command. What command users will run to access their cave.
@ -7,6 +7,16 @@ caveblock:
# The Cave admin command. # The Cave admin command.
# To define alias, just separate commands with white space. # To define alias, just separate commands with white space.
admin: cbadmin cba admin: cbadmin cba
# The default action for new player command call.
# Sub-command of main player command that will be run on first player command call.
# By default it is sub-command 'create'.
# Added since 1.13.0.
new-player-action: create
# The default action for player command.
# Sub-command of main player command that will be run on each player command call.
# By default it is sub-command 'go'.
# Added since 1.13.0.
default-action: go
world: world:
# Friendly name for this world. Used in admin commands. Must be a single word # Friendly name for this world. Used in admin commands. Must be a single word
friendly-name: CaveBlock friendly-name: CaveBlock
@ -57,7 +67,7 @@ world:
# -1 = unlimited # -1 = unlimited
ban-limit: -1 ban-limit: -1
# #
# This is cave... no height... only depth. Max 256. # This is cave.. no height... only depth. Max 256.
# Should not be less then cave height. # Should not be less then cave height.
# /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds. # /!\ BentoBox currently does not support changing this value mid-game. If you do need to change it, do a full reset of your databases and worlds.
world-depth: 256 world-depth: 256
@ -176,10 +186,10 @@ world:
- MATERIAL:CHORUS_PLANT:1:3 - MATERIAL:CHORUS_PLANT:1:3
# Mob white list - these mobs will NOT be removed when logging in or doing /cave # Mob white list - these mobs will NOT be removed when logging in or doing /cave
remove-mobs-whitelist: remove-mobs-whitelist:
- ZOMBIE_VILLAGER
- WITHER - WITHER
- ENDERMAN - ENDERMAN
- PIG_ZOMBIE - PIG_ZOMBIE
- ZOMBIE_VILLAGER
# World flags. These are boolean settings for various flags for this world # World flags. These are boolean settings for various flags for this world
flags: flags:
CREEPER_DAMAGE: true CREEPER_DAMAGE: true
@ -191,6 +201,7 @@ world:
CLEAN_SUPER_FLAT: false CLEAN_SUPER_FLAT: false
CHEST_DAMAGE: false CHEST_DAMAGE: false
PREVENT_TELEPORT_WHEN_FALLING: false PREVENT_TELEPORT_WHEN_FALLING: false
NATURAL_SPAWNING_OUTSIDE_RANGE: true
ENTER_EXIT_MESSAGES: true ENTER_EXIT_MESSAGES: true
ENDERMAN_DEATH_DROP: true ENDERMAN_DEATH_DROP: true
OFFLINE_REDSTONE: true OFFLINE_REDSTONE: true
@ -198,8 +209,14 @@ world:
ENDER_CHEST: false ENDER_CHEST: false
ITEM_FRAME_DAMAGE: false ITEM_FRAME_DAMAGE: false
# These are the default protection settings for new caves. # These are the default protection settings for new caves.
# The value is the minimum cave rank required allowed to do the action # The value is the minimum cave rank required allowed to do the action.
# Ranks are: Visitor = 0, Member = 900, Owner = 1000 # Ranks are the following:
# VISITOR = 0
# COOP = 200
# TRUSTED = 400
# MEMBER = 500
# SUB-OWNER = 900
# OWNER = 1000
default-cave-flags: default-cave-flags:
HURT_ANIMALS: 500 HURT_ANIMALS: 500
REDSTONE: 500 REDSTONE: 500
@ -213,21 +230,21 @@ world:
END_PORTAL: 500 END_PORTAL: 500
BREEDING: 500 BREEDING: 500
HURT_VILLAGERS: 500 HURT_VILLAGERS: 500
FROST_WALKER: 500
TURTLE_EGGS: 500 TURTLE_EGGS: 500
FROST_WALKER: 500
COLLECT_LAVA: 500 COLLECT_LAVA: 500
LEVER: 500 LEVER: 500
RIDING: 500 RIDING: 500
HURT_MONSTERS: 0 HURT_MONSTERS: 0
NAME_TAG: 500
ARMOR_STAND: 500 ARMOR_STAND: 500
NAME_TAG: 500
TRADING: 0 TRADING: 0
EGGS: 500 EGGS: 500
ITEM_DROP: 0 ITEM_DROP: 0
NOTE_BLOCK: 0 NOTE_BLOCK: 0
NETHER_PORTAL: 500 NETHER_PORTAL: 500
ITEM_PICKUP: 0
CROP_TRAMPLE: 500 CROP_TRAMPLE: 500
ITEM_PICKUP: 0
DROPPER: 500 DROPPER: 500
BREWING: 500 BREWING: 500
COLLECT_WATER: 500 COLLECT_WATER: 500
@ -239,10 +256,10 @@ world:
PLACE_BLOCKS: 500 PLACE_BLOCKS: 500
ITEM_FRAME: 500 ITEM_FRAME: 500
CRAFTING: 0 CRAFTING: 0
ENCHANTING: 0
SHEARING: 500 SHEARING: 500
SPAWN_EGGS: 500 ENCHANTING: 0
BED: 500 BED: 500
SPAWN_EGGS: 500
MILKING: 0 MILKING: 0
DISPENSER: 500 DISPENSER: 500
GATE: 0 GATE: 0
@ -279,12 +296,12 @@ cave:
# Default max team size # Default max team size
# Permission size cannot be less than the default below. # Permission size cannot be less than the default below.
max-team-size: 4 max-team-size: 4
# Default maximum number of coop rank members per island # Default maximum number of coop rank members per cave
# Players can have the caveblock.coop.maxsize.<number> permission to be bigger but # Players can have the caveblock.coop.maxsize.<number> permission to be bigger but
# permission size cannot be less than the default below. # permission size cannot be less than the default below.
# Added since 1.13.0. # Added since 1.13.0.
max-coop-size: 4 max-coop-size: 4
# Default maximum number of trusted rank members per island # Default maximum number of trusted rank members per cave
# Players can have the caveblock.trust.maxsize.<number> permission to be bigger but # Players can have the caveblock.trust.maxsize.<number> permission to be bigger but
# permission size cannot be less than the default below. # permission size cannot be less than the default below.
# Added since 1.13.0. # Added since 1.13.0.
@ -307,7 +324,7 @@ cave:
# Overrides the on-leave inventory reset for kicked players. # Overrides the on-leave inventory reset for kicked players.
kicked-keep-inventory: false kicked-keep-inventory: false
on-join: on-join:
# What the addon should reset when the player joins or creates a cave # What the plugin should reset when the player joins or creates a cave
# Reset Money - if this is true, will reset the player's money to the starting money # Reset Money - if this is true, will reset the player's money to the starting money
# Recommendation is that this is set to true, but if you run multi-worlds # Recommendation is that this is set to true, but if you run multi-worlds
# make sure your economy handles multi-worlds too. # make sure your economy handles multi-worlds too.
@ -345,7 +362,7 @@ cave:
create-cave-on-first-login: create-cave-on-first-login:
# Toggles the automatic cave creation upon the player's first login on your server. # Toggles the automatic cave creation upon the player's first login on your server.
# If set to true, # If set to true,
# * Upon connecting to your server for the first time, the player will be told that # * Upon connecting to your server for the first time, the player will be told that
# a cave will be created for him. # a cave will be created for him.
# * Make sure you have a Blueprint Bundle called "default": this is the one that will # * Make sure you have a Blueprint Bundle called "default": this is the one that will
# be used to create the cave. # be used to create the cave.
@ -376,16 +393,18 @@ cave:
abort-on-logout: true abort-on-logout: true
# Toggles whether the player should be teleported automatically to his cave when it is created. # 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. # If set to false, the player will be told his cave is ready but will have to teleport to his cave using the command.
# Added since 1.10.0.
teleport-player-to-cave-when-created: true teleport-player-to-cave-when-created: true
# Create Nether or End cave if they are missing when a player goes through a portal. # 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 # 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. # missing for some reason, you can switch this on.
# Note that bedrock removal glitches can exploit this option. # Note that bedrock removal glitches can exploit this option.
# Added since 1.10.0.
create-missing-nether-end-caves: false create-missing-nether-end-caves: false
commands: commands:
# List of commands to run when a player joins. # List of commands to run when a player joins.
on-join: [] on-join: []
# List of commands to run when a player leaves. # list of commands to run when a player leaves.
on-leave: [] on-leave: []
sethome: sethome:
nether: nether:
@ -410,6 +429,10 @@ protection:
- GHAST - GHAST
- BAT - BAT
- BLAZE - BLAZE
# CaveBlock blocked mobs.
# List of mobs that should not spawn in the CaveBlock.
# Added since 1.13.0.
block-mobs: []
# Invincible visitors. List of damages that will not affect visitors. # Invincible visitors. List of damages that will not affect visitors.
# Make list blank if visitors should receive all damages # Make list blank if visitors should receive all damages
invincible-visitors: invincible-visitors: