# Denizen 配置文件
# Denizen config.
Debug:
    # 是否默认在服务器控制台显示Denizen的调试信息
    # 注意：你几乎总是希望将此设置为“true”！保持为“true”以便调试。如果某个脚本已经没有问题，可以在脚本容器中设置 "debug: false" 来隐藏调试信息。
    # 禁用此功能可能会导致日志中不显示错误消息和其他重要通知！
    # Whether debug information about Denizen should EVER appear in the server console by default
    # NOTE: You almost ALWAYS want this ON! Leave it at 'true'! To hide debug from scripts, set "debug: false" on the script containers that work fine.
    # Disabling this can prevent your logs from showing error messages and other important notices!
    Show: true
    # '/ex' 命令使用时是否提示检查调试信息。
    # Whether the '/ex' command should tell you to check debug when you use it.
    Ex command help: true
    # '/ex' 命令是否默认显示调试信息。（如果设置为false，则反转 '-q' 选项）
    # Whether the '/ex' command should show debug by default. (if set to false, this inverts the '-q' option)
    Ex command debug: true
    # 调试输出的最大行长度。如果控制台难以阅读，可以缩短此值。
    # The max length of a line of debug output. Shorten this if your console is hard to read.
    Line length: 300
    # 调试输出的最大长度。超过此长度后，所有进一步的输出将被截断。
    # The max length of debug output. After this length, all further output will be cut off.
    Trim length limit: 4096
    # 是否允许 "system.redirect_logging" 机制
    # Whether to permit the "system.redirect_logging" mechanism
    Allow console redirection: false
    # 是否向Denizen中央服务器发送基本统计信息。
    # 这纯粹是为了维护有关有多少服务器运行任何特定版本的Denizen的基本信息。
    # 请勿禁用此功能，除非它导致错误（请报告您遇到的任何错误）。
    # Whether to send basic statistic information to the Denizen central server.
    # This is purely to maintain basic information on things like how many servers run any given version of Denizen.
    # Please do not disable this unless it is throwing errors (Please report any errors you receive as well).
    Stats: true
    # 是否强制将帮助命令设为默认的Bukkit帮助（解决命令脚本帮助选项问题所需）。
    # Whether to force the help command to be the default bukkit help (required to fix issues with command script help options).
    Override help: true
    # 脚本容器的默认调试模式。
    # 这几乎总是应保持为“true”。
    # The default debug mode for script containers.
    # This should almost always be left at 'true'.
    Container default: true
    # 在单个tick内可以出现的最大调试消息数量，然后它们将被阻止。
    # 这是一个备用安全功能，可防止调试输出导致服务器崩溃。
    # 将值设置得更低以更好地保护此功能，设置得更高以自愿调试非常长的脚本。
    # How many debug messages can appear within the span of a single tick before they simply get blocked.
    # This is available as a backup safety feature to prevent debug output from crashing a server.
    # Set the value lower to better protect this, set the value higher to willfully debug a very very long script.
    Limit per tick: 5000
    # 是否显示一些额外的信息输出（将会充斥控制台）。
    # Whether to show some extra info output (will spam your console).
    Extra info: false
    # 是否显示额外的高级详细“详细”信息输出（将淹没你的控制台！）。
    # Whether to show extra advanced detailed 'verbose' info output (will FLOOD your console!).
    Verbose: false
    # 用于前缀所有调试输出的可选文本。
    # Optional text to prefix all debug output.
    Prefix: ""
    # 是否显示脚本加载的完整信息（在启动时和使用 "/ex reload" 时）。
    # Whether to show full information about scripts being loaded (at startup and "/ex reload" usage).
    Show loading info: false
    # 是否显示计划为未来警告的弃用警告。
    # Whether to show deprecation warnings that are scheduled as future warnings.
    Show future warnings: false
    # 启用此功能以在异步发送数据包时在日志中显示警告。
    # 异步数据包大多不受支持，只有少数例外，但某些插件仍然会发送它们。
    # 启用此设置有助于捕获这些插件。
    # Enable this to show a warning in logs when packets are sent asynchronously.
    # Async packets are largely unsupported with a few exceptions, but some plugins send them regardless.
    # This setting helps you catch those plugins if enabled.
    Warn on async packets: false
    # 缓慢警告出现之间的间隔时间（以毫秒为单位）。用于较小的警告，例如较新的弃用通知，以避免错误消息泛滥。
    # Rate between when slowed warnings appear (in milliseconds). This is used for minor warnings such as newer deprecation notices, to avoid error message flood.
    Warning rate: 10000
    # 如果设置为true，核心系统将在某些关键操作执行时检查执行操作的线程，并在使用错误的线程时发出警告。
    # If set true, core systems will check what thread is performing certain critical actions, and give a warning if the wrong one is used.
    Verify thread: false
    # 您可以在此处设置替代URL到任何有效的 https://github.com/DenizenScript/DenizenPastingWebsite 实例 - 'default' 对应 https://paste.denizenscript.com/New/Log
    # Optionally you can set an alternate URL here to any valid instance of https://github.com/DenizenScript/DenizenPastingWebsite - 'default' corresponds to https://paste.denizenscript.com/New/Log
    Paste URL: default
