@@ -154,7 +149,11 @@ export default function ConfigurationStructureDiagram({
return (
-
{data.map((item) => renderNode(item))}
+
+ {data.map((item) => (
+ {renderNode(item)}
+ ))}
+
);
}
diff --git a/src/css/structure_explorer.css b/src/css/structure_explorer.css
index 36909d671..d07c13547 100644
--- a/src/css/structure_explorer.css
+++ b/src/css/structure_explorer.css
@@ -88,14 +88,6 @@
cursor: pointer;
}
-/* Indentation Arrow */
-.indentation-arrow {
- font-size: 14px;
- color: #bbbbbb;
- margin: 0 8px 0 0;
- display: inline-block;
-}
-
/* Tree Line Components */
.tree-line {
font-size: 14px;
diff --git a/src/data/structures/datapackStructure.ts b/src/data/structures/datapackStructure.ts
index 98d6dee96..53b287990 100644
--- a/src/data/structures/datapackStructure.ts
+++ b/src/data/structures/datapackStructure.ts
@@ -25,7 +25,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定进度名.json",
- type: "file",
+ type: "structure",
children: [
{
name: "display",
@@ -56,7 +56,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定条件名.json",
- type: "file",
+ type: "structure",
children: [
{
name: "trigger",
@@ -82,7 +82,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定物品或实体的战利品表.json",
- type: "file",
+ type: "structure",
children: [
{
name: "pools",
@@ -91,7 +91,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定战利品池.json",
- type: "file",
+ type: "structure",
children: [
{
name: "rolls",
@@ -105,7 +105,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定条目.json",
- type: "file",
+ type: "structure",
children: [
{
name: "type",
@@ -127,7 +127,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定函数.json",
- type: "file",
+ type: "structure",
children: [
{
name: "function",
@@ -163,7 +163,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定合成配方.json",
- type: "file",
+ type: "structure",
children: [
{
name: "type",
@@ -183,7 +183,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定材料.json",
- type: "file",
+ type: "structure",
children: [
{
name: "item",
@@ -230,7 +230,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定方块标签.json",
- type: "file",
+ type: "structure",
children: [
{
name: "replace",
@@ -252,7 +252,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定流体标签.json",
- type: "file",
+ type: "structure",
children: [
{
name: "replace",
@@ -274,7 +274,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定物品标签.json",
- type: "file",
+ type: "structure",
children: [
{
name: "replace",
@@ -296,7 +296,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定实体类型标签.json",
- type: "file",
+ type: "structure",
children: [
{
name: "replace",
@@ -318,7 +318,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定函数标签.json",
- type: "file",
+ type: "structure",
children: [
{
name: "replace",
@@ -340,7 +340,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定谓词标签.json",
- type: "file",
+ type: "structure",
children: [
{
name: "replace",
@@ -362,7 +362,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定伤害类型标签.json",
- type: "file",
+ type: "structure",
children: [
{
name: "replace",
@@ -384,7 +384,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定附魔标签.json",
- type: "file",
+ type: "structure",
children: [
{
name: "replace",
@@ -406,7 +406,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定游戏事件标签.json",
- type: "file",
+ type: "structure",
children: [
{
name: "replace",
@@ -441,7 +441,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定谓词.json",
- type: "file",
+ type: "structure",
children: [
{
name: "condition",
@@ -463,7 +463,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定维度类型.json",
- type: "file",
+ type: "structure",
children: [
{
name: "effects",
@@ -472,7 +472,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定效果.json",
- type: "file",
+ type: "structure",
children: [
{
name: "特定效果类型",
@@ -495,7 +495,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定参数.json",
- type: "file",
+ type: "structure",
children: [
{
name: "名称",
@@ -525,7 +525,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定生物群系.json",
- type: "file",
+ type: "structure",
children: [
{
name: "features",
@@ -534,7 +534,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定特征.json",
- type: "file",
+ type: "structure",
children: [
{
name: "特定特征类型",
@@ -557,7 +557,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定属性.json",
- type: "file",
+ type: "structure",
children: [
{
name: "名称",
@@ -583,7 +583,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定雕刻器.json",
- type: "file",
+ type: "structure",
children: [
{
name: "type",
@@ -602,7 +602,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定参数.json",
- type: "file",
+ type: "structure",
children: [
{
name: "名称",
@@ -628,7 +628,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定配置特征.json",
- type: "file",
+ type: "structure",
children: [
{
name: "type",
@@ -642,7 +642,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定放置规则.json",
- type: "file",
+ type: "structure",
children: [
{
name: "规则类型",
@@ -666,7 +666,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定参数.json",
- type: "file",
+ type: "structure",
children: [
{
name: "名称",
@@ -692,7 +692,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定配置结构特征.json",
- type: "file",
+ type: "structure",
children: [
{
name: "type",
@@ -706,7 +706,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定放置规则.json",
- type: "file",
+ type: "structure",
children: [
{
name: "规则类型",
@@ -730,7 +730,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定参数.json",
- type: "file",
+ type: "structure",
children: [
{
name: "名称",
@@ -756,7 +756,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定噪声设置.json",
- type: "file",
+ type: "structure",
children: [
{
name: "noise_type",
@@ -770,7 +770,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定参数.json",
- type: "file",
+ type: "structure",
children: [
{
name: "名称",
@@ -796,7 +796,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定处理器列表.json",
- type: "file",
+ type: "structure",
children: [
{
name: "processors",
@@ -805,7 +805,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定处理器.json",
- type: "file",
+ type: "structure",
children: [
{
name: "type",
@@ -819,7 +819,7 @@ export const datapackStructure: ExplorerNode[] = [
children: [
{
name: "特定参数.json",
- type: "file",
+ type: "structure",
children: [
{
name: "名称",
diff --git a/src/types/ExplorerNode.ts b/src/types/ExplorerNode.ts
index d7de84a6b..98969b810 100644
--- a/src/types/ExplorerNode.ts
+++ b/src/types/ExplorerNode.ts
@@ -1,8 +1,35 @@
-export interface ExplorerNode {
+export type ExplorerNode = FolderNode | FileNode | StructureNode;
+
+/**
+ * 文件夹节点
+ */
+export interface FolderNode {
name: string;
- type: "folder" | "file";
+ type: "folder";
children?: ExplorerNode[];
description?: string;
url?: string;
external?: boolean;
}
+
+/**
+ * 文件节点
+ */
+export interface FileNode {
+ name: string;
+ type: "file";
+ description?: string;
+ url?: string;
+ external?: boolean;
+}
+
+/**
+ * 结构节点
+ */
+export interface StructureNode {
+ name: string;
+ type: "structure";
+ children?: ExplorerNode[];
+ external?: boolean;
+ description?: string;
+}
\ No newline at end of file
From 79889ed9332c2b00b757e237dabdc8dea5d5776e Mon Sep 17 00:00:00 2001
From: MrlingXD <90316914+wling-art@users.noreply.github.com>
Date: Mon, 15 Dec 2025 00:15:53 +0800
Subject: [PATCH 3/7] =?UTF-8?q?=E2=9C=A8=20=E5=AE=8C=E5=96=84=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/StructureExplorer.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/StructureExplorer.tsx b/src/components/StructureExplorer.tsx
index 2b3f3dc31..e3c5d0fbc 100644
--- a/src/components/StructureExplorer.tsx
+++ b/src/components/StructureExplorer.tsx
@@ -7,7 +7,7 @@ import React, { JSX, useState } from "react";
const folderIcon = "mdi:folder";
const fileIcon = "mdi:file";
-const structureIcon = "mdi:braces";
+const structureIcon = "mdi:file";
interface StructureExplorerProps {
data?: ExplorerNode[];
From 1d9c1c6424c426f1f473e9406899d9c7ae116cad Mon Sep 17 00:00:00 2001
From: MrlingXD <90316914+wling-art@users.noreply.github.com>
Date: Mon, 15 Dec 2025 00:17:48 +0800
Subject: [PATCH 4/7] =?UTF-8?q?=F0=9F=8E=A8=20=E4=BB=A3=E7=A0=81=E6=A0=BC?=
=?UTF-8?q?=E5=BC=8F=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/StructureExplorer.tsx | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/components/StructureExplorer.tsx b/src/components/StructureExplorer.tsx
index e3c5d0fbc..dad886a53 100644
--- a/src/components/StructureExplorer.tsx
+++ b/src/components/StructureExplorer.tsx
@@ -45,9 +45,7 @@ const PrefixLine = ({ levels }: PrefixLineProps): JSX.Element => {
);
};
-export default function ConfigurationStructureDiagram({
- data = []
-}: StructureExplorerProps = {}): JSX.Element {
+export default function ConfigurationStructureDiagram({ data = [] }: StructureExplorerProps = {}): JSX.Element {
const [popupNode, setPopupNode] = useState
(null);
const renderNode = (node: ExplorerNode, level: number = 0, isLast: boolean = true, ancestors: boolean[] = []) => {
From ec1f807364f59d81a8cdb9c0d3dc39730853489f Mon Sep 17 00:00:00 2001
From: MrlingXD <90316914+wling-art@users.noreply.github.com>
Date: Mon, 15 Dec 2025 01:05:57 +0800
Subject: [PATCH 5/7] =?UTF-8?q?=E2=9C=A8=20=E5=8F=AF=E5=B1=95=E5=BC=80?=
=?UTF-8?q?=E6=8F=8F=E8=BF=B0=20&=20=E4=BD=BF=E7=94=A8=20twcss=20=E7=AE=80?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../start/basic/server-dir-structure.mdx | 72 ---------
src/components/StructureExplorer.tsx | 71 ++++++---
src/css/structure_explorer.css | 148 ++++++------------
3 files changed, 98 insertions(+), 193 deletions(-)
diff --git a/docs-java/start/basic/server-dir-structure.mdx b/docs-java/start/basic/server-dir-structure.mdx
index 9ec91e4c1..a23b9ca8d 100644
--- a/docs-java/start/basic/server-dir-structure.mdx
+++ b/docs-java/start/basic/server-dir-structure.mdx
@@ -10,12 +10,6 @@ import { serverDirStructureData } from "@site/src/data/structures/serverDirStruc
我们先来简单看一眼 插件端 的文件夹结构 (以 Purpur 为例):
-:::tip
-
-将鼠标悬停在 **ⓘ** 图标上查看详细说明!
-
-:::
-
对于类似 Catserver 的混合服务器,文件夹结构是类似的,基本就多了 `/mods` 文件夹,少了 Bukkit 的下游服务器特有的配置 (如 `purpur.yml` 等)。
@@ -26,72 +20,6 @@ import { serverDirStructureData } from "@site/src/data/structures/serverDirStruc
:::
-## 根目录下的一些文件
-
-- `.console_history`
-
-存放了控制台 (又叫后台) 曾经使用过的指令,方便你使用键盘中的 ↑ 键快捷查找曾使用的指令,也可用于查看后台异常。
-
-- `banned-ips.json`
-
-以 JSON 格式存放的被 ban IP 玩家的 UUID 及游戏名称等相关信息,一旦玩家被 banip,此 IP 将无法再进入服务器。
-
-- `banned-players.json`
-
-以 JSON 格式存放了被 ban 玩家的 UUID 及游戏名称等相关信息,离线服 ban 玩家后换 ID 即可进入服务器,而正版服无法通过改名重新进入服务器。
-
-- `bukkit.yml`
-
-由 Bukkit 派生得到的服务端都有的文件。保存着 Bukkit 所提供的最基本的设置选项。
-
-- `commands.yml`
-
-它提供了一种快速而简单的方法来强制服务器使用 Mojang 提供的命令 (而不是 Bukkit 中内置的命令) 而不产生冲突。
-
-- `eula.txt`
-
-在首次开服的时候,我们需要同意 EULA 协议。
-
-- `help.yml`
-
-一些插件的帮助信息会出现在这里面,一般不需要进行什么修改。
-
-- `ops.json`
-
-以 JSON 格式存放了 OP 玩家的 UUID 及游戏名称等相关信息。
-
-- `purpur.jar`
-
-你可以改名叫任何名字 (只要以 `.jar` 结尾,且在启动脚本中对应修改)
-
-- `purpur.yml`
-
-Purpur 服务器特有的配置文件,极其详细的配置项,功能非常丰富,几乎可以替代数款插件。
-
-- `permissions.yml`
-
-是默认的权限定义 YAML 文件,在启动时自动生成。它的主要功能是将权限节点组合到一个文件中,以便权限插件 (以及使用权限的插件) 可以在整个系统中使用它。
-
-- [`server.properties`](https://minecraft-zh.gamepedia.com/Server.properties)
-
-服务端的一些基本设置就在里面,如设置端口,设置游戏难度,设置游戏模式 (生存、创造等) 等。
-
-- `spigot.yml`
-
-Spigot 服务器都有的配置文件。
-
-- `usercache.json`
-
-储存着用名字及 UUID 信息的缓存文件。
-
-- `version_history`
-
-一些 Minecraft 和服务端核心的版本信息,一般记录着曾经使用过的版本。
-
-- `whitelist.json`
-
-白名单列表。(如果你在[`server.properties`](https://minecraft-zh.gamepedia.com/Server.properties)中开启了白名单,你就可以在该文件中添加和管理谁被允许或不被允许进入服务器。)
-
至此,大部分的以 Bukkit 为基础的服务器核心服务端的结构已经大致呈现在你眼前。
:::tip
diff --git a/src/components/StructureExplorer.tsx b/src/components/StructureExplorer.tsx
index dad886a53..0fe3318b3 100644
--- a/src/components/StructureExplorer.tsx
+++ b/src/components/StructureExplorer.tsx
@@ -47,6 +47,7 @@ const PrefixLine = ({ levels }: PrefixLineProps): JSX.Element => {
export default function ConfigurationStructureDiagram({ data = [] }: StructureExplorerProps = {}): JSX.Element {
const [popupNode, setPopupNode] = useState(null);
+ const [showDescriptionBelow, setShowDescriptionBelow] = useState(false);
const renderNode = (node: ExplorerNode, level: number = 0, isLast: boolean = true, ancestors: boolean[] = []) => {
const isFolder = node.type === "folder";
@@ -109,31 +110,40 @@ export default function ConfigurationStructureDiagram({ data = [] }: StructureEx
{node.name}
)}
- {hasDescription && (
-
-
- ⓘ
-
-
-
+
- 简介:
-
- {node.description}
+ ⓘ
+
+
+
+ 简介:
+
+ {node.description}
+
-
- )}
+ ))}
+ {showDescriptionBelow && hasDescription && (
+
+
+
+
{data.map((item) => (
{renderNode(item)}
diff --git a/src/css/structure_explorer.css b/src/css/structure_explorer.css
index d07c13547..c22ac13b1 100644
--- a/src/css/structure_explorer.css
+++ b/src/css/structure_explorer.css
@@ -1,161 +1,105 @@
+@layer theme, base, components, utilities;
+
+@import "tailwindcss/theme.css" layer(theme);
+@import "tailwindcss/utilities.css" layer(utilities);
+
/* Outer Container */
.config-explorer-code-outer-container {
- overflow: visible;
- display: flex;
- flex-direction: column;
+ @apply overflow-visible flex flex-col;
}
/* File Node */
.config-explorer-file-node {
- display: flex;
- align-items: center;
- border-radius: 10px;
- width: fit-content;
- flex-shrink: 0;
- white-space: nowrap;
- cursor: default;
+ @apply flex items-center rounded-[10px] w-fit shrink-0 whitespace-nowrap cursor-default;
}
-.config-explorer-file-node-with-link {
- font-weight: bold;
+.config-explorer-file-node-with-link,
+.config-explorer-file-folder-node-with-link {
+ @apply font-bold;
}
-.config-explorer-file-node-with-link:hover {
- background-color: rgba(0, 0, 0, 0.1);
- cursor: pointer;
- text-decoration: none;
+.config-explorer-file-node-with-link:hover,
+.config-explorer-file-folder-node-with-link:hover {
+ @apply bg-black/10 cursor-pointer no-underline;
}
/* File Folder Node */
.config-explorer-file-folder-node {
- display: flex;
- align-items: center;
- width: fit-content;
+ @apply flex items-center w-fit cursor-default no-underline;
color: var(--config-node-highlight-text-color);
}
-.config-explorer-file-folder-node:hover {
- cursor: default;
- text-decoration: none;
- color: var(--config-node-highlight-text-color);
-}
-
-/* File Folder Node with Link */
.config-explorer-file-folder-node-with-link {
- font-weight: bold;
- color: var(--ifm-link-color);
-}
-
-.config-explorer-file-folder-node-with-link:hover {
- background-color: rgba(0, 0, 0, 0.1);
- cursor: pointer;
- text-decoration: none;
color: var(--ifm-link-color);
}
-/* Popup Window Container */
+/* Popup Window */
.config-explorer-popup-window-container {
- position: relative;
- display: inline-block;
- vertical-align: middle;
+ @apply relative inline-block align-middle;
}
-/* Popup Window */
.config-explorer-popup-window {
+ @apply absolute p-2.5 rounded border-0 whitespace-normal z-20;
background-color: var(--config-node-popup-background-color);
- padding: 10px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
- border-radius: 5px;
- margin-left: 5px;
- margin-top: -5px;
- width: max-content;
min-width: 200px;
max-width: 500px;
- z-index: 20;
- white-space: normal;
- position: absolute;
+ width: max-content;
left: 20px;
top: -10px;
+ margin-left: 5px;
+ margin-top: -5px;
}
.config-explorer-popup-window-open-tag {
- z-index: 5;
- margin-left: 3px;
-}
-
-.config-explorer-popup-window-open-tag:hover {
- font-weight: bold;
- cursor: pointer;
-}
-
-/* Tree Line Components */
-.tree-line {
- font-size: 14px;
- color: #bbbbbb;
- display: inline-block;
- font-family: monospace;
- letter-spacing: 0;
- line-height: 1;
+ @apply z-5 ml-0.75 cursor-pointer font-normal hover:font-bold;
}
+/* Tree Components */
+.tree-line,
.prefix-line {
- font-size: 14px;
- color: #bbbbbb;
- display: inline-block;
- font-family: monospace;
- letter-spacing: 0;
- line-height: 1;
+ @apply text-sm text-slate-400 inline-block font-mono leading-none;
}
/* Node Icon */
.config-explorer-node-icon {
- font-size: 23px;
+ @apply text-2xl mr-1.25;
+ color: var(--config-node-highlight-text-color);
}
-/* Node */
-.config-explorer-node {
- align-items: flex-start;
- position: relative;
- display: flex;
- flex-direction: column;
- flex-shrink: 0;
+/* Node Structure */
+.config-explorer-node,
+.config-explorer-node-noflex {
+ @apply items-start relative flex flex-col shrink-0;
+}
+
+.config-explorer-node-noflex {
+ @apply my-1.25;
}
.config-explorer-node-header {
- display: flex;
- align-items: center;
- margin: 0;
- padding: 0;
+ @apply flex items-center;
}
.config-explorer-node-content {
- display: flex;
- align-items: center;
+ @apply flex items-center;
}
-/* Node without Flex */
-.config-explorer-node-noflex {
- align-items: flex-start;
- position: relative;
- display: flex;
- flex-direction: column;
- margin: 5px 0 5px 0;
+.config-node-contents-wrapper {
+ @apply mx-1.25 flex items-center text-base;
}
-.config-node-contents-wrapper {
- margin: 0 5px 0 0;
- display: flex;
- align-items: center;
- font-size: 15px;
+/* Description Below */
+.config-explorer-description-below {
+ @apply flex items-start my-0.5 py-0.5 text-xs leading-relaxed;
}
-.config-explorer-icon {
- /* Make it go back to the original color */
- color: var(--config-node-highlight-text-color);
- margin-right: 5px;
+.config-explorer-description-text {
+ @apply text-gray-400 whitespace-normal wrap-break-word flex-1;
+ max-width: 600px;
}
-/* Display None */
+/* Utility */
.display--none {
- display: none;
+ @apply hidden;
}
From 324651fac6bf2c3e5b4a618b3729c7a86f60b7ce Mon Sep 17 00:00:00 2001
From: MrlingXD <90316914+wling-art@users.noreply.github.com>
Date: Mon, 15 Dec 2025 15:36:56 +0800
Subject: [PATCH 6/7] =?UTF-8?q?=E2=9C=A8=20=E7=BC=A9=E5=B0=8F=E8=8A=82?=
=?UTF-8?q?=E7=82=B9=E5=9B=BE=E6=A0=87=E5=A4=A7=E5=B0=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/StructureExplorer.tsx | 4 ++--
src/css/structure_explorer.css | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/components/StructureExplorer.tsx b/src/components/StructureExplorer.tsx
index 0fe3318b3..c75fa4591 100644
--- a/src/components/StructureExplorer.tsx
+++ b/src/components/StructureExplorer.tsx
@@ -92,7 +92,7 @@ export default function ConfigurationStructureDiagram({ data = [] }: StructureEx
>
{node.name}
@@ -105,7 +105,7 @@ export default function ConfigurationStructureDiagram({ data = [] }: StructureEx
>
{node.name}
diff --git a/src/css/structure_explorer.css b/src/css/structure_explorer.css
index c22ac13b1..65452bead 100644
--- a/src/css/structure_explorer.css
+++ b/src/css/structure_explorer.css
@@ -63,7 +63,7 @@
/* Node Icon */
.config-explorer-node-icon {
- @apply text-2xl mr-1.25;
+ @apply text-base mr-1.25;
color: var(--config-node-highlight-text-color);
}
From f8ea0c63b4b987d49b430f4f32630e7f1ca31dec Mon Sep 17 00:00:00 2001
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
Date: Mon, 15 Dec 2025 02:56:02 -0500
Subject: [PATCH 7/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B7=AE=E5=BC=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../start/basic/server-file-structure.mdx | 65 +++++++++----------
1 file changed, 32 insertions(+), 33 deletions(-)
diff --git a/docs-bedrock/nukkit/start/basic/server-file-structure.mdx b/docs-bedrock/nukkit/start/basic/server-file-structure.mdx
index b5176ad10..1f2142e3e 100644
--- a/docs-bedrock/nukkit/start/basic/server-file-structure.mdx
+++ b/docs-bedrock/nukkit/start/basic/server-file-structure.mdx
@@ -22,67 +22,66 @@ import { nukitServerStructure } from "@site/src/data/structures";
---
-- `nukkit-1.0-SNAPSHOT.jar`
- - 这是 Nukkit 的核心程序文件,用于启动和运行服务端。
+- `nukkit-1.0-SNAPSHOT.jar`
+ - 这是 Nukkit 的核心程序文件,用于启动和运行服务端。
---
-- `start.bat / start.sh / start.command`
+- `start.bat / start.sh / start.command`
+ - 启动服务器的脚本文件,分别对应 Windows、Linux 和 macOS 系统,用于启动和运行《我的世界》基岩版服务器。
- - 启动服务器的脚本文件,分别对应 Windows、Linux 和 macOS 系统,用于启动和运行《我的世界》基岩版服务器。
-
- - 你可以改名叫任何名字 (只要以 `.bat / .sh / .command` 结尾就行),但不建议你这么做,可能会导致成为后续操作报错的因素。例如:
- 1. 若你使用 **面板** 开服,需要在对应的 **启动路径** 中修改服务端启动程序的文件名
- 2. 若你使用 **启用脚本** 开服,需要在脚本对应位置的 **启动命令** 中修改 **启动程序的文件名** 为 **该服务端启动程序的文件名**
+ - 你可以改名叫任何名字 (只要以 `.bat / .sh / .command` 结尾就行),但不建议你这么做,可能会导致成为后续操作报错的因素。例如:
+ 1. 若你使用 **面板** 开服,需要在对应的 **启动路径** 中修改服务端启动程序的文件名
+ 2. 若你使用 **启用脚本** 开服,需要在脚本对应位置的 **启动命令** 中修改 **启动程序的文件名** 为 **该服务端启动程序的文件名**
---
-- `server.properties`
- - 这是服务器的主要配置文件,用于设置服务器的各种参数,如服务器名称、端口号、最大玩家数、游戏模式等。
+- `server.properties`
+ - 这是服务器的主要配置文件,用于设置服务器的各种参数,如服务器名称、端口号、最大玩家数、游戏模式等。
---
-- `permissions.yml`
- - 用于设置玩家权限的文件,可以定义不同用户组的权限。
+- `permissions.yml`
+ - 用于设置玩家权限的文件,可以定义不同用户组的权限。
---
-- `banned-players.txt 和 banned-ips.txt`
- - 分别用于存储被封禁的玩家名单和 IP 地址。
+- `banned-players.txt 和 banned-ips.txt`
+ - 分别用于存储被封禁的玩家名单和 IP 地址。
---
-- `worlds`
- - 这是存储主世界文件夹的地方。每个世界都有自己的子文件夹,其中包含该世界的所有数据,如地形、建筑、玩家进度等。
- - `world`
- - 包含特定世界的存档数据。
- - `level_dat`
- - 世界的基本信息文件。
- - `region 文件夹`
- - 存储世界区块数据。
- - `entities 文件夹`
- - 存储世界中的实体数据。
+- `worlds`
+ - 这是存储主世界文件夹的地方。每个世界都有自己的子文件夹,其中包含该世界的所有数据,如地形、建筑、玩家进度等。
+ - `world`
+ - 包含特定世界的存档数据。
+ - `level_dat`
+ - 世界的基本信息文件。
+ - `region 文件夹`
+ - 存储世界区块数据。
+ - `entities 文件夹`
+ - 存储世界中的实体数据。
---
-- `plugins 文件夹`
- - 用于存放所有插件的 .jar 文件。插件可以扩展服务器的功能,例如添加新的命令、游戏规则或事件处理。
+- `plugins 文件夹`
+ - 用于存放所有插件的 .jar 文件。插件可以扩展服务器的功能,例如添加新的命令、游戏规则或事件处理。
---
-- `whitelist.txt`
- - 白名单文件,列出了允许进入服务器的玩家列表。
- - (如果你在 `server.properties` 中开启了白名单,你就可以在该文件中添加和管理谁被允许或不被允许进入服务器)。
+- `whitelist.txt`
+ - 白名单文件,列出了允许进入服务器的玩家列表。
+ - (如果你在 `server.properties` 中开启了白名单,你就可以在该文件中添加和管理谁被允许或不被允许进入服务器)。
---
-- `logs 文件夹`
- - 存储服务器运行时生成的日志文件,用于记录服务器的运行状态和玩家行为。
+- `logs 文件夹`
+ - 存储服务器运行时生成的日志文件,用于记录服务器的运行状态和玩家行为。
---
-- `rcon_password.txt`
- - 用于存储 RCON(远程控制)功能的密码。
+- `rcon_password.txt`
+ - 用于存储 RCON(远程控制)功能的密码。
---