Push CaveBlock 1.13.0 release

This commit is contained in:
BONNe 2020-05-01 23:31:31 +03:00
commit 3d254af4d6
10 changed files with 815 additions and 223 deletions

View File

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

View File

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

View File

@ -36,6 +36,21 @@ public class Settings implements WorldSettings
// Section: Getters
// ---------------------------------------------------------------------
/**
* @return the maxCoopSize
*/
@Override
public int getMaxCoopSize() {
return maxCoopSize;
}
/**
* @return the maxTrustSize
*/
@Override
public int getMaxTrustSize() {
return maxTrustSize;
}
/**
* This method returns the friendlyName object.
@ -796,22 +811,50 @@ public class Settings implements WorldSettings
/**
* This method returns the islandCommand value.
* @return the value of islandCommand.
* {@inheritDoc}
*/
public String getIslandCommand()
@Override
public List<String> getMobLimitSettings()
{
return islandCommand;
return mobLimitSettings;
}
/**
* This method returns the adminCommand value.
* @return the value of adminCommand.
* {@inheritDoc}
*/
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;
}
@ -819,6 +862,19 @@ public class Settings implements WorldSettings
// Section: Setters
// ---------------------------------------------------------------------
/**
* @param maxCoopSize the maxCoopSize to set
*/
public void setMaxCoopSize(int maxCoopSize) {
this.maxCoopSize = maxCoopSize;
}
/**
* @param maxTrustSize the maxTrustSize to set
*/
public void setMaxTrustSize(int maxTrustSize) {
this.maxTrustSize = maxTrustSize;
}
/**
* This method sets the friendlyName object value.
@ -1573,24 +1629,24 @@ public class Settings implements WorldSettings
/**
* This method sets the islandCommand value.
* @param islandCommand the islandCommand new value.
* This method sets the playerCommandAliases 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.
* @param adminCommand the adminCommand new value.
* This method sets the adminCommandAliases value.
* @param adminCommandAliases the adminCommandAliases new value.
*
*/
public void setAdminCommand(String adminCommand)
public void setAdminCommandAliases(String adminCommandAliases)
{
this.adminCommand = adminCommand;
this.adminCommandAliases = adminCommandAliases;
}
/**
@ -1774,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
// ---------------------------------------------------------------------
@ -1782,12 +1868,24 @@ public class Settings implements WorldSettings
@ConfigComment("Cave Command. What command users will run to access their cave.")
@ConfigComment("To define alias, just separate commands with white space.")
@ConfigEntry(path = "caveblock.command.cave")
private String islandCommand = "cave cb";
private String playerCommandAliases = "cave cb";
@ConfigComment("The Cave admin command.")
@ConfigComment("To define alias, just separate commands with white space.")
@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 */
@ConfigComment("Friendly name for this world. Used in admin commands. Must be a single word")
@ -2026,6 +2124,18 @@ public class Settings implements WorldSettings
@ConfigEntry(path = "cave.max-team-size")
private int maxTeamSize = 4;
@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("permission size cannot be less than the default below. ")
@ConfigEntry(path = "cave.max-coop-size", since = "1.13.0")
private int maxCoopSize = 4;
@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("permission size cannot be less than the default below. ")
@ConfigEntry(path = "cave.max-trusted-size", since = "1.13.0")
private int maxTrustSize = 4;
@ConfigComment("Default maximum number of homes a player can have. Min = 1")
@ConfigComment("Accessed via /cave sethome <number> or /cave go <number>")
@ConfigEntry(path = "cave.max-homes")
@ -2205,6 +2315,11 @@ public class Settings implements WorldSettings
@ConfigEntry(path = "protection.geo-limit-settings")
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
@ConfigComment("Invincible visitors. List of damages that will not affect visitors.")
@ConfigComment("Make list blank if visitors should receive all damages")

View File