Scripts:
    World:
        Events:
            On player chats:
                # 是否使用危险的“异步”聊天事件（不推荐！）
                # Whether to use the dangerous 'async' chat event (not recommended!)
                Use asynchronous event: false
            On time changes:
                Frequency of check: 250t
    Interact:
        # 交互脚本队列的默认速度
        # Default speed for interact script queues
        Queue speed: instant
    # 新队列的默认速度（通常通过运行命令）
    # Default speed for new queues (via run command usually)
    Queue speed: instant
    # 要使用的字符编码。'default' 表示系统默认编码，在大多数情况下建议使用 'utf8'。
    # What character encoding to use. 'default' indicates system default, 'utf8' is suggested as a preferred encoding in most cases.
    Encoding: utf8
    Command:
        # 如果设置为“true”，则命令脚本引擎将在服务器加载时自动初始化。
        # 如果为false，则只会在加载至少一个命令脚本后初始化。
        # 默认设置为false，以避免在不使用命令脚本的服务器上可能的干扰。
        # If set to 'true', the command scripts engine will automatically initialize when the server loads.
        # If false, it will only initialize once at least one command script is loaded.
        # This defaults to false to avoid any possible interference on servers that don't use command scripts.
        Auto init: false
    Economy:
        # 如果启用，异步调用经济脚本或PlaceholderAPI标签将通过主线程发送。
        # 这将消除非法异步访问警告，但代价是可能导致线程锁定或其他问题。
        # 如果你想知道为什么阻止异步，请参阅https://i.alexgoodwin.media/i/misc/2fdd06.png的解释
        # 如果您收到Denizen的异步警告，这不是解决它的方法。
        # 您应该责骂试图使仅同步调用变为异步的插件开发人员。
        # 除非明确记录在案，否则绝不允许异步使用BUKKIT API。
        # If enabled, async calls to economy scripts or PlaceholderAPI tags will be sent through to the main thread.
        # This will remove the illegal-async-access warning, at the cost of risking thread lockup or other issues.
        # If you're wondering why async is blocked, see explanation @ https://i.alexgoodwin.media/i/misc/2fdd06.png
        # IF YOU HAVE ASYNC WARNINGS FROM DENIZEN, THIS IS NOT HOW TO FIX IT.
        # YOU SHOULD YELL AT THE DEVELOPER OF WHATEVER PLUGIN IS TRYING TO MAKE SYNC-ONLY CALLS ASYNC.
        # ASYNC USAGES OF THE BUKKIT API ARE NEVER ALLOWED EXCEPT WHERE EXPLICITLY DOCUMENTED OTHERWISE.
        Pass async to main thread: false
