
MoreHead
Customizable cosmetics. 简单好玩的装饰模组,提供unitypackage,供玩家自行导入模型。
Date uploaded | 3 days ago |
Version | 1.3.4 |
Download link | YMC_MHZ-MoreHead-1.3.4.zip |
Downloads | 348891 |
Dependency string | YMC_MHZ-MoreHead-1.3.4 |
This mod requires the following mods to function

README
All models were created by Yuri's cat Calypso, specifically for this mod :3
所有的模型由尤里的猫·卡里普索为了这个模组而制作:3
Introduction 简介
A simple and fun decoration mod that provides a unitypackage for players to import custom models.
Currently, only a few decorations are available, but more updates are planned.
nickklmao-MenuLib
mod is required as a prerequisite.
简单好玩的装饰模组,提供 unitypackage,供玩家导入自定义模型。
目前仅有少量装饰,未来会持续更新。
需安装 nickklmao-MenuLib
前置模组。
*The chicken beak in the screenshot comes from EvenMoreHead.
⚠️ Compatibility Notice 兼容性说明 ⚠️
With MenuLib
updated to 2.1.3
, MoreHead
must be updated to 1.3.0
or later to function properly.
⚠️ If you are still using
MoreHead 1.2.8
or earlier, please keepMenuLib
at2.1.1
or earlier to avoid compatibility issues.
For the best experience and stability, we recommend always using the latest version.
MenuLib
已更新至 2.1.3
,因此 MoreHead
需升级至 1.3.0
或更高版本才能正常运行。
⚠️ 如果您仍在使用
MoreHead 1.2.8
或更早版本,请确保MenuLib
仍为2.1.1
或更早版本,否则可能会出现兼容性问题。
为确保最佳体验和稳定性,建议始终使用最新版本。
Previously: 之前的版本
MenuLib 2.0.0 → MoreHead 1.2.8+ required.
MenuLib 1.0.3 → MoreHead 1.1.8+ required.
MenuLib 2.0.0 → 需要 MoreHead 1.2.8+ 版本。
MenuLib 1.0.3 → 需要 MoreHead 1.1.8+ 版本。
How to Use 如何使用
- Install this mod and enter any game match.
- Press
ESC
> Find "MoreHead" in the bottom left > Click to switch components.
- 安装本模组,进入游戏战局。
- 按
ESC
> 在左下角找到 "MoreHead" > 点击切换部件。
How to Add Models 如何添加模型
Click to expand for detailed instructions.
点击展开具体说明。
Click to see 点击展开
English Tutorial
-
Set up Unity (2022.3* recommended, the game uses built-in render pipeline, please pay attention to the corresponding model materials), import
MoreHead-Asset-Pack_v1.1.unitypackage
. -
Import your model and drag
PlayerAvatar
prefab into the scene.Make sure your model is compatible with Unity and properly rigged if animated.
-
Find the following parts in
PlayerAvatar
, where models will be placed:Name Description Tag Head decoration (Do Not Move) Head part that raises when speaking head
Neck decoration (Do Not Move) Chin/chest area neck
Body decoration (Do Not Move) Body body
Hip decoration (Do Not Move) Hip/lower body area hip
World decoration (Do Not Move) Follows character position but maintains horizontal orientation world
⚠️ These positions are anchor references. DO NOT modify coordinates, or your model will be misaligned in-game.
💡 Theworld
tag is useful for decorations that should maintain their horizontal orientation regardless of character movement. -
Create an empty object under the target part (referred to as A) and name it.
This name will be displayed in-game as your decoration's name.
-
Place your model inside A and adjust to a suitable position.
-
Drag A to the
Project
window to create a prefab. -
Run
Tools → Head Decorations Builder
, drag your A prefab (or more, batch export is supported) into the script panel, and select the corresponding part from step 3, then clickAdd Model to List
.Make sure to select the correct body part (head/neck/body/world) that matches where you placed your decoration.
-
Click
Build All AssetBundle
, then locate the[your decoration name].hhh
file in theAssetBundles
folder.Only the
.hhh
file is needed for installation. Other generated files can be ignored. -
Move the
.hhh
file toBepInEx\plugins
(the game will load all .hhh files in the plugins folder. If you're not sure where to put it, you can place it in\MoreHead\Decorations
for better organization).⚠️ For multiplayer visibility: You and your friends must have the same
.hhh
file installed to see the correct decorations.
⚠️ Do not package theMoreHead.dll
file into your Mod, only the.hhh
file and this mod are needed to enjoy the decorations. -
Start the game and enjoy!
Press ESC in-game and find "MoreHead" in the bottom left to access your new decoration.
中文教程
-
部署 Unity(推荐 2022.3* 版本,游戏使用的是内置渲染管线,请注意对应的模型材质),导入
MoreHead-Asset-Pack_v1.1.unitypackage
。 -
导入模型,并将
PlayerAvatar
预制体拖入场景。确保您的模型与Unity兼容,如果有动画需要正确绑定骨骼。
-
找到
PlayerAvatar
中的以下部位,对应模型将会摆放的位置:名称 描述 标签 Head decoration (Do Not Move) 说话时会上抬的头部 head
Neck decoration (Do Not Move) 下巴/胸口 neck
Body decoration (Do Not Move) 身体 body
Hip decoration (Do Not Move) 臀部/下半身 hip
World decoration (Do Not Move) 跟随角色位置移动但保持水平方向 world
⚠️ 这些位置是坐标锚点参考。请勿修改坐标,否则您的模型在游戏中会错位。
💡world
标签适用于需要保持水平方向的装饰品,无论角色如何移动。 -
在目标部位下创建一个空对象(称为A),并命名。
此名称将在游戏中显示为您的装饰品名称。
-
将模型放入A,并调整到合适位置。
-
拖动A到
Project
窗口,创建预制体。 -
运行
Tools → Head Decorations Builder
,拖入A预制体(或更多,支持批量导出),并选择第3步中对应的部位,随后点击Add Model to List
。确保选择正确的身体部位(头部/颈部/身体/世界空间),与您放置装饰的位置相匹配。
-
点击
Build All AssetBundle
,然后在AssetBundles
文件夹中找到[你的装饰品名].hhh
文件。安装时只需要
.hhh
文件,其他生成的文件可以忽略。 -
将
.hhh
文件移动至BepInEx\plugins
(启动游戏会加载plugins下所有的.hhh文件。如果不知道往哪放,可以放入\MoreHead\Decorations
便于管理)。⚠️ 多人游戏可见性:您和您的朋友必须安装相同的
.hhh
文件才能互相看到正确的装饰。
⚠️ 不要打包MoreHead.dll
文件到您的Mod中,只需.hhh
文件和该mod就能畅玩饰品。 -
启动游戏,享受装饰!
在游戏中按ESC,在左下角找到"MoreHead"即可访问您的新装饰。
Developer API & Extension 开发者API与扩展
Click to expand for API documentation and extension guide.
点击展开API文档和扩展指南。
Click to see 点击展开
English Documentation
Starting from version 1.2.4, MoreHead provides public APIs for extension. These interfaces allow developers to programmatically load AssetBundle resources, inject custom scripts, and enhance decoration functionality.
Public APIs
The following public interfaces are available in the HeadDecorationManager
class:
Method | Description |
---|---|
LoadExternalAssetBundlesFromAssembly(Assembly assembly) |
Loads all .hhh resources embedded in the specified assembly |
RecreateUI() |
Refreshes the UI to display newly loaded decorations |
GetDecorationsFromAssembly(Assembly assembly) |
Returns a list of all decorations loaded from the specified assembly |
GetDecorationGameObjectsFromAssembly(Assembly assembly) |
Returns a list of GameObject prefabs loaded from the specified assembly |
GetDecorationByName(Assembly assembly, string decorationName) |
Finds a specific decoration by name from the specified assembly |
FindDecorationsByPartialName(Assembly assembly, string partialName) |
Searches for decorations that contain the specified partial name |
Integration Methods
There are two primary ways to leverage MoreHead's API for extended functionality:
1. Embedding AssetBundles as Resources
You can embed your AssetBundle (.hhh
) files directly into your DLL as embedded resources:
- Create AssetBundles following standard procedures outlined in the "How to Add Models" section
- In Visual Studio (or your preferred IDE):
- Add the
.hhh
files to your project - Set their "Build Action" to "Embedded Resource"
- Add the
- In your plugin's initialization code:
// Load all embedded .hhh resources from your assembly Assembly assembly = Assembly.GetExecutingAssembly(); MoreHead.HeadDecorationManager.LoadExternalAssetBundlesFromAssembly(assembly); MoreHead.HeadDecorationManager.RecreateUI();
Note: Embedding resources into your DLL is not mandatory. You can also use MoreHead's standard methods to load local
.hhh
files and simply use your DLL for script injection and functionality implementation.
2. Programmatic Script Injection
You can write scripts that access and modify decorations, regardless of whether they were loaded from your DLL or other sources:
- Use the provided API to access decoration prefabs
- Add custom components/scripts to enhance functionality
- Implement your own logic for decoration behavior
Implementation Example
using BepInEx;
using BepInEx.Logging;
using System.Reflection;
using UnityEngine;
using System.Collections.Generic;
namespace MyCustomDecorations
{
[BepInPlugin("com.yourname.customdecorations", "Custom Decorations Mod", "1.0.0")]
[BepInDependency("Mhz.REPOMoreHead", BepInDependency.DependencyFlags.HardDependency)]
public class CustomDecorationsPlugin : BaseUnityPlugin
{
public static CustomDecorationsPlugin Instance { get; private set; }
private ManualLogSource _logger;
private const string TARGET_MODEL_NAME = "Cigar"; // Target model name
private void Awake()
{
Instance = this;
_logger = Logger;
_logger.LogInfo("Custom Decorations Mod loaded");
// Load decorations and set up handlers
LoadDecorations();
}
private void LoadDecorations()
{
try
{
// Get current assembly
Assembly assembly = Assembly.GetExecutingAssembly();
// Load all .hhh resources from current DLL
MoreHead.HeadDecorationManager.LoadExternalAssetBundlesFromAssembly(assembly);
// Recreate UI to display newly loaded models
MoreHead.HeadDecorationManager.RecreateUI();
// Find specific models matching the target name
List<MoreHead.DecorationInfo> targetDecorations =
MoreHead.HeadDecorationManager.FindDecorationsByPartialName(assembly, TARGET_MODEL_NAME);
if (targetDecorations.Count > 0)
{
_logger.LogInfo($"Found {targetDecorations.Count} models matching '{TARGET_MODEL_NAME}'");
// Add component to each found target model
foreach (var decoration in targetDecorations)
{
if (decoration.Prefab != null && decoration.Prefab.GetComponent<SpaceKeyHandler>() == null)
{
_logger.LogInfo($"Adding SpaceKeyHandler to {decoration.DisplayName}");
decoration.Prefab.AddComponent<SpaceKeyHandler>();
}
}
}
}
catch (System.Exception ex)
{
_logger.LogError($"Error processing decorations: {ex.Message}");
}
}
// Class for handling decoration behavior
public class SpaceKeyHandler : MonoBehaviour
{
private void Awake()
{
// Log when the component is initialized
Instance._logger.LogInfo($"SpaceKeyHandler initialized on {gameObject.name}");
}
private void Update()
{
// Check for space key press directly in the component
if (Input.GetKeyDown(KeyCode.Space))
{
// Simply log the message when triggered
Instance._logger.LogInfo($"Space key pressed on decoration: {gameObject.name}");
}
}
}
}
}
⚠️ Important Notes
Scripts don't necessarily need to be attached to the corresponding model - implement them as needed for proper functionality. For example, the sample code above only responds to space key presses when the character is displayed in the menu.
Why is this happening?
Because in first-person view, the game sets the local character's
[RIG]
GameObject to inactive (SetActive(false)
).
[RIG]
is the parent object containing the character model, and MoreHead decorations are also mounted under this hierarchy.- When
[RIG]
is disabled, according to Unity's mechanics, all components of child objects will not have theirUpdate
,FixedUpdate
and other lifecycle methods called.- Custom decoration models are also placed under the
[RIG]
hierarchy, so when you directly attach scripts to the model, once you enter first-person view, these scripts cannot execute normally because the parent object is disabled.- However, in the game menu interface, the character model always remains active, so scripts attached to decorations can work normally, as Unity only executes component methods on active GameObjects.
This difference in activation states is the key point that explains why the same script behaves differently in different scenarios.
Important Notes About Multiplayer Synchronization
Although in first-person view you cannot see your own decoration model (because the local [RIG] is disabled), the game still synchronizes your state over the network. This means that as long as you properly handle multiplayer synchronization logic, other players can still see the changes and actions of your decoration model.
Therefore, even if local scripts don't execute due to [RIG] being disabled, you can still implement interactive effects through global managers or network synchronization mechanisms, allowing all players to see changes to your decoration model. This creates possibilities for interactive decorations.
Points to Consider When Implementing Model Behavior Logic:
- Script Mounting Strategy - Consider using global managers or event systems as alternatives
- Differences Between Scene Character and Menu Character - Some scripts may only work in specific contexts
- Multiplayer Synchronization Issues - Ensure consistent behavior across network clients
- Component Activation State - Components on disabled GameObjects won't execute Update/FixedUpdate methods
- Resource Management - Properly initialize and clean up resources to avoid memory leaks
- Network Authority - Consider which operations should be executed locally and which need network synchronization
中文文档
从1.2.4版本开始,MoreHead提供了公开API接口,用于扩展功能。这些接口允许开发者以编程方式加载AssetBundle资源、注入自定义脚本,并增强装饰物功能。
公开API接口
以下是HeadDecorationManager
类中可用的公共接口:
方法 | 说明 |
---|---|
LoadExternalAssetBundlesFromAssembly(Assembly assembly) |
加载指定程序集中嵌入的所有.hhh 资源 |
RecreateUI() |
刷新UI以显示新加载的装饰物 |
GetDecorationsFromAssembly(Assembly assembly) |
返回从指定程序集加载的所有装饰物列表 |
GetDecorationGameObjectsFromAssembly(Assembly assembly) |
返回从指定程序集加载的所有GameObject预制体列表 |
GetDecorationByName(Assembly assembly, string decorationName) |
根据名称查找指定程序集中的特定装饰物 |
FindDecorationsByPartialName(Assembly assembly, string partialName) |
搜索包含指定部分名称的装饰物 |
集成方法
有两种主要方式利用MoreHead的API进行功能扩展:
1. 将AssetBundle作为资源嵌入
您可以将AssetBundle(.hhh
)文件直接嵌入到DLL中作为嵌入式资源:
- 按照"如何添加模型"部分的标准流程创建AssetBundle
- 在Visual Studio(或您选择的IDE)中:
- 将
.hhh
文件添加到您的项目 - 将它们的"生成操作"设置为"嵌入式资源"
- 将
- 在您的插件初始化代码中:
// 从您的程序集加载所有嵌入的.hhh资源 Assembly assembly = Assembly.GetExecutingAssembly(); MoreHead.HeadDecorationManager.LoadExternalAssetBundlesFromAssembly(assembly); MoreHead.HeadDecorationManager.RecreateUI();
注意:将资源嵌入到DLL中不是必须操作。您也可以使用MoreHead的标准方法加载本地
.hhh
文件,只用您的DLL注入脚本和实现功能。
2. 程序化脚本注入
您可以编写脚本访问和修改装饰物,无论它们是从您的DLL还是其他来源加载的:
- 使用提供的API访问装饰物预制体
- 添加自定义组件/脚本以增强功能
- 实现您自己的装饰物行为逻辑
实现示例
using BepInEx;
using BepInEx.Logging;
using System.Reflection;
using UnityEngine;
using System.Collections.Generic;
namespace MyCustomDecorations
{
[BepInPlugin("com.yourname.customdecorations", "自定义装饰MOD", "1.0.0")]
[BepInDependency("Mhz.REPOMoreHead", BepInDependency.DependencyFlags.HardDependency)]
public class CustomDecorationsPlugin : BaseUnityPlugin
{
public static CustomDecorationsPlugin Instance { get; private set; }
private ManualLogSource _logger;
private const string TARGET_MODEL_NAME = "Cigar雪茄"; // 目标模型名称
private void Awake()
{
Instance = this;
_logger = Logger;
_logger.LogInfo("自定义装饰MOD已加载");
// 加载装饰物并设置处理脚本
LoadDecorations();
}
private void LoadDecorations()
{
try
{
// 获取当前程序集
Assembly assembly = Assembly.GetExecutingAssembly();
// 加载当前DLL中的所有.hhh资源
MoreHead.HeadDecorationManager.LoadExternalAssetBundlesFromAssembly(assembly);
// 重建UI以显示新加载的模型
MoreHead.HeadDecorationManager.RecreateUI();
// 查找匹配目标名称的特定模型
List<MoreHead.DecorationInfo> targetDecorations =
MoreHead.HeadDecorationManager.FindDecorationsByPartialName(assembly, TARGET_MODEL_NAME);
if (targetDecorations.Count > 0)
{
_logger.LogInfo($"找到 {targetDecorations.Count} 个匹配 '{TARGET_MODEL_NAME}' 的模型");
// 为每个找到的目标模型添加组件
foreach (var decoration in targetDecorations)
{
if (decoration.Prefab != null && decoration.Prefab.GetComponent<SpaceKeyHandler>() == null)
{
_logger.LogInfo($"为 {decoration.DisplayName} 添加 SpaceKeyHandler");
decoration.Prefab.AddComponent<SpaceKeyHandler>();
}
}
}
}
catch (System.Exception ex)
{
_logger.LogError($"处理装饰物时出错: {ex.Message}");
}
}
// 用于处理装饰物行为的类
public class SpaceKeyHandler : MonoBehaviour
{
private void Awake()
{
// 组件初始化时记录日志
Instance._logger.LogInfo($"在 {gameObject.name} 上初始化了 SpaceKeyHandler");
}
private void Update()
{
// 直接在组件中检测空格键按下
if (Input.GetKeyDown(KeyCode.Space))
{
// 触发时简单记录消息
Instance._logger.LogInfo($"空格键在装饰物上按下: {gameObject.name}");
}
}
}
}
}
⚠️ 重要提示
脚本不一定非要绑定在对应模型上,按需处理才能完善功能。例如上面的示例代码,只能在菜单里显示角色时响应空格输出日志。
为什么会这样?
因为游戏在第一人称视角下会将本地角色的
[RIG]
游戏对象设为非激活状态(SetActive(false)
)。
[RIG]
是包含角色模型的父级对象,MoreHead的装饰模型也被挂载在这个层级下。- 当
[RIG]
被禁用时,根据Unity的工作机制,其下所有子对象的组件的Update
、FixedUpdate
等生命周期方法都不会被调用。- 自定义装饰模型同样放置在
[RIG]
层级下,因此当您在模型上直接挂载脚本时,一旦进入第一人称视角,这些脚本就会因为父对象被禁用而无法正常执行。- 而在游戏菜单界面中,角色模型始终保持激活状态,此时挂载在装饰上的脚本可以正常工作,这是因为Unity只会执行激活状态游戏对象上的组件方法。
这种激活状态的差异是关键点,它解释了为什么同样的脚本在不同场景下表现不一致。
关于多人同步的重要说明
虽然在第一人称视角下您看不到自己的装饰模型(因为本地[RIG]被禁用),但游戏依然会在网络中同步您的状态。这意味着只要您正确处理多人同步逻辑,其他玩家仍然可以看到您装饰模型的变化和动作。
因此,即使本地脚本因[RIG]禁用而不执行,您仍然可以通过全局管理器或网络同步机制来实现交互效果,让所有玩家都能看到您的装饰模型发生的变化。这为创造交互式装饰提供了可能性。
实现模型行为逻辑时需要注意以下几点:
- 脚本挂载策略 - 考虑使用全局管理器或事件系统等替代方法
- 场景角色和菜单角色的区别 - 某些脚本可能只在特定上下文中工作
- 多人同步问题 - 确保在网络客户端间行为一致
- 组件激活状态 - 禁用的游戏对象上的组件不会执行Update/FixedUpdate方法
- 资源管理 - 正确初始化和清理资源,避免内存泄漏
- 网络权限 - 考虑哪些操作应该在本地执行,哪些需要网络同步
Future Update Plans 未来更新计划
-
More hats
-
Screenshots for decorations to assist selection (not guaranteed)
-
更多的帽子
-
为装饰物提供截图,方便选择 (不保证)
Author Information 作者信息
Masaicker 马赛克了:BILIBILI
YurisCat Calypso 尤里的猫·卡里普索:BILIBILI
For questions and suggestions, submit issues:
如有问题和建议,请提交 Issues:GitHub Issues
Want to support us with coffee and yellow energy crystals?
想请我们喝咖啡和购买黄色能量水晶?
Donate on Ko-Fi
Whispering, we are making an indie game!
悄悄说一句,我们正在制作独立游戏!
CHANGELOG
v1.3.4
- 修复了将版本号识别为模组名称的问题
- 修复打开改变颜色窗口时,出现多个模型重叠的问题
- Fixed version numbers being incorrectly identified as mod names
- Fixed the issue where multiple character models overlap when opening the color change window
v1.3.3
- 修复了退出场景时空引用的问题
- Fixed null reference issue when exiting a scene
v1.3.2
- 悬停装饰品按钮时显示模组来源
- 点击当前标签页返回顶部(1.3.0 新增)
- Show mod names when hovering over decoration buttons
- Click the current tab to return to the top (added in 1.3.0)
v1.3.1
- 添加了一顶Nick'sHat,感谢nick制作的menulib模组,为社区带来便利
- Added Nick's Hat. Thanks to Nick for creating the MenuLib mod, bringing convenience to the community.
v1.3.0
- 依赖 MenuLib 2.1.3,本版本及以后不再兼容 MenuLib 早期版本
- 优化了UI界面的响应速度
- 修复了一些小问题
- Now requires MenuLib 2.1.3. Starting from this version, earlier versions of MenuLib are no longer supported.
- Optimized UI interface response speed
- Fixed some minor issues
v1.2.8
- 依赖 MenuLib 2.0.0,本版本及以后不再兼容 MenuLib 1.x
- 修复因 MenuLib 2.0.0 更新导致的兼容性问题,确保 Morehead 正常工作
- Now requires MenuLib 2.0.0. Starting from this version, MenuLib 1.x is no longer supported.
- Fixed compatibility issues caused by the MenuLib 2.0.0 update to ensure Morehead functions properly.
v1.2.7
- 修复单人模式依然能看到 world 标签装饰品的问题
- Fixed the issue where world-tagged cosmetics were still visible in single-player mode.
V1.2.6
- 修复了因 world 标签的装饰品导致的翻滚动画异常,以及角色无法完全倒下的问题。特别感谢 AnzunoHagi 朋友的测试,以及多位玩家的问题反馈
- Fixed the issue where decorations with the "world" tag caused ragdoll rolling animation errors and prevented the character from fully falling down. Special thanks to AnzunoHagi for testing and to multiple players for their feedback.
v1.2.5
- 按钮现在已按字母顺序(A-Z)排序
- The buttons are now sorted in alphabetical order (A-Z).
v1.2.4
- 新增公开API接口,支持扩展功能
- 添加模型和资源追踪系统,允许开发者注入自定义脚本
- 支持将AssetBundle作为嵌入式资源加载
- 详情请查看README.md中的"开发者API与扩展"部分
- Added public API interfaces for extensions
- Added model and resource tracking system for custom scripts
- Added support for loading AssetBundles as embedded resources
- For details, see the "Developer API & Extension" section in README
v1.2.3
- 添加"hip"父级标签,支持在臀部/下半身位置添加装饰品
- 优化body部位装饰品,现在会随角色变矮而同步压缩
- 优化world装饰品位置,避免在第一人称视角中看到
- Added "hip" parent tag for decorations on hip/lower body area
- Improved body decorations to scale with character height
- Optimized world decorations to be invisible in first-person view
v1.2.2
- 添加标签筛选功能,可按类型查看装饰品
- Added tag filtering to view decorations by type
v1.2.1
- 添加"world"父级标签,装饰品跟随角色位置但保持水平方向
- 更新AssetBundleBuilder工具支持"world"标签
- Added "world" parent tag for horizontal orientation
- Updated AssetBundleBuilder tool for "world" tag support
v1.2.0
- 更改装饰品数据保存位置
- 添加清空所有装饰按钮
- Changed cosmetic data save location
- Added clear all accessories button
v1.1.10
- 添加了十六夜的发型和一把小旗子。
- 1.1.9的readme文件出了点问题,我们重新上传了一份。
- Added Sakuya Izayoi's hairstyle and a small flag
- There was an issue with the readme file for version 1.1.9, so we re-uploaded a new one.
v1.1.9
- 优化部分代码,略微提升一点点性能
- Optimized some code for a slight performance improvement.
v1.1.8
- 依赖 MenuLib 1.0.3,本版本及以后不再兼容 MenuLib 1.0.2
- Now requires MenuLib 1.0.3. Starting from this version, MenuLib 1.0.2 is no longer supported.
v1.1.7
- 添加了创可贴、特殊的头发和"盲视"
- Added band-aids, special hair, and blind vision.
v1.1.6
- 优化了README
- Optimized the README.
v1.1.5
- 修复加载问题
- 临时优化了UI显示,但导入模型过多仍可能导致部分按钮被遮挡,无法选中。未来可能会更换饰品选择方案。
- Fixed loading issues.
- Temporarily improved UI display, but excessive model imports may still cause selection issues. A new accessory selection method may be considered in the future.
v1.1.4
- 优化了README
- Optimized the README.
v1.1.3
- 修改了数据保存方案,以防止更新后饰品配置数据丢失
- 恢复了Odradek奥卓德克灯光
- 优化了README
- Modified the data saving method to prevent accessory configuration data loss after updates.
- Restored Odradek's lighting.
- Optimized the README.
v1.1.2
- 优化部分代码
- Optimized some code.
v1.1.1
- 更加明显的 ON/OFF 区别
- More distinct ON/OFF differentiation.
v1.1.0
- 为Odradek奥卓德克添加了动画
- Added animations for Odradek.
v1.0.9
- 优化了UI界面
- Optimized the UI interface.
v1.0.8
- 修复死亡时更换装饰品复活后不同步的问题
- Fixed an issue where accessories changed upon death were not synchronized after revival.
v1.0.7
- 为Odradek奥卓德克添加了更加炫酷的灯光效果
- Added more impressive lighting effects for Odradek
v1.0.6
- 添加了小丑鼻子、草帽、Odradek奥卓德克(带有灯光效果!)、竹蜻蜓(带有动画!)
- Added clown nose, straw hat, Odradek (with lighting effects!), bamboo copter (with animation!)
v1.0.5
- 现在可以加载plugins文件夹下的所有.hhh
- Now it is possible to load all .hhh files located in the plugins folder.
v1.0.4
- 优化了滚动界面中按钮被遮挡的问题
- Optimized the issue where buttons were obscured in scrolling interfaces.
v1.0.2
- 开发者包已经优化(v1.01),以方便制作者批量的打包模型
- 添加了一根非常酷的,留有轨迹的雪茄
- 吸烟有害健康,但游戏里不,不过说真的,现实世界还是别抽了
- The developer package has been optimized (v1.01) to make it easier for creators to batch package models
- Added a very cool cigar that leaves a trail
- "Smoking is harmful to health, but not in games. However, seriously speaking, it's better not to smoke in the real world."
v1.0.1
- 提升了部分模组加载器的兼容性
- 开发包已经优化(v1.01),以方便制作者更好的找到位置锚点
- Improved compatibility with some mod loaders
- The development package has been optimized (v1.01) to help creators better locate position anchors
v1.0.0
- 初始版本
- Initial release