Tags
Creators
Details
3.0.0
Compatibility
Changes
📦 EmakiCoreLib 更新日志 / Changelog
中文版
✨ 新增特性
-
物品文本桥接:
ItemTextBridge.java新增- 提供跨版本文本 API 兼容性支持
- 确保在不同 Paper/Spigot 版本间的文本显示一致性
-
MiniMessages 支持:
MiniMessages.java新增/增强- 新增 MiniMessage 格式解析支持
- 提供更丰富的文本格式化能力
-
IndexedLineInsertActionParser: 新增 Lore 插入解析器
- 支持从顶部/底部插入 Lore 行
- 支持统计行插入模式
-
生命周期框架: 新增抽象生命周期协调器
AbstractLifecycleCoordinator.java: 抽象基类RuntimeComponents.java: 运行时组件抽象
-
服务注册表:
EmakiServiceRegistry.java新增- 提供服务注册和查找功能
- 支持服务依赖注入
-
YAML 抽象重构: 新增完整的 YAML 抽象层
YamlConfigLoader.java: YAML 配置加载器VersionedYamlFile.java: 版本化 YAML 文件支持YamlSection.java: YAML 节抽象接口BoostedYamlSection.java: 增强型 YAML 节实现MapYamlSection.java: Map backed YAML 节实现SnakeYamlSupport.java: SnakeYAML 底层支持
-
Bootstrap 包: 新增 bootstrap 包结构
- 提供插件启动引导支持
-
Entity 包: 新增 entity 包结构
- 提供实体相关功能
-
Integration 包: 新增 integration 包结构
- 提供第三方插件集成支持
🐛 问题修复
- YAML 合并逻辑优化: 修复配置合并时的类型处理问题
- 改进
mergeMissingValues方法,使用 YamlSection 替代 ConfigurationSection - 优化版本比较逻辑,新增
compareVersions方法
- 改进
🚀 优化与改进
-
YAML 文件重构:
YamlFiles.java大量重构- 简化版本升级逻辑
- 优化配置合并流程
- 改进类型转换处理
-
文本工具增强:
Texts.java优化- 新增文本空白检测方法
- 优化文本处理性能
-
配置版本升级:
config.yml: 2.3.0 → 3.0.0lang/zh_CN.yml: 2.3.0 → 3.0.0
-
MessageService 优化: 重构消息服务
- 优化消息发送逻辑
- 改进文本格式化
♻️ 架构与底层
-
核心服务重构: 多个核心服务类进行重构和优化
- 改进服务注册和获取流程
- 优化服务依赖管理
-
依赖管理: 优化 Maven 依赖配置
- 减少传递依赖冲突
- 更新库版本
-
代码格式化: 统一代码风格和导入格式
English Version
✨ Features
-
Item Text Bridge:
ItemTextBridge.javaadded- Provides cross-version text API compatibility support
- Ensures text display consistency across different Paper/Spigot versions
-
MiniMessages Support:
MiniMessages.javaadded/enhanced- Added MiniMessage format parsing support
- Provides richer text formatting capabilities
-
IndexedLineInsertActionParser: New Lore insertion parser
- Supports inserting Lore lines from top/bottom
- Supports stat line insertion modes
-
Lifecycle Framework: Added abstract lifecycle coordinator
AbstractLifecycleCoordinator.java: Abstract base classRuntimeComponents.java: Runtime components abstraction
-
Service Registry:
EmakiServiceRegistry.javaadded- Provides service registration and lookup functionality
- Supports service dependency injection
-
YAML Abstraction Refactoring: Added complete YAML abstraction layer
YamlConfigLoader.java: YAML configuration loaderVersionedYamlFile.java: Versioned YAML file supportYamlSection.java: YAML section abstraction interfaceBoostedYamlSection.java: Enhanced YAML section implementationMapYamlSection.java: Map-backed YAML section implementationSnakeYamlSupport.java: SnakeYAML low-level support
-
Bootstrap Package: Added bootstrap package structure
- Provides plugin startup bootstrap support
-
Entity Package: Added entity package structure
- Provides entity-related functionality
-
Integration Package: Added integration package structure
- Provides third-party plugin integration support
🐛 Bug Fixes
- YAML Merge Logic Optimization: Fixed type handling issues during configuration merging
- Improved
mergeMissingValuesmethod, using YamlSection instead of ConfigurationSection - Optimized version comparison logic, added
compareVersionsmethod
- Improved
🚀 Improvements & Optimizations
-
YAML File Refactoring:
YamlFiles.javaextensively refactored- Simplified version upgrade logic
- Optimized configuration merging process
- Improved type conversion handling
-
Text Utility Enhancements:
Texts.javaoptimized- Added text blank detection method
- Optimized text processing performance
-
Configuration Version Upgrade:
config.yml: 2.3.0 → 3.0.0lang/zh_CN.yml: 2.3.0 → 3.0.0
-
MessageService Optimization: Refactored message service
- Optimized message sending logic
- Improved text formatting
♻️ Chores & Refactoring
-
Core Service Refactoring: Multiple core service classes refactored and optimized
- Improved service registration and retrieval process
- Optimized service dependency management
-
Dependency Management: Optimized Maven dependency configuration
- Reduced transitive dependency conflicts
- Updated library versions
-
Code Formatting: Unified code style and import formatting
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:EGYz2X2a:HnIVargp"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:EGYz2X2a:HnIVargp"
}