@ -1,108 +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.AdminEmptyTrashCommand;
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.AdminSwitchtoCommand;
import world.bentobox.bentobox.api.commands.admin.AdminTeleportCommand;
import world.bentobox.bentobox.api.commands.admin.AdminTrashCommand;
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
public boolean execute(User user, String label, List<String> args) {
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("for license information.");
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
main: world.bentobox.caveblock.CaveBlock
version: ${version}${build.number}
api-version: 1.13.0
metrics: true
repository: "BentoBoxWorld/CaveBlock"
icon: "STONE_PICKAXE"
@ -17,6 +18,9 @@ permissions:
caveblock.island.home:
description: Allow teleporting to player cave
default: true
caveblock.island.sethome:
description: Let the player use the sethome command
default: true
caveblock.island.info:
description: Let the player check other players info
default: true
@ -48,7 +52,25 @@ permissions:
description: Player can use the cave reset or restart command
default: true
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
caveblock.island.team.trust:
description: Let a player use team trust commands
@ -71,6 +93,9 @@ permissions:
caveblock.mod.bypasscooldowns:
description: Allow moderator to bypass cooldowns
default: op
caveblock.mod.bypassdelays:
description: Allow moderator to bypass delays
default: op
caveblock.mod.bypassprotect:
description: Allow moderator to bypass cave protection
default: op
@ -113,6 +138,9 @@ permissions:
caveblock.admin.setspawn:
description: Allows use of spawn tools
default: op
caveblock.admin.setspawnpoint:
description: Allows to set spawn point of cave
default: op
caveblock.admin.setrange:
description: Allows setting of cave protection range
default: op
@ -128,3 +156,9 @@ permissions:
caveblock.admin.setlanguage:
description: Resets all player languages and sets the default language
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:
command:
# Cave Command. What command users will run to access their cave.
@ -7,6 +7,16 @@ caveblock:
# The Cave admin command.
# To define alias, just separate commands with white space.
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:
# Friendly name for this world. Used in admin commands. Must be a single word
friendly-name: CaveBlock
@ -57,7 +67,7 @@ world:
# -1 = unlimited
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.
# /!\ 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
@ -176,10 +186,10 @@ world:
- MATERIAL:CHORUS_PLANT:1:3
# Mob white list - these mobs will NOT be removed when logging in or doing /cave
remove-mobs-whitelist:
- ZOMBIE_VILLAGER
- WITHER
- ENDERMAN
- PIG_ZOMBIE
- ZOMBIE_VILLAGER
# World flags. These are boolean settings for various flags for this world
flags:
CREEPER_DAMAGE: true
@ -191,6 +201,7 @@ world:
CLEAN_SUPER_FLAT: false
CHEST_DAMAGE: false
PREVENT_TELEPORT_WHEN_FALLING: false
NATURAL_SPAWNING_OUTSIDE_RANGE: true
ENTER_EXIT_MESSAGES: true
ENDERMAN_DEATH_DROP: true
OFFLINE_REDSTONE: true
@ -198,8 +209,14 @@ world:
ENDER_CHEST: false
ITEM_FRAME_DAMAGE: false
# These are the default protection settings for new caves.
# The value is the minimum cave rank required allowed to do the action
# Ranks are: Visitor = 0, Member = 900, Owner = 1000
# The value is the minimum cave rank required allowed to do the action.
# Ranks are the following:
# VISITOR = 0
# COOP = 200
# TRUSTED = 400
# MEMBER = 500
# SUB-OWNER = 900
# OWNER = 1000
default-cave-flags:
HURT_ANIMALS: 500
REDSTONE: 500
@ -213,21 +230,21 @@ world:
END_PORTAL: 500
BREEDING: 500
HURT_VILLAGERS: 500
FROST_WALKER: 500
TURTLE_EGGS: 500
FROST_WALKER: 500
COLLECT_LAVA: 500
LEVER: 500
RIDING: 500
HURT_MONSTERS: 0
NAME_TAG: 500
ARMOR_STAND: 500
NAME_TAG: 500
TRADING: 0
EGGS: 500
ITEM_DROP: 0
NOTE_BLOCK: 0
NETHER_PORTAL: 500
ITEM_PICKUP: 0
CROP_TRAMPLE: 500
ITEM_PICKUP: 0
DROPPER: 500
BREWING: 500
COLLECT_WATER: 500
@ -239,10 +256,10 @@ world:
PLACE_BLOCKS: 500
ITEM_FRAME: 500
CRAFTING: 0
ENCHANTING: 0
SHEARING: 500
SPAWN_EGGS: 500
ENCHANTING: 0
BED: 500
SPAWN_EGGS: 500
MILKING: 0
DISPENSER: 500
GATE: 0
@ -279,6 +296,16 @@ cave:
# Default max team size
# Permission size cannot be less than the default below.
max-team-size: 4
# Default maximum number of coop rank members per cave
# Players can have the caveblock.coop.maxsize.<number> permission to be bigger but
# permission size cannot be less than the default below.
# Added since 1.13.0.
max-coop-size: 4
# Default maximum number of trusted rank members per cave
# Players can have the caveblock.trust.maxsize.<number> permission to be bigger but
# permission size cannot be less than the default below.
# Added since 1.13.0.
max-trusted-size: 4
# Default maximum number of homes a player can have. Min = 1
# Accessed via /cave sethome <number> or /cave go <number>
max-homes: 1
@ -297,7 +324,7 @@ cave:
# Overrides the on-leave inventory reset for kicked players.
kicked-keep-inventory: false
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
# Recommendation is that this is set to true, but if you run multi-worlds
# make sure your economy handles multi-worlds too.
@ -335,7 +362,7 @@ cave:
create-cave-on-first-login:
# Toggles the automatic cave creation upon the player's first login on your server.
# 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.
# * Make sure you have a Blueprint Bundle called "default": this is the one that will
# be used to create the cave.
@ -366,16 +393,18 @@ cave:
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.
# Added since 1.10.0.
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.
# Added since 1.10.0.
create-missing-nether-end-caves: false
commands:
# List of commands to run when a player joins.
on-join: []
# List of commands to run when a player leaves.
# list of commands to run when a player leaves.
on-leave: []
sethome:
nether:
@ -400,6 +429,10 @@ protection:
- GHAST
- BAT
- 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.
# Make list blank if visitors should receive all damages
invincible-visitors:

View File

@ -0,0 +1,296 @@
###########################################################################################
# This is a YML file. Be careful when editing. Check your edits in a YAML checker like #
# the one at http://yaml-online-parser.appspot.com #
# #
# Translation by: CZghost #
###########################################################################################
caveblock:
sign:
line0: "&cCaveBlock"
line1: "Vítej!"
line2: "[name]"
line3: "Začni kopat! &c<3"
informational:
to-nether: "Taková smůla, propadnout se do netheru."
to-the-end: "Dosáhl jsi Endu."
to-normal: "Zpět do své jeskyně."
# Override BentoBox default command strings
# General strings
general:
errors:
no-island: "&cNemáš jeskyni!"
player-has-island: "&cHráč již má jeskyni!"
player-has-no-island: "&cTento hráč nemá jeskyni!"
already-have-island: "&cJiž máš svou jeskyni!"
no-safe-location-found: "&cNelze najít bezpečné místo pro teleportaci do tvé jeskyně."
not-owner: "&cNejsi vlastník této jeskyně!"
commands:
# Parameters in <> are required, parameters in [] are optional
admin:
team:
add:
name-has-island: "&c[name] má jeskyni. Nejdříve ji odregistruj nebo smaž!"
success: "&b[name]&a byl přidán do jeskyně &b[owner]&a."
kick:
success: "&b[name] &abyl vykopnut z jeskyně &b[owner]&a."
setowner:
description: "přepíše vlastnictví jeskyně na hráče"
already-owner: "&c[name] již je vlastníkem této jeskyně!"
success: "&b[name]&a je nyní vlastník této jeskyně."
range:
description: "Administrátorský příkaz vzdálenosti jeskyně"
display:
description: "ukázat/schovat indikátory vzdálenosti jeskyně"
hint: |-
&cIkony červené bariéry &fukazují nynější limit chráněné oblasti jeskyně.
&7Šedé partikly &ukazují maximální limit jeskyně.
&aZelené partikly &fuzkazují výchozí chráněnou oblast jeskyně, pokud se nynější od ní odlišuje.
set:
description: "nastavuje chráněnou oblast jeskyně"
success: "&aChráněná oblast jeskyně nastavena na &b[number]&a."
reset:
description: "obnoví chráněnou oblast jeskyně na výchozí hodnotu světa"
success: "&aChráněná oblast jeskyně obnovena na &b[number]&a."
register:
description: "registrovat hráče do nevlastněné jeskyně, ve které jsi"
registered-island: "&aHráč registrován do jeskyně na [xyz]."
already-owned: "&cJeskyně je již vlastněna jiným hráčem!"
no-island-here: "&cZde není jeskyně. Potvrď její vytvoření."
in-deletion: "&cTato jeskyně bude smazána. Opakuj později."
cannot-make-island: "&c Pardon, sem nelze umístit jeskyni. Podívej se do konzole pro přípdné chyby."
unregister:
description: "odregistrovat vlastníka z jeskyně, ale zachovat bloky jeskyně"
unregistered-island: "&aHráč odregistrován z jeskyně na [xyz]."
info:
description: "získat info, kde se nacházíš ty nebo hráčova jeskyně"
no-island: "&cPrávě nejsi v žádné jeskyni..."
title: "========== Info o jeskyni ============"
islands-in-trash: "&dHráčova jeskyně je v koši."
is-spawn: "Jeskyně je spawn"
switchto:
description: "nastavit jeskyni hráče na pořadí v koši"
out-of-range: "&cČíslo musí být mezi 1 a [number]. Použij &l[label] trash [player] &r&cpro zobrazení čísel"
trash:
no-unowned-in-trash: "&cV koši nejsou žádné nevlastněné jeskyně"
no-islands-in-trash: "&cHráč nemá žádné jeskyně v koši"
description: "ukázat nevlastněné nebo hráčské jeskyně v koši"
title: "&d=========== Jeskyně v koši ==========="
count: "&l&dJeskyně [number]:"
use-switch: "&aPoužij &l[label] switchto <player> <number>&r&ak nastavení pořadí v koši"
emptytrash:
description: "Vysypat koš hráče, nebo všech nevlastněných jeskyní"
setrange:
description: "nastavit oblast jeskyně hráče"
range-updated: "Oblast jeskyně nastavena na [number]"
tp:
description: "teleportovat se do jeskyně hráče"
getrank:
description: "získat hodnost hráče v jejich jeskyni"
rank-is: "&aHodnost je [rank] v jejich jeskyni."
setrank:
description: "nastavit hodnot hráče v jejich jeskyni"
setspawn:
description: "nastavit jeskyni jako spawn pro tento svět"
already-spawn: "&cTato jeskyně již je spawn!"
no-island-here: "&cZde není jeskyně."
confirmation: "&cJsi si jistý, že chceš tuto jeskyni nastavit jako spawn pro tento svět?"
resetflags:
description: "Obnov vlaječky všech jeskyní na výchozí nastavení v souboru config.yml"
delete:
description: "odstraní jeskyni hráče"
cannot-delete-owner: "&cVšichni členové jeskyně musí být vykopnuti z jeskyně, než jej bude možné smazat."
deleted-island: "&aJeskyně na &e[xyz] &a byla úspěšně smazána."
island:
go:
description: "teleportuje tě do tvé jeskyně"
teleport: "&aTeleportuji tě do tvé jeskyně."
help:
description: "Hlavní příkaz jeskyně"
create:
description: "vytvořit jeskyni, s použitím volitelné předlohy (vyžaduje oprávnění)"
too-many-islands: "&cJe zde příliš mnoho jeskyní v tomto světě: není zde dostatek místa k vytvoření té tvé."
unable-create-island: "&cTvoji jeskyni se nepovedlo vygenerovat, prosím, kontaktuj administrátora."
creating-island: "&aVytvářím tvou jeskyni, počkej, prosím, chvíli..."
pick: "&aZvol si jeskyni"
info:
description: "ukázat info o tvé jeskyni nebo jeskyni hráče"
near:
description: "ukázat jména sousedících jeskyní okolo tebe"
the-following-islands: "&aNásledující jeskyně jsou poblíž:"
no-neighbors: "&cNemáš bezprostřední sousední jeskyně!"
reset:
description: "restartuj svou jeskyni a smaž svou předchozí"
must-remove-members: "&cMusíš odebrat všechny členy ze své jeskyně, než ji budeš moci restartovat (/island team kick <player>)."
sethome:
must-be-on-your-island: "&cMusíš být ve své jeskyni k nastavení domova!"
home-set: "&6Domov tvé jeskyně byl nastaven na tvou nynější pozici."
setname:
description: "nastavit jméno tvé jeskyně"
resetname:
description: "obnovit jméno tvé jeskyně"
team:
coop:
description: "učinit hráče pomocníkem ve tvé jeskyni"
uncoop:
you-are-no-longer-a-coop-member: "&cNadále již nejsi pomocníkem v jeskyni [name]"
all-members-logged-off: "&cVšichni členové jeskyně se odhlásili, takže již nadále nejsi pomocníkem v jeskyni [name]"
trust:
description: "dát hráči hodnost důvěryhodného ve tvé jeskyni"
invite:
description: "pozvi hráče jako člena tvé jeskyně"
name-has-invited-you: "&a[name] tě pozval jako člena jeho jeskyně."
you-will-lose-your-island: "&cVAROVÁNÍ! Ztatíš svou jeskyni, když žádost přijmeš!"
errors:
island-is-full: "&cTvá jeskyně je plná, nemůžeš pozvat nikoho dalšího."
accept:
you-joined-island: "&aPřipojil ses do jeskyně! Použij /[label] team info pro zobrazení ostatních členů."
name-joined-your-island: "&a[name] se připojil do tvé jeskyně!"
confirmation: |-
&cJsi si jistý, že chceš přijmout tuto pozvánku?
&c&l&nZTRATÍŠ&r&c&l svou dosavadní jeskyni!
reject:
you-rejected-invite: "&aOdmítnul jsi pozvánku do týmu jeskyně."
name-rejected-your-invite: "&c[name] odmítnul tvou pozvánku!"
cancel:
description: "zrušit čekající pozvánku do tvé jeskyně"
leave:
description: "opustit svou jeskyni"
left-your-island: "&c[name] &copustil tvou jeskyni"
kick:
description: "odstranit člena tvé jeskyně"
owner-kicked: "&cVlastník tě vykopnul ze své jeskyně!"
success: "&b[name] &abyl vykopnut z tvé jeskyně."
demote:
description: "degradovat hráče ve tvé jeskyni"
promote:
description: "povýšit hráče ve tvé jeskyni"
setowner:
description: "přenést vlastnictví své jeskyně na člena"
errors:
target-is-not-member: "&cTento hráč není členem týmu ve tvé jeskyni!"
name-is-the-owner: "&a[name] je nyní vlastník jeskyně!"
you-are-the-owner: "&aNyní jsi vlastníkem jeskyně!"
ban:
description: "zakázat hráči přístup do tvé jeskyně"
cannot-ban-more-players: "&cDosáhl jsi limitu zákazů, nemůžeš zakázat přístup do tvé jeskyně dalším hráčům."
player-banned: "&b[name]&c má nyní přístup do tvé jeskyně zakázán."
owner-banned-you: "&b[name]&c ti zakázal přístup do své jeskyně!"
you-are-banned: "&bPřístup do této jeskyně ti byl zakázán!"
unban:
description: povolit hráči přístup do tvé jeskyně"
player-unbanned: "&b[name]&a má nyní přístup do tvé jeskyně povolen."
you-are-unbanned: "&b[name]&a ti povolil přístup do své jeskyně!"
banlist:
noone: "&aNikdo nemá zakázaný přístup do této jeskyně."
settings:
description: "ukázat nastavení jeskyně"
expel:
description: "vykázat hráče z tvé jeskyně"
not-on-island: "&cTento hráč není ve tvé jeskyni!"
player-expelled-you: "&b[name]&c tě vykázal ze své jeskyně!"
ranks:
owner: "Král Trpaslíků"
sub-owner: "Rytíř Trpaslíků"
member: "Trpaslík"
trusted: "Důvěryhodný"
coop: "Pomocník"
visitor: "Člověk"
banned: "Skřet"
protection:
flags:
ENDERMAN_GRIEFING:
description: |-
&aEndermeni mohou odstraňovat
&abloky z jeskyně
name: "Griefing endermanů"
ENTER_EXIT_MESSAGES:
island: "Jeskyně [name]"
GEO_LIMIT_MOBS:
description: |-
&aOdstranit moby, které
&ase zapletou mimo chráněný
&aprostor jeskyně
name: "&eOmezit moby do jeskyně"
ISLAND_RESPAWN:
description: |-
&aHráči se respawnují
&av jejich jeskyni
name: "Respawn v jeskyni"
LIQUIDS_FLOWING_OUT:
name: "Přetékání kapalin mimo jeskyni"
description: |-
&aPřepíná, zda mohou kapaliny přetékat
&amimo chráněné prostředí jeskyně.
LOCK:
description: "Přepnout zámek"
name: "Zamknout jeskyni"
NATURAL_SPAWNING_OUTSIDE_RANGE:
name: "Přirozené spawnování tvorů mimo prostor jeskyně"
description: |-
&aPřepnout, zda se mohou tvorové (zvířata
&aa příšery) přirozeně spawnovat mimo
&achráněný prostor jeskyně.
&cMěj na paměti, že to nezabrání spawnování
&ctvorů pomocí spawneru nebo spawnovacích
&cvajíček.
OFFLINE_GROWTH:
description: |-
&aJe-li zakázáno, rostliny
&anebudou růst v jeskyních, jejichž
&ačlenové jsou všichni offline.
&aMůže pomoci snížit lagy.
name: "Offline růst"
OFFLINE_REDSTONE:
description: |-
&a&a Je-li zakázáno, rudit
&anebude funkční v jeskyních, jejichž
&ačlenové jsou všichni offline.
&aMůže pomoci snížit lagy.
name: "Offline Rudit"
PISTON_PUSH:
description: |-
&aPovolit pístům vytlačit
&ablok mimo jeskyni
name: "Vytlačení pístem"
REMOVE_MOBS:
description: |-
&aOdstranit příšery při
&ateleportu do jeskyně
name: "Odstranit příšery"
TREES_GROWING_OUTSIDE_RANGE:
name: "Růst stromů mimo prostor jeskyně"
description: |-
&aPřepíná, zda mohou stromy růst mimo
&achráněný prostor jeskyně nebo ne.
PREVENT_TELEPORT_WHEN_FALLING:
name: "Zabránit teleportu při padání"
description: |-
&aZabránit hráčům v teleportaci zpět
&ado jejich jeskyně použitím příkazu,
&apokud padají.
hint: "&cNemůžeš se teleportovat zpět do své jeskyně, když padáš."
locked: "&cTato jeskyně je zamčená!"
protected: "&cJeskyně chráněna: [description]"
spawn-protected: "&cSpawn chráněn: [description]"
panel:
PROTECTION:
description: |-
&aNastavení protekce
&atéto jeskyně
SETTING:
description: |-
&aObecné nastavení
&atéto jeskyně
protection:
flags:
SKY_WALKER_FLAG:
description: "&5&oToto umožní zapnout/vypnout\n&5&omožnost chodit\n&5&opo vrchu světa jeskyní\n&5&obez extra oprávnění."
name: "Nebeský chodec"
hint: "Umožňuje chodit pozastřešení jeskyň."

View File

@ -0,0 +1,286 @@
---
caveblock:
sign:
line0: "c方块洞穴"
line1: 欢迎!
line3: 开始挖掘! c <3
line2: "[name]"
informational:
to-nether: 真倒霉到地狱了。
to-the-end: 您已经到了末地。
to-normal: 回到你的洞穴。
general:
errors:
no-island: "c您没有洞穴"
player-has-island: "c玩家已经有一个山洞了"
player-has-no-island: "c该玩家没有洞穴"
already-have-island: "c您已经有一个山洞"
no-safe-location-found: "c在山洞找不到传送您的安全地点。"
not-owner: "c您不是洞穴的所有者"
commands:
admin:
team:
add:
name-has-island: "c [name]有一个山洞。首先注销或删除它们!"
success: "b [name]a已添加到b [owner]a的洞穴中。"
kick:
success: "b [name]ahas被踢出了b [owner]a的山洞。"
setowner:
description: 将洞穴所有权转移给玩家
already-owner: "c [name]已经是该洞穴的所有者!"
success: "b [name]a现在是这个洞穴的所有者。"
range:
description: 管理员洞穴范围命令
display:
description: 显示/隐藏洞穴范围指示器
hint: |-
c红色屏障图标f显示当前的洞穴保护范围限制。
7灰色粒子f显示最大洞穴极限。
a绿色粒子f如果洞穴保护范围不同于默认保护范围则显示默认保护范围。
set:
description: 设置洞穴保护范围
success: "a将洞穴保护范围设置为b [number]a。"
reset:
description: 将洞穴保护范围重置为世界默认值
success: "a将洞穴保护范围重置为b [number]a。"
register:
description: 注册玩家到您所在的无人洞
registered-island: "a注册玩家到[xyz]洞穴。"
already-owned: "c洞穴已被另一位玩家拥有"
no-island-here: "c这里没有洞穴。确认做一个。"
in-deletion: "c该洞穴空间当前正在被删除。等会再试。"
cannot-make-island: "c抱歉不能在此处放置洞穴。请参阅控制台以获取可能的错误。"
unregister:
description: 从山洞中注销所有者,但保留山洞块
unregistered-island: "a来自[xyz]洞穴的未注册玩家。"
info:
description: 获取有关您所在位置或玩家洞穴的信息
no-island: "c您现在不在山洞里..."
title: "==========洞穴信息============"
islands-in-trash: "d玩家在垃圾桶中有洞穴。"
is-spawn: 岛是出生点
switchto:
description: 将玩家的洞穴切换到垃圾桶中的第一洞
out-of-range: "c数字必须介于1到[number]之间。使用l [label]垃圾[player]rc查看洞穴编号"
trash:
no-unowned-in-trash: "c垃圾桶中没有无人认领的洞穴"
no-islands-in-trash: "c玩家没有洞穴在垃圾桶中"
description: 在垃圾桶中显示无人洞穴或玩家的洞穴
title: "d ============垃圾洞==========="
count: "&l&d洞穴 [number]:"
use-switch: "a使用l [label]切换到<player> <number>ra将玩家洞穴切换到垃圾桶"
emptytrash:
description: 清除玩家的垃圾桶,或垃圾桶中所有未拥有的洞穴
setrange:
description: 设定玩家洞穴的范围
range-updated: 洞穴范围更新为[数字]
tp:
description: 传送到玩家的洞穴
getrank:
description: 在他们的洞穴中获得玩家的排名
rank-is: "aRank在他们的洞穴中[排名]。"
setrank:
description: 设定玩家在洞穴中的等级
setspawn:
description: 为这个世界设置一个洞穴
already-spawn: "c这个洞穴已经是产卵了"
no-island-here: "c这里没有洞穴。"
confirmation: "c您确定要将此洞穴设置为这个世界的生成物吗"
resetflags:
description: 将所有洞穴重置为config.yml中的默认标志设置
delete:
description: 删除玩家的洞穴
cannot-delete-owner: "c删除所有洞穴成员之前必须将其踢出洞穴。"
deleted-island: "e [xyz]ahas中的aIsland已成功删除。"
island:
go:
description: 传送你到你的洞穴
teleport: "a将您传送到山洞。"
help:
description: 主要洞穴命令
create:
description: 使用可选的蓝图创建一个洞穴(需要许可)
too-many-islands: "c这个世界上有太多的洞穴没有足够的空间来创建您的洞穴。"
unable-create-island: "c您的洞穴无法生成请与管理员联系。"
creating-island: "a创建您的洞穴请稍等..."
pick: "a选择一个山洞"
info:
description: 显示有关您的洞穴或玩家洞穴的信息
near:
description: 显示您周围的洞穴名称
the-following-islands: "a附近有以下洞穴"
no-neighbors: "c您没有紧邻的洞穴"
reset:
description: 重新启动您的洞穴并删除旧的
must-remove-members: "c您必须先从洞穴中删除所有成员然后才能重新启动洞穴/岛国队踢&lt;player&gt;)。"
sethome:
must-be-on-your-island: "c您必须在洞穴里才能回家"
home-set: "6您的洞穴之家已设置为您当前的位置。"
setname:
description: 为你的洞穴命名
resetname:
description: 重设您的洞穴名称
team:
coop:
description: 让玩家在你的洞穴中进行排名
uncoop:
you-are-no-longer-a-coop-member: "c您不再是[name]的洞穴的鸡舍成员"
all-members-logged-off: "c所有洞穴成员都已注销因此您不再是[name]洞穴的合作伙伴"
trust:
description: 给玩家一个值得信赖的等级
invite:
description: 邀请玩家加入你的洞穴
name-has-invited-you: "a [name]邀请您加入他们的洞穴。"
you-will-lose-your-island: "c警告如果您接受您将迷路"
errors:
island-is-full: "c您的洞穴已满您不能邀请其他任何人。"
accept:
you-joined-island: "a您加入了一个山洞使用/ [标签]小组信息来查看其他成员。"
name-joined-your-island: "a [name]加入了您的洞穴!"
confirmation: |-
c确定要接受此邀请吗
cl您会nLOSErcly您当前的洞穴
reject:
you-rejected-invite: "a您拒绝了加入洞穴的邀请。"
name-rejected-your-invite: "c [name]拒绝了您的洞穴邀请!"
cancel:
description: 取消待处理的邀请,加入你的洞穴
leave:
description: 离开你的洞穴
left-your-island: "c [name]cleft your cave"
kick:
description: 从您的洞穴中删除一个成员
owner-kicked: "c主人将您踢出山洞"
success: "b [name]ahas被踢出您的山洞。"
demote:
description: 将您的玩家降级
promote:
description: 提升您的玩家排名
setowner:
description: 将您的洞穴所有权转让给成员
errors:
target-is-not-member: 该球员不属于您的洞穴团队!
name-is-the-owner: "a [name]现在是洞穴所有者!"
you-are-the-owner: "a您现在是洞穴主人"
ban:
description: 禁止玩家进入您的洞穴
cannot-ban-more-players: "c您已达到禁令限制您不能再从您的洞穴禁赛。"
player-banned: "b [name]c现在被禁止进入您的洞穴。"
owner-banned-you: "b [name]c禁止您进入他们的洞穴"
you-are-banned: "b您被禁止进入这个洞穴"
unban:
description: 禁止玩家进入您的洞穴
player-unbanned: "b [name]a现在不受您的洞穴限制。"
you-are-unbanned: "b [name]a禁止您进入他们的洞穴"
banlist:
noone: "a没有人被禁止进入这个洞穴。"
settings:
description: 显示洞穴设置
expel:
description: 将玩家驱逐出您的洞穴
not-on-island: "c那个玩家不在你的洞穴里"
player-expelled-you: "b [name]c将您赶出了山洞"
ranks:
owner: 矮人王
sub-owner: 矮人骑士
member: 侏儒
trusted: 值得信赖
coop: 鸡舍
visitor: 人的
banned: 兽人
protection:
flags:
ENDERMAN_GRIEFING:
description: |-
aEndermen可以删除
a洞穴
name: 恩德曼悲痛
ENTER_EXIT_MESSAGES:
island: "[名字]的洞穴"
GEO_LIMIT_MOBS:
description: |-
a删除小怪
&外部保护
&占用空间
name: "e限制小怪进入山洞"
ISLAND_RESPAWN:
description: |-
a玩家重生
和他们的洞穴
name: 洞穴重生
LIQUIDS_FLOWING_OUT:
name: 液体在洞穴外流动
description: |-
a切换液体是否可以流出
a洞穴的保护范围。
LOCK:
description: 拨动锁
name: 锁洞
NATURAL_SPAWNING_OUTSIDE_RANGE:
name: 自然生物产生范围外
description: |-
a切换是否生物动物和
amonsters可以在外面自然产卵
aa洞穴的保护范围。
c请注意这不会阻止生物
cto通过暴民生成器或生成器生成
cegg。
OFFLINE_GROWTH:
description: |-
a禁用时植物
a不会在洞穴中生长
awhen所有成员均处于离线状态。
a可以帮助减少延迟。
name: 离线增长
OFFLINE_REDSTONE:
description: |-
a禁用时红石
a不会在山洞中运作
a所有成员均处于离线状态。
a可以帮助减少延迟。
name: 离线红石
PISTON_PUSH:
description: |-
a允许活塞推动
&在洞穴外面
name: 活塞推
REMOVE_MOBS:
description: |-
a移除怪物
&前往洞穴
name: 移除怪物
TREES_GROWING_OUTSIDE_RANGE:
name: 树木生长范围外
description: |-
a切换树木是否可以在
是否使用acave的保护范围。
PREVENT_TELEPORT_WHEN_FALLING:
name: 跌倒时防止传送
description: |-
a防止玩家被传送
使用命令返回他们的洞穴
aif他们跌倒了。
hint: "c跌倒时无法传送回洞穴。"
locked: "c这个洞穴被锁了"
protected: "cCave保护[说明]"
spawn-protected: "cSpawn受保护[描述]"
panel:
PROTECTION:
description: |-
a保护设置
a这个洞
SETTING:
description: |-
a常规设置
a这个洞
protection:
flags:
SKY_WALKER_FLAG:
hint: 允许在洞穴顶上行走。
name: 天空行者
description: |-
5o这允许启用/禁用
5o能力继续前进
5otop洞穴世界
5o没有额外的权限。