# 与队列相关的设置。
# Settings related to queues.
Queues:
    # 切换队列ID生成器使用的队列ID的部分。
    # 必须启用“数字”或“单词”中的至少一个（或两个），否则队列ID无法唯一。
    # Toggle which parts of a queue ID are used for the queue ID generator.
    # At least one (or both) of "numeric" or "words" must be enabled (otherwise, queue IDs cannot be unique).
    Id parts:
        # 是否包含队列前缀 - 通常为脚本名称。
        # Whether to include the queue prefix - usually the script name.
        Prefix: true
        # 是否包含数字ID - 增量编号，保证唯一。
        # 请注意，禁用此功能会降低唯一ID的保证。
        # Whether to include the numeric ID - incremental number, guaranteed unique.
        # Be warned that disabling this reduces the guarantee of unique IDs.
        Numeric: true
        # 是否包含随机单词 - 有助于在日志中轻松区分队列。如果禁用数字，则可以创建部分唯一性。
        # Whether to include random words - helps easily distinguish queues in logs. Can create partial uniqueness if numeric is turned off.
        Words: true
# 新Denizen NPC的默认选项
# 是否为NPC生成特定的traits，以及默认设置
# The default options for new Denizen NPCs
# Whether to spawn NPCs with given traits, and what settings to have by default
Traits:
    Health:
        Enabled: false
        # 是否默认阻止具有健康特性的NPC掉落物品。
        # Whether to block drops from NPCs that have the health trait by default.
        Block drops: false
        Respawn:
            # 是否默认启用健康特性控制重生。
            # Whether the health trait should control respawn by default.
            Enabled: false
            # 死亡后默认的重生时间。
            # How long after death before ethe NPC should respawn by default.
            Delay: 10s
        Animated death:
            # NPC是否默认播放死亡动画。
            # Whether the NPC should play a death animation by default.
            Enabled: false
# 触发器是否默认启用，以及它们的各个设置
# Whether triggers are on by default, and their individual settings
Triggers:
    Chat:
        Enabled: true
        Use asynchronous event: false
        # 注意：所有触发器的冷却时间、范围等应在脚本的“trigger”命令中编辑，而不是在配置文件中
        # Note: cooldowns, ranges, etc. for all triggers should be edited in your script's "trigger" command, not in the config
        Cooldown: 2s
        Range: 3
        Overhearing range: 4
        Prerequisites:
            Must be looking in direction of NPC: true
            Must be able to see NPC: true
        Formats:
            Player to NPC: "你 -> <npc.nickname>: <text>"
            Player to NPC overheard: "<player.name> -> <npc.nickname>: <text>"
        Appears globally:
            If triggers missing: true
            If triggers failed: true
            If NPC uninteractable: true
    Click:
        Enabled: true
        Cooldown: 2s
        # 设置为正值以设置点击半径限制。不能超过玩家点击范围（手部到达范围）。
        # Set to a positive value to set a click radius limit. Cannot exceed player click range (hand reach).
        Range: -1
    Damage:
        Enabled: false
        Cooldown: 0.5s
    Proximity:
        Enabled: false
        Cooldown: 1s
        Range: 10
