<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ocr.michiyo.me/w/index.php?action=history&amp;feed=atom&amp;title=Component%2Fdatabase%2Fzh</id>
	<title>Component/database/zh - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://ocr.michiyo.me/w/index.php?action=history&amp;feed=atom&amp;title=Component%2Fdatabase%2Fzh"/>
	<link rel="alternate" type="text/html" href="https://ocr.michiyo.me/w/index.php?title=Component/database/zh&amp;action=history"/>
	<updated>2026-08-24T15:14:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://ocr.michiyo.me/w/index.php?title=Component/database/zh&amp;diff=1149&amp;oldid=prev</id>
		<title>imported&gt;OCDoc Import: Imported from legacy OpenComputers documentation at ocdoc.cil.li</title>
		<link rel="alternate" type="text/html" href="https://ocr.michiyo.me/w/index.php?title=Component/database/zh&amp;diff=1149&amp;oldid=prev"/>
		<updated>2026-08-24T08:08:27Z</updated>

		<summary type="html">&lt;p&gt;Imported from legacy OpenComputers documentation at ocdoc.cil.li&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= 组件：数据库 =&lt;br /&gt;
&lt;br /&gt;
此组件由[[Item/database upgrade/zh|数据库升级]]提供。&lt;br /&gt;
&lt;br /&gt;
数据库组件主要用于处理“完整的”物品堆，包括NBT标签，这些标签（默认情况下）对Lua脚本不可用（以避免利用漏洞/破坏其他mod的游戏玩法）。将物品堆放入数据库组件，然后指定数据库组件地址及其槽位号，就可以给一些组件提供物品堆数据。例如，AE2的输出总线驱动程序就利用了这个功能。&lt;br /&gt;
&lt;br /&gt;
组件名：`database`。&lt;br /&gt;
&lt;br /&gt;
回调函数：&lt;br /&gt;
&lt;br /&gt;
* `get(slot:number):table`&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;获取储存于指定槽位的物品堆的数据，以表的形式展示。  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* `computeHash(slot:number):string`&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;计算指定槽位中物品堆的哈希值。相同物品堆的结果保证相同，可用以在网络中比较物品堆（通过比较哈希值）。  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* `indexOf(hash:string):number`&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;获取具有指定哈希值的物品堆的槽位号。若未找到则返回一个负数。  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* `clear(slot:number):boolean`&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;清空指定槽位。若槽位中有内容以供清除则返回`true`。  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* `copy(fromSlot:number, toSlot:number[, address:string]):boolean`&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;将一个条目复制到另一个槽位，可选择是否为复制到另一个数据库。若有内容成功覆写则返回`true`。  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* `clone(address:string):number`&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;将此数据库中存储的数据复制到指定地址对应的数据库。  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
使用例：&lt;br /&gt;
&lt;br /&gt;
```lua local component = require(&amp;quot;component&amp;quot;) local sides = require(&amp;quot;sides&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local db = component.database --首选数据库组件 local invcontrol = component.inventory_controller --首选物品栏控制器&lt;br /&gt;
&lt;br /&gt;
--定义槽位序号 dbSlot = 1 invSlot = 1&lt;br /&gt;
&lt;br /&gt;
--将外部物品容器中的物品与数据库第一个槽位中的物品进行对比 if db.get(dbSlot).label == invcontrol.getStackInSlot(sides.north, invSlot).label then&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  --物品匹配，进行对应操作。&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  --物品不匹配，什么都不做，或者进行其他操作&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
end ```&lt;br /&gt;
&lt;br /&gt;
== 目录 ==&lt;br /&gt;
&lt;br /&gt;
{{:Component/contents/zh}}&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;OCDoc Import</name></author>
	</entry>
</feed>