# 矿物词典(Ore Dictionaries)

> **forge矿物辞典（forge ore dictionary，下面简称OD）**&#x6765;源于RedPower2的作者eloraam的一个帖子，当时有人争议rp(红石mod)和ic(工业mod)添加同类的矿物(铜矿、锡矿)引起的混乱，于是forge矿物辞典随之诞生了。forge矿物辞典就是一种让不同模组的矿物通用的系统，例如在世界中采集到不同的铜矿，可以用来合成同样的物品，甚至可以混搭使用！

大部分mod，如IC2，TE，TiC，RC，FR等均采用了矿物辞典登记自己的矿物，如IC2的铜锭登记ingotCopper，TE铜矿oreCopper。矿物辞典在多mod通用方面起着重要作用。

为什么要引用OD？ 譬如说铜锭，TIC（匠魂）里面有铜锭，IC2（工业）也有铜锭，FR（林业）也有铜锭MEK（通用机械）也有铜锭，RC（铁路）也有铜锭，IE（沉浸工艺）也有铜锭！如果没有OD的话，就会出现一个极其尴尬的情况你无法用FR的铜去合成IC的机器！你无法用RC的钢去合成GT的机器！你无法用MEK的锡作为TIC的原料！很恐怖，不是么？ 但是如果调用了矿物词典，就可以完全解决这个问题矿物词典就相当于将在这个矿典中所有的物品全部统一为一个物品池如果调用OD，就相当于调用了这个物品池里面所有的物品也就是说一个OD名称代表所有在这个OD中的物品！是不是跟通配符很像？他就是一个无条件的通配符！ OD使用的时候和普通的物品名称相同，这里就不再重复。(添加有序合成章的例子便用OD`<ore:ingotIron>`代替了MC原版的`<minecraft:iron_ingot>`) 可以用/mt hand指令查看物品所在OD，其实后期熟练后，OD可以直接写。

```
矿典名称.add(物品名称);   //将某物品加入到某OD中
<ore:sand>.add(<minecraft:stone>) ;  //将石头添加入沙子的矿物词典中

矿典名称.remove(物品名称);  //将某物品从某OD中删除
<ore:sand>.remove(<minecraft:sand>);  //将沙子从沙子的矿物词典中删除

//如果加入的矿典不存在，那样就会创建一个新的矿典

矿典名称.addAll(矿典名称);   //将某个矿物词典中所有物品列入到另一个矿物词典下

矿典名称A.mirror(矿典名称B);
//将A的物品全部映射到B下面，也就代表B包含原有的B和A
//但是A中不包含B
```

P.S. 本页内容待更新
