1.2.0
Compatibility
Required content
Changes
🚀 Version 1.2.0 Update - Major Rewrite
💥 Major Architectural Update
Programming Language Migration: Java → Kotlin
The entire mod has been completely migrated from Java to Kotlin, delivering better performance, cleaner code, and enhanced maintainability.
✨ Command System Overhaul
🔄 Completely Rewritten Commands:
/run- Completely refactored for better performance and stability
🗑️ Deprecated and Removed Commands:
/modsay- Functionality perfectly replaced by the more powerful/runcommand- Original functionality can be achieved with
/run con say <message>or/run var <variable>
- Original functionality can be achieved with
/stringmaker- Refactored and renamed to the more intuitive/strcommand
🆕 New Commands:
1. /modtellraw - Tellraw Command Variable Compatibility (Level 2 Permission)
Variable-supported version of the native tellraw command, allowing direct use of variables as parameters.
Usage:
/modtellraw con [string]- Use string directly/modtellraw var [variable_name]- Use variable content
Examples:
/modtellraw con @a "Hello World!"→ Executes/tellraw @a "Hello World!"- Variable
msgwith value@p {"text":"Welcome!","color":"green"} /modtellraw var msg→ Executes corresponding tellraw command
2. /cmp - Numeric Comparison Command (Level 2 Permission)
Powerful numerical comparison tool supporting multiple comparison modes and parameter type combinations.
Comparison Operators:
g/greater- Greater than (>)l/less- Less than (<)e/equal- Equal to (=)ge- Greater than or equal (>=)le- Less than or equal (<=)
Parameter Type Combinations:
/cmp [result_var] [operator] con [number1] [number2]- Compare two constants/cmp [result_var] [operator] var [var1] [var2]- Compare two variables/cmp [result_var] [operator] v2c [variable] [number]- Compare variable with constant/cmp [result_var] [operator] c2v [number] [variable]- Compare constant with variable
Examples:
/cmp result g con 10 5→ Result variableresultbecomestrue/cmp check e var health max_health→ Compare two variable values
🎯 Optimizations and Improvements
- Better Performance: Significant performance improvement after Kotlin rewrite
- Clearer Syntax: More unified and intuitive command structure
- Enhanced Extensibility: Foundation for future feature additions
- Backward Compatibility: Full compatibility with existing variables and data
⚠️ Upgrade Notes
/modsaycommand has been removed, please use/run con say ...instead/stringmakerhas been renamed to/strwith more powerful functionality- All existing variables and data will be automatically migrated, no manual operation required
Recommended for all users to upgrade to this version for optimal performance and latest features!
🚀 版本 1.2.0 更新 - 重大改动
💥 重大架构更新
编程语言迁移:Java → Kotlin
整个模组现已从 Java 全面迁移到 Kotlin,带来更好的性能、更简洁的代码和更强的可维护性。
✨ 命令系统重大调整
🔄 完全重写的命令:
/run- 彻底重构,性能更优,稳定性更强
🗑️ 已弃用删除的命令:
/modsay- 功能已由更强大的/run命令完美替代- 原功能可通过
/run con say <消息>或/run var <变量>实现
- 原功能可通过
/stringmaker- 已重构并重命名为更直观的/str命令
🆕 新增命令:
1. /modtellraw - Tellraw命令变量兼容版 (2级权限)
原生tellraw命令的变量支持版本,可直接使用变量作为参数。
用法:
/modtellraw con [字符串]- 直接使用字符串/modtellraw var [变量名]- 使用变量内容
示例:
/modtellraw con @a "Hello World!"→ 执行/tellraw @a "Hello World!"- 变量
msg值为@p {"text":"欢迎!","color":"green"} /modtellraw var msg→ 执行对应的tellraw命令
2. /cmp - 数字比对命令 (2级权限)
强大的数值比较工具,支持多种比较模式和参数类型组合。
比较运算符:
g/greater- 大于 (>)l/less- 小于 (<)e/equal- 等于 (=)ge- 大于等于 (>=)le- 小于等于 (<=)
参数类型组合:
/cmp [结果变量] [运算符] con [数字1] [数字2]- 两个常量比较/cmp [结果变量] [运算符] var [变量1] [变量2]- 两个变量比较/cmp [结果变量] [运算符] v2c [变量] [数字]- 变量与常量比较/cmp [结果变量] [运算符] c2v [数字] [变量]- 常量与变量比较
示例:
/cmp result g con 10 5→ 结果变量result为true/cmp check e var health max_health→ 比较两个变量值
🎯 优化与改进
- 更好的性能: Kotlin重写后运行效率显著提升
- 更清晰的语法: 命令结构更加统一和直观
- 更强的扩展性: 为未来功能添加奠定基础
- 向后兼容: 现有变量和数据完全兼容
⚠️ 升级注意事项
/modsay命令已被移除,请使用/run con say ...替代/stringmaker已重命名为/str,功能更加强大- 所有现有变量和数据将自动迁移,无需手动操作
推荐所有用户升级到此版本,以获得最佳性能和最新功能!
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:LtnX1xvK:p8lCMDLD"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:LtnX1xvK:p8lCMDLD"
}

