跳到正文

Client Base

作者:Bug1312

Bringing your pause menu to physical space!

收藏

截图

介绍

中文介绍正在准备中,下面暂时显示原文。

Requires Connector and FFAPI on neo/forge.

STILL IN PRE-RELEASE

This mod is still in a pre-release state. This means:

  • All features are subject to change
  • Documentation may be slim
  • Examples are not present

Providing the player with a client-only room that dependencies can hook into for special functionality.

This mod adds in a new keybind and config setup that allow the user to pause their game — but instead of a menu appearing, they spawn into a room! This room can house anything the player desires as long as they set up the correct configs and assets.

Config Schema

Web-based Config Generator based on https://misode.github.io/

MCDoc
dispatch minecraft:resource[clientbase:config] to struct ClientbaseConfig {
	config_format: 1,
	structure: StructureConfig,
	player_start?: PlayerStartConfig,
	renderers?: struct {
	},
	interactions?: [InteractionConfig],
	easy_place?: [EasyPlaceConfig],
}

struct StructureConfig {
	structure: string,
	offset?: [int] @ 3,
}

struct PlayerStartConfig {
	offset?: [float] @ 3,
	pitch?: float,
	yaw?: float,
}

struct RendererConfig {
	type: RendererType,
	...clientbase:renderer[[type]],
}

enum(string) RendererType {
	FakeBlock = "fake_block",
	BlockEntity = "block_entity",
	BlockModel = "replace_state",
}

dispatch clientbase:renderer[fake_block] to struct FakeBlockRenderer {
	model: #[id="model"] string,
	hitbox?: [[float] @ 6],
}

dispatch clientbase:renderer[block_entity] to struct BlockEntityRenderer {
	renderer: #[id="renderer"] string,
	hitbox?: [[float] @ 6],
}

dispatch clientbase:renderer[replace_state] to struct BlockModelRenderer {
	model: #[id="model"] string,
	replace_state: struct {
		block: #[id="block"] string,
		state: string,
	},
}

struct InteractionConfig {
	type: InteractionType,
	...clientbase:interaction[[type]],
}

enum(string) InteractionType {
	BlockPos = "blockpos",
}

enum(string) InteractionId {
	Exit = "exit",
	Inventory = "inventory",
	Advancements = "advancements",
	Options = "options",
	VideoOptions = "video_options",
}

dispatch clientbase:interaction[blockpos] to struct BlockPosInteraction {
	interaction: InteractionId,
	blockpos: [int] @ 3,
}

struct EasyPlaceConfig {
	blockpos: [int] @ 3,
	renderer: string,
}

常见问题

Client Base 支持哪些 Minecraft 版本?

Client Base 支持 Minecraft Java 版 1.20.1–26.1.1,共 5 个版本,可用的加载器:Fabric / Forge / NeoForge / Quilt。下载时注意选择和你游戏版本一致的文件。

Client Base 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge / Quilt,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。

评论

登录后评论和评分

Bug1312 的其他作品

查看全部 →