Commands:
    Engage:
        # engage的默认超时时间，如果没有特别设置
        # the default timeout for engage, if not specifically set otherwise
        Timeout: 150s
    While:
        # WHILE命令可以循环的最大次数，然后放弃
        # 设置为0以无限循环
        # how many times the WHILE command can loop before it gives up
        # Set to 0 for infinite
        Max loops: 10000
    Chat:
        # Chat命令的设置，这些设置将覆盖Citizens2设置
        # settings for the Chat command, these override Citizens2 settings
        Options:
            Multiple targets format: "%target%, %target%, %target%, 和其他"
            # 设置为-1以禁用旁观者的监听，或设置为0以便服务器上的所有玩家都能听到
            # set to -1 to disable bystanders overhearing, or 0 for all players on the server to hear
            Range for bystanders: 5.0
        Formats:
            No target: "[<[talker].name>]: <[message]>"
            To target: "[<[talker].name>] -> 你: <[message]>"
            With target to bystanders: "[<[talker].name>] -> <[target].name>: <[message]>"
            With targets to bystanders: "[<[talker].name>] -> [<[targets]>]: <[message]>"
    CreateWorld:
        # 是否允许世界名称中包含非字母数字符号。总是允许字母、数字、unicode文本、'-'、'_'和' '。
        # 如果将此更改为“true”，则可以在世界名称中使用其他符号，如'/'（实质上将世界放置在子文件夹中）。
        # Whether non-alphanumeric symbols are allowed in world names. Letters, numbers, unicode text, '-', '_', and ' ' are allowed always.
        # If this is changed to 'true', then other symbols like '/' can be used in a world name (effectively putting the world inside a subfolder).
        Allow symbols in names: false
        # 是否允许“奇怪”的路径。这些路径包含'..'、位于“plugins/”文件夹内或其他几乎无效的路径。
        # Whether 'weird' paths are allowed. These are paths containing '..', inside the "plugins/" folder, or other almost-certainly-invalid paths like that.
        Allow weird paths: false
    Delete:
        # 是否允许脚本从服务器删除文件
        # 这主要用于清理保存文件，但可能会被滥用。
        # 如果担心安全性，请将其设置为“false”。
        # Whether scripts are allowed to delete files from your server
        # This is mostly to clean up saves, but could potentially be abused.
        # Set to 'false' if you're worried about security.
        Allow file deletion: true
    Remove:
        # 如果设置为true，则“remove”命令将始终显示警告，如果它正在从世界中删除所有类型的实体。
        # 这通常是有意为之，但可能会发生错误。
        # 如果实体成群意外消失，请启用此配置选项以验证“remove”命令是否是原因。
        # If set to true, the 'remove' command will always show a warning if it's removing all entities of a type from the world.
        # This is usually an intentional action, but can happen by mistake.
        # If entities are disappearing in groups unexpectedly, enable this config option to verify whether the 'remove' command is the source.
        Always warn on mass delete: false
    Restart:
        # 是否允许脚本停止或重启服务器。
        # 这通常仅是故意为之，并且在意外发生时很容易识别，
        # 不过如果您的服务器正在停止并且不知道为什么，或者仅仅担心安全性，您可能希望禁用此功能。
        # 通常仅应启用重启。例外示例包括服务器管理系统，它可以比重启命令更“适当地”重启服务器。
        #
        # 请注意，此时仍然可以通过执行停止或重启指令，这可以通过使用命令事件阻止命令本身来阻止，例如：“on stop|restart command”
        # Whether scripts are allowed to stop or restart your server.
        # This is usually only done intentionally, and quite identifiable if done on accident,
        # Though you may wish to disable this if your server is stopping and you don't know why,
        # or are just concerned about security in general.
        # Generally only restart should be on. Exception examples include a server manager system, which would restart
        # a server that stops more 'properly' than the restart command might.
        # Note that it is still possible at this time to 'execute' a stop or restart instruction, which can be
        # blocked by blocking the commands themselves with the command event, like so: 'on stop|restart command'
        Allow server stop: false
        Allow server restart: true
    Filecopy:
        # 是否允许脚本在您的服务器上复制文件
        # 请注意，这可能会被滥用以覆盖现有文件。
        # 如果担心安全性，请将其设置为“false”。
        # Whether scripts are allowed to copy files across your server
        # Note that this could be abused by overwriting existing files.
        # Set to 'false' if you're worried about security.
        Allow copying files: true
    Log:
        # 日志命令会写入文件，这可能是危险的
        # 如果担心安全性，请将其设置为“false”。
        # The log command writes to file, which is potentially dangerous
        # Set to 'false' if you're worried about security.
        Allow logging: true
    Yaml:
        # YAML命令（或任何其他文件修改命令）是否允许保存到Minecraft服务器文件夹外。
        # 如果您希望获得良好的安全性，请将其设置为“false”。
        # Whether the YAML command (or any other file-alteration command) is allowed to save outside the minecraft server folder.
        # Set to 'false' if you want good security.
        Allow saving outside folder: false
        # 可选地：设置一个限制路径，所有编辑必须包含在该路径中。
        # 一个用于增加安全性的好路径是：plugins/Denizen/data/
        # 保持为“none”以禁用此可选保护。
        # Optionally: set a limited path, where all edits must be contained to.
        # A good path to use for extra security is: plugins/Denizen/data/
        # Leave at "none" to disable this optional protection.
        Limit path: none
    Redis:
        # 是否允许redis命令。
        # Whether to allow the redis command.
        Allow: true
    SQL:
        # 是否允许SQL命令。
        # Whether to allow the SQL command.
        Allow: true
    Mongo:
        # 是否允许Mongo命令。
        # Whether to allow the Mongo command.
        Allow: true
    Webget:
        # 是否允许脚本从网上读取任意数据，这也可能会使您的私人服务器数据被跟踪。
        # 通常这是安全的，但如果你想要非常严格的安全性，请将其设置为“false”。
        # Whether to allow scripts to read arbitrary data from the web, which can also potentially enable tracking of your private server data.
        # Generally this is safe, but set to 'false' if you want very strict security.
        Allow: true
    WebServer:
        # 是否允许“webserver”命令。此命令可能会被滥用以暴露服务器数据。
        # 在合法使用中，此命令仍然可能意外泄露信息或引起服务器延迟。
        # Whether to allow the 'webserver' command. This command is potentially abusable to expose your server's data.
        # In legitimate usage, this command can still accidentally leak information or induce server lag.
        Allow: false
        # plugins/Denizen/下的文件路径根，任何使用 "FILE:" 或 "CACHED_FILE:" 的确定必须引用这些文件下的文件（除此之外还有其他文件读取安全限制）。
        # The file path root under plugins/Denizen/ that any usages of the "FILE:" or "CACHED_FILE:" determinations must refer to files under (in addition to other file read security restrictions).
        Webroot: webroot/
    File:
        # 设置为“true”以启用“fileread”通用命令。
        # 此设置不影响YAML或其他特定文件类型的命令。
        # Set 'true' to enable the 'fileread' generic command.
        # This setting does not affect YAML or other specific-file-type commands.
        Allow read: false
        # 设置为“true”以启用“filewrite”通用命令。
        # 此设置不影响YAML或其他特定文件类型的命令。
        # Set 'true' to enable the 'filewrite' generic command.
        # This setting does not affect YAML or other specific-file-type commands.
        Allow write: false
        # 限制文件路径，在 plugins/Denizen/ 下，“fileread”和“filewrite”受限于此路径。设置为“none”以取消路径限制。
        # The restricted file path, under plugins/Denizen/, for "fileread" and "filewrite" to be limited to. Set to 'none' to remove the path restriction.
        Restrict path: data/
    # 一般安全说明：始终在仅访问Minecraft文件夹的用户上运行服务器
    # 否则，恶意脚本或插件可能会对系统造成损害（尽管小心这些设置应减少脚本造成的风险）
    # 另外：始终阅读下载的脚本，注意任何可疑内容，例如日志命令、文件删除机制等。
    # GENERAL SECURITY NOTE: Always run your server on a user with access to nothing but the minecraft folder
    # Otherwise, a bad script or plugin could potentially damage things (though being careful with these settings should reduce the risk of a script doing so)
    # ALSO: Always read scripts you download for anything suspicious looking, EG the log command, the file_delete mechanism, ...
    Security:
        # 服务器上的某些操作在技术上是可能的，并且受到Denizen的支持，但被认为是“受限的”
        # 即，滥用它们可能会导致您或您的服务器陷入困境。
        # 例如，生成看起来像真实玩家的虚假tab列表条目被Mojang禁止，可能会导致您的服务器被列入黑名单。
        # 滥用这些工具的脚本作者也可能会被拒绝支持Denizen团队或其他支持平台。
        # 然而，执行此操作所需的代码也可以执行有用的行为，例如更好地组织tab列表或允许自定义tab完成。
        # 因此，如果您希望实现需要受限代码访问的非受限结果，可以将“Allow restricted actions”设置为“true”。
        # 请注意，您已被警告滥用这些工具的潜在后果，
        # Denizen、Denizen团队、Spigot、Mojang等均不以任何方式支持或认可滥用这些工具。
        # 启用此功能需自行承担风险。
        # Some actions on a server are technically possible and supported by Denizen, but considered 'restricted'
        # That is, misuse of them could potentially lead to you or your server getting in trouble.
        # For example, generating fake tab list entries that look like real players is considered forbidden by Mojang, and may result in your server being blacklisted.
        # Scripters caught abusing these tools may also be refused support by the Denizen team or on other support platforms.
        # However, the code needed to do that can also perform useful behaviors, such as better organizing the tab list, or allowing custom tab completions.
        # As such, you are able to change the 'Allow restricted actions' setting to 'true' if you wish to achieve the non-restricted results that require restricted code access.
        # Note that you have been warned of the potential consequences of abusing these tools,
        # and that none of Denizen, the Denizen team, Spigot, Mojang, etc. in any way support or endorse abusing these tools.
        # Enable at your own risk.
        Allow restricted actions: false
