Перейти к содержимому
Mineforgian

Client Base

Bringing your pause menu to physical space!

Загрузки
373
Подписчики
17
Обновлён
1 апреля 2026 г.
Лицензия
LGPL-3.0-or-later

Опубликован 27 января 2026 г.

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 {
		[string]: RendererConfig,
	},
	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,
}

Ченджлог

0.1.2-beta+26.1Бета26.1, 26.1.1 · 1 апреля 2026 г.

First 26.1 release!

0.1.2 makes no API changes, and just adjusts inner code:

  • Mixin method rename to ChestBlockMixin#client_base$setCustomShape
  • Using Sheets instead of TextureAtlas
0.1.1-beta+1.21.8Бета1.21.8 · 18 февраля 2026 г.
  • Lowered required dependency to be actual requirements
  • Fixed blockstates not being preserved
  • Fixed crash on missing model
  • Fixed replace_state rendering only when client base inactive
  • Fixed crash with empty chests
0.1.1-beta+1.21.1Бета1.21.1 · 18 февраля 2026 г.
  • Lowered required dependency to be actual requirements
  • Fixed blockstates not being preserved
  • Fixed crash on missing model
  • Fixed replace_state rendering only when client base inactive
  • Fixed crash with empty chests
0.1.1-beta+1.20.1Бета1.20.1 · 18 февраля 2026 г.
  • Lowered required dependency to be actual requirements
  • Fixed blockstates not being preserved
  • Fixed crash on missing model
  • Fixed replace_state rendering only when client base inactive
  • Fixed crash with empty chests
0.1.0-beta.1+1.21.8Бета1.21.8 · 3 февраля 2026 г.

First beta!

0.1.0-beta.1+1.21.1Бета1.21.1 · 3 февраля 2026 г.

First beta!

0.1.0-beta.1+1.20.1Бета1.20.1 · 3 февраля 2026 г.

First beta!

Комментарии

Загружаем…