Links
Tags
Creators
Details
1.2.3
Compatibility
Required content
Changes
📝 v1.2.3 — A.B.C Occlusion System & Sticky Notes
English:
This major update overhauls the graph editor's rendering and hit-testing architecture with a professional A.B.C Layered Occlusion System. It fixes long-standing Z-order bugs where nodes would render under expanded panels or have their clicks stolen by background UI. Additionally, introduces fully-fledged Comment Nodes for documentation and resolves several critical desync and crash issues.中文:
此重大更新为图形编辑器引入了专业的 A.B.C 分层遮挡系统,彻底重构了渲染与命中检测架构。修复了节点在展开面板下渲染错误、点击被底层 UI 拦截等长期存在的 Z 轴排序问题。此外,新增了功能完整的注释节点,并修复了多处严重的同步错误与崩溃问题。
✨ Features & Enhancements | 新特性与优化
- 🎨 A.B.C Occlusion System:
- EN: Implements a strict 3-layer sorting hierarchy (A: Layer → B: Depth → C: Internal Element). Layers include Grid, Comments, Connections, Nodes, Overlays, and Tooltips. This ensures UI elements never visually clash or incorrectly overlap.
- CN: 实现严格的三层排序逻辑(A: 图层 → B: 深度 → C: 内部元素)。图层涵盖网格、注释、连线、节点本体、叠加层及悬浮提示,彻底杜绝 UI 元素视觉冲突。
- 📝 Comment Nodes (Sticky Notes):
- EN: Adds a new visual-only node (0 inputs/outputs) available in all 7 programmable blocks. Features resizable dimensions (up to 8000x6000), scrollable markdown text, independent color customization (BG/Border/Text), and nested parenting (dragging a parent moves children).
- CN: 在全息蓝图等 7 种可编程方块中新增纯视觉注释节点(无输入输出)。支持超大尺寸调节(最大 8000x6000)、文本滚动、Markdown 换行、三色独立定制(背景/边框/文字)及嵌套父子移动逻辑。
- ⚡ Performance & Spatial Logic:
- EN: Introduces
SpatialIndex(uniform grid hashing) for O(k) spatial queries, replacing expensive linear searches. ManualEditBoxrendering prevents text bleeding through opaque node bodies. - CN: 引入基于均匀网格哈希的
SpatialIndex,将空间查询复杂度降至 O(k),取代昂贵的线性扫描。手动渲染编辑框,解决文字穿透节点背景的问题。
- EN: Introduces
- 🖱️ Interaction Polish:
- EN: Comment headers are now draggable while the body remains clickable. Ctrl+Scroll scrolls comment text while normal scroll zooms the canvas. Nested comments maintain correct Z-depth (inner stays on top of outer).
- CN: 注释节点头部支持拖拽,主体保留点击交互。Ctrl+滚轮滚动注释内容,普通滚轮缩放画布。嵌套注释保持正确的 Z 轴深度(内层高于外层)。
🐛 Bug Fixes | 问题修复
- 🔧 Editor Z-Order & Hit-Detection:
- EN: Fixed nodes rendering under expanded edit panels. Fixed inability to click/drag nodes overlapping expanded areas. Fixed inline edit controls (buttons, fields) ignoring Z-order. Fixed viewport culling ignoring expanded heights.
- CN: 修复节点在展开面板下渲染的错误;修复重叠在展开区域上的节点无法点击/拖拽的问题;修复内置控件(按钮、输入框)无视 Z 轴排序的问题;修复视口裁剪忽略展开区域高度的问题。
- ☁️ Server & Networking:
- EN: Critical Fix: Removed client-side class imports (
Screen,Minecraft) from common code to prevent Dedicated Server crashes (Fixes #4). Fixed Monitor block graph overwriting. Fixed BUS band name synchronization. Fixed Image node copy causing false cycles. Fixed Terminal pixel editor Esc behavior. - CN: 关键修复: 移除通用代码中对客户端类(
Screen,Minecraft)的引用,防止专用服务端崩溃(修复 #4)。修复 Monitor 方块图像覆盖问题;修复 BUS 频段名称同步问题;修复复制图像节点导致的伪循环;修复终端像素编辑器 Esc 行为。
- EN: Critical Fix: Removed client-side class imports (
- 📦 Data Integrity:
- EN: Added NBT v3 migration for SortB values. Fixed BUS node collapse logic when connections exist. Fixed pin hitboxes on BUS_OUT nodes.
- CN: 新增 NBT v3 迁移以支持 SortB 数值。修复 BUS 节点存在连接时的折叠逻辑;修复 BUS_OUT 节点引脚碰撞箱偏移问题。
🔧 Technical Changes | 技术变更
- EN: Refactored package naming to
io.github.y15173334444.create_schematic_compute. Centralizedg.flush()calls around node rendering to isolate Minecraft's vertex buffer submissions. Removed legacysuppressControlsworkarounds in favor of the new occlusion system. - CN: 重构包名为
io.github.y15173334444.create_schematic_compute。在节点渲染前后集中调用g.flush()以隔离 Minecraft 顶点缓冲提交。废弃旧的suppressControls补丁,全面启用新遮挡系统。
📥 Installation
*Requires: NeoForge 1.21.1, Create 6.x
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:1bUvJALH:MhyOAyO4"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:1bUvJALH:MhyOAyO4"
}