Tags:
    # 标签可以解析多长时间，然后强制关闭标签解析引擎。设置为0以完全禁用标签解析超时。
    # How long a tag can parse before force-closing the tag parser engine. Set to 0 to disable tag parse timing entirely.
    Timeout: 10
    # 当调试关闭时，标签系统是否仍应超时。
    # Whether the tag system should still timeout when debug is off.
    Timeout when silent: false
    # 设置标签的设置，如cuboid.blocks、location.find.blocks等
    # Settings for tags like cuboid.blocks, location.find.blocks, ...
    Block tags:
        # 在停止标签之前可以读取的最大块数。
        # How many blocks can be read, max, before stopping the tag in place
        Max blocks: 1000000
    Chat history:
        # 每个玩家的存储消息数量 (<player.chat_history> 等)。
        # How many player messages will be stored for each player (<player.chat_history>, etc.)
        Max messages: 10
    List flags:
        # list_flags和flag_map工具不用于正常脚本的使用。
        # 如果您有非常具体的使用场景需要此功能，建议您在Denizen Discord上询问并验证其确实有意义。
        # 如果您已验证该想法有意义，可以将此选项切换为“true”以禁用默认警告。
        # The list_flags and flag_map tools are not meant for normal usage in real scripts.
        # If you have a very specific use-case that requires this, it is recommended you ask on the Denizen Discord and verify it actually makes sense.
        # If you've verified the idea makes sense, you can swap this option to 'true' to disable the default warning.
        I know what im doing and need this: false
    # 如果将“nullify skull skin ids”选项更改为“true”，任何具有有效纹理但缺少UUID或名称的skull_skin将自动为UUID和Name提供null值。
    # 缺少名称和ID的头骨无论此设置如何都将被置为null。包含ID和名称的头骨将保留其设置的值，无论此设置如何。
    # 启用此功能的好处是防止服务器线程锁定以从Mojang服务器下载数据。
    # 风险在于它可能会干扰其他期望设置正确数据的插件或系统。
    # If the 'nullify skull skin ids' option is changed to 'true', any skull_skin that has a valid texture but is missing a UUID or name, will automatically supply null values for the UUID and Name.
    # Skulls that are missing *both* name and id will be nullified regardless of this setting. Skulls that contain *both* an ID and name will retain their set values regardless of this setting.
    # The benefit of enabling this is it prevents locking the server thread to download the data from Mojang servers.
    # The risk is that it may interfere with other plugins or systems that expect correct data to be set.
    Nullify skull skin ids: false
    # 如果为true，多边形默认使用WorldEdit样式的块包含逻辑。如果为false，则使用精确的“排除”逻辑。
    # If true, polygons default to WorldEdit style block-inclusive logic. If false, use precise 'exclusive' logic.
    Polygon default inclusive: false
