# AutoStoreItems 自动储存
- 作者: 羽学 cmgy雱  
- 出处: 无  
- 持有指定物品根据配置物品ID自动存入存储空间  
- （支持自动存钱,感谢cmgy雱的钱币叠堆算法） 

## 命令

| 语法                |        别名         |        权限         |              说明               |
|-------------------|:-----------------:|:-----------------:|:-----------------------------:|
| /ast              |        /自存        |   AutoStore.use   |             指令菜单              |
| /ast auto         |     /自存 auto      |   AutoStore.use   |          开启或关闭自动识别模式          |
| /ast hand         |     /自存 hand      |   AutoStore.use   |          开启或关闭手持识别模式          |
| /ast armor        |     /自存 armor     |   AutoStore.use   |          开启或关闭装备识别模式          |
| /ast list         |     /自存 list      |   AutoStore.use   |          列出自己的自存桶物品名          |
| /ast clear        |     /自存 clear     |   AutoStore.use   |           清空自己的自存桶表           |
| /ast bank         |     /自存 auto      |   AutoStore.use   |       将物品放入存钱罐时自动添加自存表        |
| /ast mess         |     /自存 mess      |   AutoStore.use   |           开启或关闭自存消息           |
| /ast add 或 del id | /自存 add 或 del 物品名 |   AutoStore.use   |         添加或移除自己的自存物品          |
| /ast pm           |      /自存 pm       |  AutoStore.admin  | 开启或关闭性能模式(不为堆叠达到单格上限物品进行分堆累积) |
| /astreset         |       /重置自存       |  AutoStore.admin  |        清空玩家数据表（重置服务器用）        |
| /reload           |         无         | tshock.cfg.reload |            重载配置文件             |

---
配置注意事项
---
1. `自动` `手持` `装备` 当开启3种模式`任意一个`时其他2个模式会`默认关闭`，不论哪种模式都需要`玩家移动和攻击`才会触发储存
    
2.`性能模式`不会对`单格达到9999`或者本身为`1`堆叠上限的物品，进行空槽分堆累积，如果`服务器人少`的情况下可以考虑`关闭`给玩家最好的自存体验
    
3.`存在BUG`收藏的物品会被`取消收藏`(指`虚空袋`的药水有`堆叠进箱子`的风险),物品如果没放到`存钱罐`等储存空间内是`不会触发`自动存储的
    
## 配置
> 配置文件位置：tshock/AutoStoreItems.zh-CN.json
```json
{
  "插件开关": true,
  "性能模式": true,
  "存钱罐": true,
  "保险箱": true,
  "虚空袋": true,
  "护卫熔炉": true,
  "触发存储的物品ID": [
    87,
    346,
    3213,
    3813,
    4076,
    4131,
    5098,
    5325
  ],
  "装备饰品的物品ID": [
    88,
    410,
    411,
    489,
    490,
    491,
    855,
    935,
    1301,
    2220,
    2998,
    3034,
    3035,
    3061,
    3068,
    4008,
    4056,
    4989,
    5098,
    5107,
    5126
  ]
}
```

## 更新日志
```
v1.3.4
修正错别字

v1.3.3
准备更新TS 5.2.1,修正文档，初始配置内容更改

v1.3.0
修复物品超堆叠上限BUG
加入了性能模式新指令：/ast pm 
对应的Config中加入了性能模式开关
开启时堆叠达到上限9999则不再储存，只会设置数量为该物品的最大上限。
关闭时会为超堆叠的物品在存钱罐等空间里，查找空槽继续累积该物品(多人服务器不建议开)

v1.2.9
把世界更新时触发储存逻辑改为玩家移动触发（优化性能）
自动模式与盔甲模式加入了对宠物道具的识别
移除/ast sd 修改储存速度指令

v1.2.8
移除了自动清理玩家数据的逻辑与其相关配置项
将/ast reset指令改为:
单独的/astreset指令方便跳出循环重置服务器

v1.2.7 fix
修复钱币堆叠错误问题

v1.2.7
移除大量非必要的配置项
加入了一个完整的指令版并美化了指令菜单
修复自动存储在没有存钱罐的情况下也会存钱的BUG
修复了自动识别的逻辑，不再需要写入大量物品ID进配置表进行匹配
加入移除玩家数据指令（用来重置服务器）

v1.2.6
移除了背包存钱速度配置项
修复了【手持存储模式】配置项以解决行走卡顿感

v1.2.5
添加英文翻译

v1.2.4
加入对装备饰品的检测
可以定义装备什么饰品触发自动储存
预设物品加入常见方块（非人工方块）

v1.2.3 
cmgy雱的钱币叠堆算法
修复自动存储超堆叠BUG
加入了对钱币计算的单独逻辑，储钱速度与物品分开
储物空间物品超过9999时默认会恢复9999（不再增加）
移除对给玩家免检堆叠权限的播报
加入大量内置物品，大概抄了wiki一半的物品ID进去：
除了方块/家具/武器/装备/饰品/服装/染料等非叠堆9999的材料

v1.2.2
优化代码，添加使用说明
移除了【控超堆叠】配置项
使用本插件会使堆叠超上限
需给玩家免检堆叠权限：tshock.ignore.itemstack

v1.2.1
将物品ID改为数组

v1.2.0
修复储存速度修改无效导致刷物品bug
补充使用说明：不建议放药水进虚空袋
加入手持“储存道具”才会触发自动存储的配置项
加入了“控超堆叠”避免物品超过9999

v1.1.0  
移除了`物品前缀`的配置项  
加入手持或所选物品不会被自动存储  
自存支持保险箱、护卫熔炉、虚空袋  
预设配置存储物品加入：  
“凝胶”、"坠落之星"、“礼物”、“礼袋”、“护卫奖章”  
加入存储回馈提示（避免玩家不知道东西去哪了）  
  
v1.0.0  
根据背包/存钱罐/配置表里存在的物品进行自动存储  
```

## 反馈
- 优先发issued -> 共同维护的插件库：https://github.com/UnrealMultiple/TShockPlugin
- 次优先：TShock官方群：816771079
- 大概率看不到但是也可以：国内社区trhub.cn ，bbstr.net , tr.monika.love
