mirror of
https://github.com/Xiao-MoMi/Custom-Crops.git
synced 2025-12-28 11:29:19 +00:00
3.6
This commit is contained in:
38
plugin/src/main/resources/commands.yml
Normal file
38
plugin/src/main/resources/commands.yml
Normal file
@@ -0,0 +1,38 @@
|
||||
#
|
||||
# Don't change this
|
||||
#
|
||||
config-version: "${config_version}"
|
||||
|
||||
#
|
||||
# For safety reasons, editing this file requires a restart to apply
|
||||
#
|
||||
|
||||
# A command to reload the plugin
|
||||
# Usage: [COMMAND]
|
||||
reload:
|
||||
enable: true
|
||||
permission: customcrops.command.reload
|
||||
usage:
|
||||
- /customcrops reload
|
||||
- /ccrops reload
|
||||
|
||||
get_season:
|
||||
enable: true
|
||||
permission: customcrops.command.get_season
|
||||
usage:
|
||||
- /customcrops season get
|
||||
- /ccrops season get
|
||||
|
||||
set_season:
|
||||
enable: true
|
||||
permission: customcrops.command.set_season
|
||||
usage:
|
||||
- /customcrops season set
|
||||
- /ccrops season set
|
||||
|
||||
debug_data:
|
||||
enable: true
|
||||
permission: customcrops.command.debug
|
||||
usage:
|
||||
- /customcrops debug data
|
||||
- /ccrops debug data
|
||||
@@ -1,30 +1,26 @@
|
||||
# Don't change
|
||||
config-version: '37'
|
||||
|
||||
# Debug
|
||||
debug: false
|
||||
|
||||
# BStats
|
||||
metrics: true
|
||||
|
||||
# Check updates
|
||||
update-checker: true
|
||||
|
||||
# Language
|
||||
# https://github.com/Xiao-MoMi/Custom-Crops/tree/main/plugin/src/main/resources/messages
|
||||
lang: en
|
||||
|
||||
# Force locale, for instance zh_cn
|
||||
force-locale: ''
|
||||
# World settings
|
||||
worlds:
|
||||
# This is designed for servers that using an independent folder for worlds
|
||||
# Especially for realm systems
|
||||
# Some servers use separate folders to store player worlds, and these world directories
|
||||
# are often not located in the server's root directory. This option allows users to read
|
||||
# world data from a custom directory. It is only applicable to Bukkit worlds.
|
||||
absolute-world-folder-path: ''
|
||||
# A list of worlds that would decide where the plugin mechanisms take effect
|
||||
# Mode: whitelist/blacklist/regex
|
||||
mode: blacklist
|
||||
list:
|
||||
- blacklist_world
|
||||
- blacklist_world # A non-existent world
|
||||
settings:
|
||||
# Default settings that apply to all worlds
|
||||
_DEFAULT_:
|
||||
# Whether to enable the plugin's pre-made system
|
||||
# Disabling this option will make all mechanisms stop counting ticks unless you have full control over it using the API.
|
||||
@@ -37,10 +33,9 @@ worlds:
|
||||
auto-alternation: true
|
||||
# Game days of each season
|
||||
duration: 28
|
||||
# Random tick speed
|
||||
# It's different from the vanilla RandomTickSpeed.
|
||||
# CustomCrops' random tick speed has a larger base value
|
||||
# So we can have more precise control on crops' growth speed
|
||||
# "Random tick" here refers to the process of randomly selecting n blocks within a 16x16x16 section every second to perform a tick while Minecraft do that every tick.
|
||||
# Therefore, the random tick of CustomCrops has little impact on the server, and it is performed on multiple threads.
|
||||
random-tick-speed: 20
|
||||
# The smallest tick unit in seconds used in scheduled tick mode
|
||||
# 300s means that a crop would be certainly ticked once in 300s
|
||||
@@ -66,6 +61,7 @@ worlds:
|
||||
# Scheduler mode provides more reliable growth schedule management
|
||||
# which allows crops to grow at almost the same speed
|
||||
mode: RANDOM_TICK
|
||||
# The tick-interval determines how many times a block is ticked before its tick logic is actually executed.
|
||||
tick-interval: 1
|
||||
# Limit the max amount of crops in one chunk (-1 = no limit)
|
||||
max-per-chunk: -1
|
||||
@@ -74,14 +70,12 @@ worlds:
|
||||
# RANDOM_TICK / SCHEDULED_TICK
|
||||
mode: SCHEDULED_TICK
|
||||
tick-interval: 3
|
||||
# Limit the max amount of pots in one chunk (-1 = no limit)
|
||||
max-per-chunk: -1
|
||||
# Settings for sprinklers
|
||||
sprinkler:
|
||||
# RANDOM_TICK / SCHEDULED_TICK
|
||||
mode: SCHEDULED_TICK
|
||||
tick-interval: 2
|
||||
# Limit the max amount of sprinklers in one chunk (-1 = no limit)
|
||||
max-per-chunk: -1
|
||||
# You can override the default settings for worlds here
|
||||
_WORLDS_:
|
||||
@@ -89,7 +83,6 @@ worlds:
|
||||
enable: false
|
||||
world_the_end:
|
||||
enable: false
|
||||
|
||||
# Mechanics settings
|
||||
mechanics:
|
||||
# You can create more ranks by adding more "/" for instance x/x/x/x/x
|
||||
@@ -97,29 +90,26 @@ mechanics:
|
||||
# 17/2/1 = 85%/10%/5%
|
||||
# 85% = 17/(17+2+1) * 100%
|
||||
default-quality-ratio: 17/2/1
|
||||
|
||||
# Scarecrow prevents crops from being attacked by crows
|
||||
scarecrow:
|
||||
enable: true
|
||||
id: '{0}scarecrow'
|
||||
type: ITEM_FRAME
|
||||
range: 7
|
||||
# If this option is enabled, the range above would not longer take effect
|
||||
# This option would make the scarecrow protect all the crops in a chunk instead of crops in certain range
|
||||
# If this option is enabled, the range would no longer take effect
|
||||
# This option would make it protect all the crops in the same chunk
|
||||
protect-chunk: false
|
||||
|
||||
# Greenhouse glass prevents crops from withering from season changing
|
||||
greenhouse:
|
||||
enable: true
|
||||
# You can use a list of ids here, vanilla blocks are supported too
|
||||
id: '{0}greenhouse_glass'
|
||||
type: CHORUS
|
||||
range: 5
|
||||
|
||||
# Sync seasons
|
||||
sync-season:
|
||||
enable: false
|
||||
reference: world
|
||||
|
||||
# Vanilla farmland settings
|
||||
vanilla-farmland:
|
||||
# Disable vanilla farmland moisture mechanics
|
||||
@@ -127,29 +117,19 @@ mechanics:
|
||||
disable-moisture-mechanic: false
|
||||
# Prevent entities from trampling the farmland
|
||||
prevent-trampling: false
|
||||
|
||||
other-settings:
|
||||
# It's recommended to use MiniMessage format. If you insist on using legacy color code "&", enable the support below.
|
||||
# Disable this would improve performance
|
||||
legacy-color-code-support: true
|
||||
|
||||
# Requires PlaceholderAPI to work
|
||||
placeholder-register:
|
||||
'{skill-level}': '%levelplugin_farming%'
|
||||
|
||||
# Thread pool settings
|
||||
thread-pool-settings:
|
||||
corePoolSize: 10
|
||||
maximumPoolSize: 10
|
||||
keepAliveTime: 30
|
||||
|
||||
# Using items from other plugins
|
||||
item-detection-order: []
|
||||
|
||||
# Whether to protect the original lore of the item
|
||||
# This uses the scoreboard component to identify the plugin's lore,
|
||||
# which may conflict with some plugins that still use SpigotAPI#ItemMeta.
|
||||
protect-original-lore: false
|
||||
|
||||
# Should the plugin try to convert worlds from 3.3 to 3.4 when WorldLoadEvent is triggered
|
||||
convert-on-world-load: false
|
||||
# Whether to check if the block/furniture corresponds with the one in CustomCrops data
|
||||
# You can enable this if you are using Oraxen as its API is more reliable
|
||||
double-check: false
|
||||
@@ -215,14 +215,17 @@ tomato:
|
||||
crop: tomato
|
||||
# Custom grow conditions
|
||||
grow-conditions:
|
||||
season_condition:
|
||||
type: suitable_season
|
||||
value:
|
||||
- Spring
|
||||
- Autumn
|
||||
water_condition:
|
||||
type: water_more_than
|
||||
value: 0
|
||||
default:
|
||||
point: 1
|
||||
conditions:
|
||||
season_condition:
|
||||
type: suitable_season
|
||||
value:
|
||||
- Spring
|
||||
- Autumn
|
||||
water_condition:
|
||||
type: water_more_than
|
||||
value: 0
|
||||
# Custom death conditions
|
||||
death-conditions:
|
||||
no_water:
|
||||
|
||||
@@ -13,20 +13,19 @@ default:
|
||||
absorb-nearby-water: false
|
||||
# Set unique looks for pots with different fertilizer statuses
|
||||
fertilized-pots:
|
||||
enable: false
|
||||
quality:
|
||||
dry: {0}dry_pot
|
||||
wet: {0}wet_pot
|
||||
yield-increase:
|
||||
yield_increase:
|
||||
dry: {0}dry_pot
|
||||
wet: {0}wet_pot
|
||||
variation:
|
||||
dry: {0}dry_pot
|
||||
wet: {0}wet_pot
|
||||
soil-retain:
|
||||
soil_retain:
|
||||
dry: {0}dry_pot
|
||||
wet: {0}wet_pot
|
||||
speed-grow:
|
||||
speed_grow:
|
||||
dry: {0}dry_pot
|
||||
wet: {0}wet_pot
|
||||
# Methods to fill the watering can
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
messages:
|
||||
prefix: '<gradient:#ff206c:#fdee55>[CustomCrops]</gradient> '
|
||||
reload: '<white>Reloaded! Took <green>{time}ms.</green></white>'
|
||||
spring: 'Spring'
|
||||
summer: 'Summer'
|
||||
autumn: 'Autumn'
|
||||
winter: 'Winter'
|
||||
no-season: 'Season Disabled'
|
||||
@@ -1,8 +0,0 @@
|
||||
messages:
|
||||
prefix: '<gradient:#ff206c:#fdee55>[CustomCrops]</gradient> '
|
||||
reload: '<white>¡Recargado! Tardó <green>{time}ms.'
|
||||
spring: 'Primavera'
|
||||
summer: 'Verano'
|
||||
autumn: 'Otoño'
|
||||
winter: 'Invierno'
|
||||
no-season: 'LAS ESTACIONES ESTÁN DESACTIVADAS EN ESTE MUNDO'
|
||||
@@ -1,8 +0,0 @@
|
||||
messages:
|
||||
prefix: '<gradient:#ff206c:#fdee55>[CustomCrops]</gradient> '
|
||||
reload: '<white>Rechargé ! A pris <green>{time}ms.'
|
||||
spring: 'Printemps'
|
||||
summer: 'Été'
|
||||
autumn: 'Automne'
|
||||
winter: 'Hiver'
|
||||
no-season: 'SAISON DÉSACTIVÉE DANS CE MONDE'
|
||||
@@ -1,8 +0,0 @@
|
||||
messages:
|
||||
prefix: '<gradient:#ff206c:#fdee55>[CustomCrops]</gradient> '
|
||||
reload: '<white>Recarregado! Levou <green>{time}ms.</green></white>'
|
||||
spring: 'Primavera'
|
||||
summer: 'Verão'
|
||||
autumn: 'Outono'
|
||||
winter: 'Inverno'
|
||||
no-season: 'Estação Desativada'
|
||||
@@ -1,8 +0,0 @@
|
||||
messages:
|
||||
prefix: '<gradient:#ff206c:#fdee55>[CustomCrops]</gradient> '
|
||||
reload: '<white>Перезагружено! Заняло <green>{time}мс.'
|
||||
spring: 'Весна'
|
||||
summer: 'Лето'
|
||||
autumn: 'Осень'
|
||||
winter: 'Зима'
|
||||
no-season: 'СЕЗОНЫ ОТКЛЮЧЕНЫ В ЭТОМ МИРЕ'
|
||||
@@ -1,8 +0,0 @@
|
||||
messages:
|
||||
prefix: '<gradient:#ff206c:#fdee55>[CustomCrops]</gradient> '
|
||||
reload: '<white>重载完成! 耗时 <green>{time}ms.</green></white>'
|
||||
spring: '春季'
|
||||
summer: '夏季'
|
||||
autumn: '秋季'
|
||||
winter: '冬季'
|
||||
no-season: '未启用季节'
|
||||
@@ -1,12 +1,10 @@
|
||||
name: CustomCrops
|
||||
version: '${version}'
|
||||
main: net.momirealms.customcrops.CustomCropsPluginImpl
|
||||
version: '${project_version}'
|
||||
main: net.momirealms.customcrops.bukkit.BukkitBootstrap
|
||||
api-version: 1.17
|
||||
load: POSTWORLD
|
||||
authors: [ XiaoMoMi ]
|
||||
folia-supported: true
|
||||
depend:
|
||||
- ProtocolLib
|
||||
softdepend:
|
||||
- Vault
|
||||
- ItemsAdder
|
||||
@@ -18,7 +16,7 @@ softdepend:
|
||||
- RealisticSeasons
|
||||
- AdvancedSeasons
|
||||
- SlimeWorldManager
|
||||
- SlimeWorldPlugin
|
||||
- MythicMobs
|
||||
- HuskClaims
|
||||
- HuskTowns
|
||||
- Residence
|
||||
@@ -29,7 +27,6 @@ softdepend:
|
||||
- GriefPrevention
|
||||
- BentoBox
|
||||
- IridiumSkyblock
|
||||
- MythicMobs
|
||||
- KingdomsX
|
||||
- Landlord
|
||||
- Lands
|
||||
|
||||
46
plugin/src/main/resources/translations/en.yml
Normal file
46
plugin/src/main/resources/translations/en.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
# Don"t change this
|
||||
config-version: "37"
|
||||
|
||||
exception.invalid_syntax: "<red>Invalid syntax. Correct syntax: <white><arg:0></white></red>"
|
||||
exception.invalid_argument: "<red>Invalid argument. Reason: <white><arg:0></white></red>"
|
||||
exception.invalid_sender: "<red><arg:0> is not allowed to execute that command. Must be of type <arg:1></red>"
|
||||
exception.unexpected: "<red>An internal error occurred while attempting to perform this command</red>"
|
||||
exception.no_permission: "<red>I'm sorry, but you do not have permission to perform this command</red>"
|
||||
exception.no_such_command: "Unknown command."
|
||||
argument.entity.notfound.player: "<red><lang:argument.entity.notfound.player></red>"
|
||||
argument.entity.notfound.entity: "<red><lang:argument.entity.notfound.entity></red>"
|
||||
argument.parse.failure.time: "<red>'<arg:0>' is not a valid time format</red>"
|
||||
argument.parse.failure.material: "<red>'<arg:0>' is not a valid material name</red>"
|
||||
argument.parse.failure.enchantment: "<red>'<arg:0>' is not a valid enchantment</red>"
|
||||
argument.parse.failure.offlineplayer: "<red>No player found for input '<arg:0>'</red>"
|
||||
argument.parse.failure.player: "<red>No player found for input '<arg:0>'</red>"
|
||||
argument.parse.failure.world: "<red>'<arg:0>' is not a valid Minecraft world</red>"
|
||||
argument.parse.failure.location.invalid_format: "<red>'<arg:0>' is not a valid location. Required format is '<arg:1> <arg:2> <arg:3></red>"
|
||||
argument.parse.failure.location.mixed_local_absolute: "<red>Cannot mix local and absolute coordinates. (either all coordinates use '^' or none do)</red>"
|
||||
argument.parse.failure.namespacedkey.namespace: "<red>Invalid namespace '<arg:0>'. Must be [a-z0-9._-]</red>"
|
||||
argument.parse.failure.namespacedkey.key: "<red>Invalid key '<arg:0>'. Must be [a-z0-9/._-]</red>"
|
||||
argument.parse.failure.namespacedkey.need_namespace: "<red>Invalid input '<arg:0>', requires an explicit namespace</red>"
|
||||
argument.parse.failure.boolean: "<red>Could not parse boolean from '<arg:0>'</red>"
|
||||
argument.parse.failure.number: "<red>'<arg:0>' is not a valid number in the range <arg:1> to <arg:2></red>"
|
||||
argument.parse.failure.char: "<red>'<arg:0>' is not a valid character</red>"
|
||||
argument.parse.failure.string: "<red>'<arg:0>' is not a valid string of type <arg:1></red>"
|
||||
argument.parse.failure.uuid: "<red>'<arg:0>' is not a valid UUID</red>"
|
||||
argument.parse.failure.enum: "<red>'<arg:0>' is not one of the following: <arg:1></red>"
|
||||
argument.parse.failure.regex: "<red>'<arg:0>' does not match '<arg:1>'</red>"
|
||||
argument.parse.failure.flag.unknown: "<red>Unknown flag '<arg:0>'</red>"
|
||||
argument.parse.failure.flag.duplicate_flag: "<red>Duplicate flag '<arg:0>'</red>"
|
||||
argument.parse.failure.flag.no_flag_started: "<red>No flag started. Don't know what to do with '<arg:0>'</red>"
|
||||
argument.parse.failure.flag.missing_argument: "<red>Missing argument for '<arg:0>'</red>"
|
||||
argument.parse.failure.flag.no_permission: "<red>You don't have permission to use '<arg:0>'</red>"
|
||||
argument.parse.failure.color: "<red>'<arg:0>' is not a valid color</red>"
|
||||
argument.parse.failure.duration: "<red>'<arg:0>' is not a duration format</red>"
|
||||
argument.parse.failure.aggregate.missing: "<red>Missing component '<arg:0>'</red>"
|
||||
argument.parse.failure.aggregate.failure: "<red>Invalid component '<arg:0>': <arg:1></red>"
|
||||
argument.parse.failure.either: "<red>Could not resolve <arg:1> or <arg:2> from '<arg:0>'</red>"
|
||||
argument.parse.failure.namedtextcolor: "<red>'<arg:0>' is not a named text color</red>"
|
||||
command.reload.success: "<white>Reloaded. Took <green><arg:0></green> ms.</white>"
|
||||
season.spring: "Spring"
|
||||
season.summer: "Summer"
|
||||
season.autumn: "Autumn"
|
||||
season.winter: "Winter"
|
||||
season.disable: "Disable"
|
||||
46
plugin/src/main/resources/translations/zh_cn.yml
Normal file
46
plugin/src/main/resources/translations/zh_cn.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
# 别动这个
|
||||
config-version: "37"
|
||||
|
||||
exception.invalid_syntax: "<red>无效语法. 正确语法:<white><arg:0></white></red>"
|
||||
exception.invalid_argument: "<red>无效参数. 原因:<white><arg:0></white></red>"
|
||||
exception.invalid_sender: "<red><arg:0> 不允许执行该命令. 执行者必须是 <arg:1></red>"
|
||||
exception.unexpected: "<red>执行该命令时发生内部错误</red>"
|
||||
exception.no_permission: "<red>抱歉, 您没有权限执行该命令</red>"
|
||||
exception.no_such_command: "未知命令"
|
||||
argument.entity.notfound.player: "<red>找不到玩家 '<arg:0>'</red>"
|
||||
argument.entity.notfound.entity: "<red>找不到实体 '<arg:0>'</red>"
|
||||
argument.parse.failure.time: "<red>'<arg:0>' 不是有效的时间格式</red>"
|
||||
argument.parse.failure.material: "<red>'<arg:0>' 不是有效的材料</red>"
|
||||
argument.parse.failure.enchantment: "<red>'<arg:0>' 不是有效的魔咒</red>"
|
||||
argument.parse.failure.offlineplayer: "<red>输入的玩家 '<arg:0>' 已离线</red>"
|
||||
argument.parse.failure.player: "<red>找不到输入的玩家 '<arg:0>'</red>"
|
||||
argument.parse.failure.world: "<red>'<arg:0>' 不是有效的 Minecraft 世界名称</red>"
|
||||
argument.parse.failure.location.invalid_format: "<red>'<arg:0>' 不是有效的位置格式.必须格式为 '<arg:1> <arg:2> <arg:3>'</red>"
|
||||
argument.parse.failure.location.mixed_local_absolute: "<red>不能混用相对和绝对坐标.坐标要么全部使用 '^',要么全部不用</red>"
|
||||
argument.parse.failure.namespacedkey.namespace: "<red>无效的命名空间 '<arg:0>'.必须为 [a-z0-9._-]</red>"
|
||||
argument.parse.failure.namespacedkey.key: "<red>无效的键 '<arg:0>'.必须为 [a-z0-9/._-]</red>"
|
||||
argument.parse.failure.namespacedkey.need_namespace: "<red>无效的输入 '<arg:0>', 需要显式指定命名空间</red>"
|
||||
argument.parse.failure.boolean: "<red>无法解析布尔值 '<arg:0>'</red>"
|
||||
argument.parse.failure.number: "<red>'<arg:0>' 不是从 <arg:1> 到 <arg:2> 范围内的有效数字</red>"
|
||||
argument.parse.failure.char: "<red>'<arg:0>' 不是有效的字符</red>"
|
||||
argument.parse.failure.string: "<red>'<arg:0>' 不是类型为 <arg:1> 的有效字符串</red>"
|
||||
argument.parse.failure.uuid: "<red>'<arg:0>' 不是有效的 UUID</red>"
|
||||
argument.parse.failure.enum: "<red>'<arg:0>' 不是以下任何一种情况之一: <arg:1></red>"
|
||||
argument.parse.failure.regex: "<red>'<arg:0>' 不匹配 '<arg:1>'</red>"
|
||||
argument.parse.failure.flag.unknown: "<red>未知标志 '<arg:0>'</red>"
|
||||
argument.parse.failure.flag.duplicate_flag: "<red>重复的标志 '<arg:0>'</red>"
|
||||
argument.parse.failure.flag.no_flag_started: "<red>没有开始标志. 不知道如何处理 '<arg:0>'</red>"
|
||||
argument.parse.failure.flag.missing_argument: "<red>缺少 '<arg:0>' 参数</red>"
|
||||
argument.parse.failure.flag.no_permission: "<red>您没有权限使用 '<arg:0>'</red>"
|
||||
argument.parse.failure.color: "<red>'<arg:0>' 不是有效的颜色</red>"
|
||||
argument.parse.failure.duration: "<red>'<arg:0>' 不是有效的持续时间格式</red>"
|
||||
argument.parse.failure.aggregate.missing: "<red>缺少组件 '<arg:0>'</red>"
|
||||
argument.parse.failure.aggregate.failure: "<red>无效的组件 '<arg:0>': <arg:1></red>"
|
||||
argument.parse.failure.either: "<red>无法从 '<arg:0>' 解析 <arg:1> 或 <arg:2></red>"
|
||||
argument.parse.failure.namedtextcolor: "<red>'<arg:0>' 不是颜色代码</red>"
|
||||
command.reload.success: "<white>重新加载完成.耗时 <green><arg:0></green> 毫秒</white><newline><green><click:open_url:https://github.com/jhqwqmc>译者:jhqwqmc</click></green>"
|
||||
season.spring: "春"
|
||||
season.summer: "夏"
|
||||
season.autumn: "秋"
|
||||
season.winter: "冬"
|
||||
season.disable: "未启用"
|
||||
Reference in New Issue
Block a user