# Java反射是访问底层Java数据的工具包。
# Denizen部分公开了这一点，例如在“JavaReflectedObjectTag”中，因为某些脚本可能会用到它。
# 然而，这通常不是必需的，有时可以滥用以访问脚本不应访问的内容。
# 因此，注重安全的服务器所有者可能更喜欢将所有反射允许选项锁定为“false”以确保安全。
# 不过，允许读取但不允许写入或执行的默认设置对于大多数服务器来说是安全的。
# 只有确实需要的服务器应启用写入/执行选项。
# Java Reflection is the toolkit for accessing raw underlying Java data.
# Denizen partially exposes this, for example in 'JavaReflectedObjectTag', as some scripts may have use for this.
# This however often isn't needed, and sometimes can be abused to access things a script shouldn't have access to.
# Accordingly, security-minded server owners might prefer to lock all reflection-allow options to 'false' to be safe.
# However, the default settings of allowing reads but not writes or executions is safe for most servers.
# Only servers that really need it should enable write/execute options.
Reflection:
    # 是否允许标签在脚本中读取原始字段数据。这通常是安全的。
    # Whether to allow tags to read raw field data in scripts. This is generally safe.
    Allow reading fields: true
    # 是否允许脚本反射核心对象方法，如“toString”或“equals”。这通常是安全的，但在某些极端情况下可能会被滥用，例如某些对象在某处不正确地处理“equals”方法以执行逻辑或类似情况。
    # Whether to allow scripts to reflect into core object methods like "toString" or "equals". This is usually safe, but might be abusable in certain edge edges, if for example some object somewhere improperly handles the "equals" method to execute logic or similar.
    Allow core methods: true
    #
    # ==== 警告 ====
    # 如果某个脚本作者或脚本文档告诉您在配置中启用反射方法访问，则应非常仔细地审查该脚本。
    # 确保您确切知道它要做什么，或非常信任给您它的人。
    # 这些工具非常强大且危险。
    # =================
    #
    # 是否允许“reflectionset”命令。此命令极易被滥用，应保持禁用状态。
    # ==== WARNING ====
    # If a scripter or script's documentation has told you to enable access to reflection methods in your config, that script should be scrutinized very carefully.
    # Make sure either you know exactly what it's going to do, or you very much trust whoever gave you it.
    # These tools are very powerful and dangerous.
    # Whether to allow the 'reflectionset' command. This command is highly abusable and should be left disabled.
    Allow set command: false
    # 是否允许“reflectionset”命令设置为“private”字段。如果启用，这很可能是危险的。
    # Whether the 'reflectionset' command may set to 'private' fields. This is very likely to be dangerous if enabled.
    Allow set private fields: false
    # 是否允许“reflectionset”命令设置为“final”字段。如果启用，这很可能是危险的。
    # Whether the 'reflectionset' command may set to 'final' fields. This is very likely to be dangerous if enabled.
    Allow set final fields: false
