# 創造模式物品欄
那么顯而易見的是,give命令實在是太麻煩了,所以我們需要將物品放進一個創造模式物品欄里。
我們直接在`ItemSilverNugget()`構造器里加一句`this.setCreativeTab(CreativeTabs.FOOD);`就好了,原版物品欄的名稱可以在CreativeTabs類里找到
這里我們將銀粒放入了食物欄(惡趣味)
#新的創造模式物品欄
創建物品欄有兩種方法一種是直接添加到主類里,一種是新建一個Java類這里我推薦第二種方法
## 方法一
在XenoAge.java這個主類里添加字段:
~~~
java
public static final CreativeTabs TAB_XENO_AGE= new CreativeTabs(MODID) {
@Override
public ItemStack createIcon() {
return new ItemStack(ItemRegistryHandler.SILVER_NUGGET);
}
};
~~~
再在`ItemSilverNugget()`構造器里加入`this.setCreativeTab(XenoAge.TAB_XENO_AGE);`。重啟游戲,你會看到一個新的創造模式物品欄。
這里`SILVER_NUGGET`的材質將作為創造物品欄的圖標顯示
*注意:必須以某種方式設置 Tab 的 Icon,如果留 null會引發崩潰*
## 方法二
新建一個類`src/main/java/com/wzhrdx/XenoAge/creativetab/TabXenoAge.java`
~~~
java
package com.wzhrdx.XenoAge.creativetab;
import com.wzhrdx.XenoAge.item.ItemRegistryHandler;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
public class TabXenoAge extends CreativeTabs {
public static final TabXenoAge TAB_XENO_AGE = new TabXenoAge();
public TabXenoAge(){
super("xenoage");
}
@Override
public ItemStack createIcon(){
return new ItemStack(ItemRegistryHandler.SILVER_NUGGET);
}
}
~~~
再在`ItemSilverNugget()`構造器里加入`this.setCreativeTab(TabXenoAge.TAB_XENO_AGE);`。重啟游戲,你會看到一個新的創造模式物品欄。
# 物品本地化
現在我們的物品還是一個`item.xenoage.silvernugget.name`的名字,我們需要給他們添加語言文件
* 我們需要語言文件,將上面的代指名稱翻譯成各種語言,翻譯后的名稱叫本地化名稱
* 代指名稱使用物品的`setUnlocalizedName()`方法進行設置(新的版本為`setTranslationKey()`)
* 本地化名稱使用語言文件(\*.lang)進行設置。
新建包`resources/assets/mymod/lang/`,新建 en\_us.lang 文件,對應英文版本,在里面寫入(無需多余空格、引號等字符):
~~~lang
item.xenoage.silvernugget.name=Silver Nugget
itemGroup.xenoage=Xeno Age
item.xenoage.silveringot.name=Silver Ingot
~~~
然后我們新建 zh_cn.lang,對應中文版本,寫法同上。
~~~lang
item.xenoage.silvernugget.name=銀粒
itemGroup.xenoage=魔法時代
item.xenoage.silveringot.name=銀錠
~~~
*注意:1.12語言文件名應該使用全小寫,比如 zh\_cn 而不是 zh\_CN*
*****
# 練習
* [ ] >練習1 給`silverore`添加英文名字`Silver Ore`
* [ ] >練習2 給``silverore``添加中文名字 `銀礦`
* [ ] >提示 方塊和物品不一樣,他是`titl`開頭,你也可以打開游戲查看UnlocalizedName
<details>
<summary>答案</summary>
<pre><blockcode>// en_us.lang
tile.xenoage.silverore.name=Silver Org
························································
// zh_cn.lang
tile.xenoage.silverore.name=銀礦 </blockcode></pre>
</details>