1.0.3.3
Compatibility
Changes
v1.0.3.3 更新日志
修复与优化
-
商店多维度悬浮物(展示物品)彻底修复:
- 彻底解决了上个版本(支持多维度商店)后,非主世界维度(地狱、末地)商店悬浮展示物品消失、或者在主世界错误重建悬浮物品的重大逻辑缺陷。
- 重构了
ShopDisplayManager的悬浮物初始化与维护逻辑,现在能智能地根据每个商店实例保存的dimensionId精准匹配并同步世界 level,实现在不同维度间的安全分流与渲染,绝不跨维度串扰。
-
假人与离线玩家时间统计修复:
- 彻底解决了当 Carpet 假人(或非正常断开连接的玩家)下线后,其在线时间在积分板、统计命令以及排行榜浮空字中仍会持续累加的系统缺陷。
- 现在系统在累加当前会话在线时间之前,将严格实时校验玩家在服务器中的真实在线状态。如果玩家已离线,则其当次会话的计时增加额强制归零,并自动、安全地从底层登录时间缓存中移除,避免潜在的内存泄漏与数据残留。
-
CDK 过期时间设定指令优化:
- 修复了
/cdkadmin setexpiry指令中时间格式解析报错的缺陷。 - 现在支持直接输入
yyyy-MM-dd格式(如2026-06-01),系统将默认填充时间为00:00:00并成功设置。 - 如需指定具体时间,可输入
yyyy-MM-dd HH:mm:ss(需使用双引号""框住,如"2026-06-01 12:00:00"),系统将能够完美解析并保存。
- 修复了
-
商店交易背包溢出掉落优化:
- 修复了当玩家背包满时,在商店购买物品会直接消失但正常扣除金额的问题.
- 现在当购买的物品无法完全放入背包时,溢出部分的物品将安全、自动地以掉落物形式掉落到玩家脚下的地面上,绝不吞物.
-
全新全局调试日志机制:
- 在
TuanzisServerMod主类中引入了全局静态调试方法debug(String, Object...),支持开发环境下输出 INFO 级别的直观调试、生产环境下静默输出 DEBUG 级别至日志文件中。 - 已将全模组(包括身份验证、核心 Mixin 钩子、商店与告示牌、统计信息与计分板等全部 30 个子系统文件)中所有非必须展示在控制台的核心调试与调试期业务日志,彻底重构并整体迁移至该全局调试方法。
- 在
v1.0.3.3 Changelog
Bug Fixes & Optimizations
-
Fixed Shop Multi-Dimension Floating Items (Display Items):
- Completely resolved the major logical flaw where floating display items in non-overworld dimensions (Nether, End) would disappear or incorrectly regenerate in the Overworld after the multi-dimension shop support update.
- Refactored
ShopDisplayManagerinitialization and maintenance logic to accurately match and sync each shop instance'sdimensionIdwith the corresponding active world level. This ensures secure rendering and isolation across different dimensions without cross-dimensional interference.
-
Fixed Play Time Accumulation for Fake Players & Offline Players:
- Completely resolved the issue where fake players (from Carpet) or players who disconnected abnormally would still have their online play time continuously incremented on scoreboards, statistics commands, and floating text leaderboards.
- The system now strictly verifies the player's active online status on the server before accumulating session play time. If a player is offline, their current session time increment is forced to zero, and they are automatically and safely cleared from the login time cache to prevent memory leaks and residual data.
-
Optimized CDK Expiry Command:
- Fixed the date-time format parsing error in
/cdkadmin setexpirycommand. - Now supports directly inputting
yyyy-MM-ddformat (e.g.,2026-06-01), which will default the time to00:00:00. - If a specific time is required, players can input
yyyy-MM-dd HH:mm:ssenclosed in double quotes""(e.g.,"2026-06-01 12:00:00"), which will be successfully parsed and stored.
- Fixed the date-time format parsing error in
-
Optimized Trade Item Drop on Full Inventory:
- Fixed the bug where purchased items would disappear entirely and money would still be deducted if the buyer's inventory was full.
- Now, any overflow items that cannot fit into the player's inventory during a shop transaction will automatically and safely drop to the ground at the player's feet.
-
Brand New Global Debug Logging Mechanism:
- Introduced a global static
debug(String, Object...)method in theTuanzisServerModmain class, supporting highly visible INFO level logging in development environments and silent DEBUG level logging to file in production. - Successfully refactored and migrated all non-essential console logs across the entire mod (including authentication, core Mixin hooks, shop and sign systems, statistics and scoreboard modules, spanning a total of 30 subsystem files) to this new global debug method.
- Introduced a global static
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:RDMGNOTc:OgtgkxYS"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:RDMGNOTc:OgtgkxYS"
}