Saves:
    # 离线玩家标志缓存超时前的时间（以秒为单位）。
    # 设置为-1以永远保留离线玩家标志，或设置为0以永不缓存。
    # How long (in seconds) before the offline player flag cache times out.
    # Set to -1 to keep offline player flags loaded perpetually, or to 0 to never cache.
    Offline player cache timeout: 300
    # 设置为“true”时，玩家数据将在登录序列期间异步加载，以避免玩家加入时给服务器增加负担。
    # When set to 'true', player data will be loaded offthread during the login sequence, to avoid adding load to the server while players join.
    Load async on login: true
    # 设置为“true”时，将跳过所有自动标志清理。
    # 这可能会在很少使用标志到期的服务器上节省一些处理时间，但在其他情况下应保持为“false”。
    # When set to 'true', all automatic flag cleanups will be skipped.
    # This might save some processing time on servers that rarely use flag expirations, but otherwise should be left as 'false'.
    Skip flag cleaning: false
    # 设置为“true”时，将跳过ChunkTag和LocationTag标志的清理。
    # When set to 'true', skips flag cleaning for ChunkTag and LocationTag flags.
    Skip chunk flag cleaning: false
    # 设置为“true”时，将在世界保存禁用时延迟玩家标志自动保存（例如通过“/save-off”）。
    # 玩家标志将在关闭时或启用世界保存时照常保存。
    # 这是根据您的默认世界检查的（server.worlds.first）。
    # When set to 'true', player flag autosaving will be delayed whenever world saves are disabled (eg via '/save-off').
    # Player flags will still save as normal during shutdown, or when world saving is enabled.
    # This checks based on your default world (server.worlds.first).
    Only save if world save is on: false
    # 修改PlayerTag的离线世界数据（游戏模式、库存等）后保存到文件之前的延迟时间（DurationTag）。
    # 使用频繁时，较长的延迟对性能更有利。较短的延迟对互操作更有利。
    # 设置为“0”以在修改后立即保存。设置为“999h”以仅在关机时保存。
    # Delay (DurationTag) after modifying a PlayerTag's offline world-data (gamemode, inventory, etc) before it is saved to file.
    # Larger delays are better for performance when this is used often. Shorter delays are better for interop.
    # Set to '0' for instant save on modification. Set to '999h' to only save at shutdown.
    Save world player file delay: 10s
    # 清除之前保留离线玩家数据的持续时间。
    # 较高的值对性能更好，但对RAM更糟。较低的值对互操作性更有利。设置为“0”以永不缓存。
    # Duration to retain offline player data being purging.
    # Higher values are better for perf but worse for RAM. Lower values are better for interop. Set to '0' to never cache.
    World player data max cache: 1h
Packets:
    # 是否允许Denizen拦截来自和发送给玩家客户端的数据包。
    # 这使某些ScriptEvents可用，例如PlayerSteers和PlayerReceivesMessage。
    # 它还启用了隐藏项目脚本ID，并且大多数情况下没有实际禁用它的原因。
    # 请注意，更改此设置需要完全重新启动服务器。
    # Whether to allow Denizen to intercept packets from and to player clients.
    # This enables access to certain ScriptEvents, such as PlayerSteers and PlayerReceivesMessage.
    # It also enables hiding item script IDs and most likely has no real reason to be disabled.
    # Note that changing this setting requires a full server restart.
    Interception: true
    # 是否在启动时自动初始化数据包拦截器。
    # 如果为false，它只会在使用至少一个数据包拦截命令或事件时初始化。
    # 默认设置为false，以避免在不需要数据包拦截的服务器上可能的干扰。
    # 如果为false，则某些与数据包拦截相关的标签可能无法工作。
    # Whether to automatically initialize the packet interceptor at startup.
    # If false, it will only initialize once at least one packet-interception command or event is used.
    # This defaults to false to avoid any possible interference on servers that don't need packet interception.
    # If this is false, some packet-interception related tags may not work.
    Auto init: false
# 这是一个名为“&”标签的自定义颜色的特殊映射。'default' 在名称无法识别时使用。您可以在此处添加额外的键。
# 标签在加载时将被预解析。RGB颜色代码在此处工作。
# This is a special map of custom colors by name, for the '&' tag base to use. 'default' is used when the name is unrecognized. You can add extra keys here.
# Tags work here and will be pre-parsed at load time. RGB color codes work here.
Colors:
    # 基本文本颜色。“narrate”命令的用法通常应以<&[base]>开头。
    # The base text color. 'narrate' command usages should usually start with <&[base]>
    base: <&2>
    # 消息中的特殊/突出/聚焦/强调文本。“narrate”命令需要强调某个值时应在这些值上使用此颜色。
    # Special/stand-out/focused/emphasized text within a message. 'narrate' commands that need to emphasize a value should use this on those values.
    emphasis: <&b>
    # 错误消息。“narrate”命令显示错误消息时应使用此颜色。
    # Error messages. 'narrate' commands displaying an error message should use this.
    error: <red>
    # 警告消息。“narrate”命令显示警告消息时应使用此颜色。
    # Warning messages. 'narrate' commands displaying a warning message should use this.
    warning: <yellow>
    # 您首选的物品名称颜色。物品脚本“display name”键通常应使用此颜色。
    # Your preferred color for item names. Item script "display name" keys should usually use this.
    item: <gold>
    # 您首选的物品说明基础颜色。物品脚本“lore”行应以此颜色开头。
    # Your preferred item lore base color. Item script "lore" lines should start with this.
    lore: <&7>
    # 您首选的NPC名称颜色。使用“create”命令的脚本通常应使用此颜色。
    # Your preferred color for NPC names. Scripts that use the "create" command should usually use this.
    npc: <&a>
    # 默认值：颜色标签无法识别时的备用颜色。一般不要触碰这个。
    # Default: the backup for when a color label is unrecognized. Generally don't touch this.
    default: <white>
#----------- Important! -----------
# Your configuration file was outdated.
# It has been automatically updated.
# You may notice some duplicated comments or other minor inconsistencies,
# if these annoy you, you may remove the duplicate comments OR
# delete the config file to allow it to regenerate.
#
# The below value is how many times automatic updates have been applied
# since you last cleaned this file.
# ----------- End Important! -----------
times_changed: 1
