# Oraxen 物品制作 (入门)

## 普通设置

### 显示名称

允许您更改显示在物品顶部的名称

```yaml
 displayname: "&c&lExample" #例名
```

### 材料

允许您更改物品类型

```yaml
  material: WOODEN_SWORD
```

### 增加ID

允许Oraxen来识别物品，它默认设置为true，个人建议不要改变它

如果你这样做，该物品的原有机制将不再有效!

```yaml
  injectID: false
```

### 从库存中隐藏

这个选项允许你从Oraxen列表中隐藏一个物品，它将不再显示，但你仍然可以使用 **/oraxen give** 来获得它

它对于其他插件中使用的物品非常有用，比如列表的图标

```yaml
  excludeFromInventory: true
```

### 伤害值

允许你改变一个物品的伤害数量 \[不是很有用]

```yaml
durability: 10
```

### 无法打破的

这将使你的物品无法破坏 \[可以使用的，使用Minecraft的NBT属性]

```yaml
unbreakable: true
```

### 物品标志

允许你为一个项目设置物品标志，在这里获得可用的标志列表

```yaml
  ItemFlags:
    - HIDE_ENCHANTS
    - HIDE_ATTRIBUTES
    - HIDE_UNBREAKABLE
    - HIDE_DESTROYS
    - HIDE_PLACED_ON
    - HIDE_POTION_EFFECTS
```

### 属性修改

允许你为你的物品添加雷电属性

它们是很NB的，允许你制作一个添加生命值，增加玩家速度等的物品

在这里获取可用的属性列表

```yaml
  AttributeModifiers:
    # - name: 你并不关心这个名字，但它对一些开发者来说是有用的。
    # - attribute: 点击这里获取列表: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/Attribute.html
    # - operations: 0 for ADD_NUMBER, 1 for ADD_SCALAR, 2 for MULTIPLY_SCALAR_1;
    # - uuid: 随便放一个uuid，在这里生成一个: https://www.uuidgenerator.net/
    # - slot: HAND, OFF_HAND, FEET, LEGS, CHEST or HEAD
    - {name: "oraxen_speed", 
       attribute: GENERIC_MOVEMENT_SPEED, 
       amount: 0.1, 
       operation: 0, 
       uuid: 3a25f0b5-dbda-4e38-b097-9e75e37ae464, 
       slot: HAND}
```

### 附魔

如果你想对你的物品进行附魔（即使是可怕的附魔，比如锋利度15），你可以通过这部分来实现。

在这里获得可用的**附魔列表**

```yaml
  Enchantments:
    protection: 4
    flame: 34
    sharpness: 18
```

## 材质选项

与其他大多数允许你创建自定义物品的插件不同，Oraxen支持创建材质包:

也就是说，你可以直接在配置中定义你想要的物品外观，它会负责生成材质包

对于Minecraft来说，每个物品的外观由一个叫做model的json管理，大多数的物品都有一个非常简单的模型，简单地显示一个2D的纹理，为了避免写这个json（这很重复也很无聊），你可以让Oraxen它自己来生成

### 材质文件夹

这个文件 \[**/plugins/Oraxen/pack**] 包含了你的材质包

它的工作原理就像一个普通的Minecraft材质包，但更简单

您可以将您的材质拖入材质文件夹，将您的模型拖入模型文件夹

你也可以在这些文件夹内创建文件，使其更干净，但这不是必要的。

当插件生成材质包时，它就会出现在这个文件中，名称为 **pack.zip**

### 创建一个简单的播放物品

```yaml
  Pack:
    generate_model: true
    parent_model: "item/handheld"
    textures:
      - example_image1.png #不需要png扩展
      - example_image2.png
```

**parent\_model** 这个是Minecraft需要的。事实上，这可以让你的物品继承 Minecraft中物品模板的渲染属性。你可以看一下Minecraft的默认模型，以便找到新的模型，但我个人认为，像剑这样的武器用 **item/handheld** ，像紫水晶这样的简单物品或宝石建议用 **item/generated**

### 使用Json模型

创建一个Json模型可能会很耗时，但它可以让你创建非常酷的东西（比如3D物品）

将Json模型与Oraxen整合起来非常简单：

将您的材质放在您的材质目录下，将您的模型放在您的模型目录下（Oraxen文件内）。然后您就可以要求Oraxen把这个模型放在您的一个材质上

```yaml
  Pack:
    generate_model: false
    model: example_model.json #Json扩展不是强制性的
```

#### ⚠️ 使用json模型时的专业技巧

通常你得到的模板会把材质放在一个文件夹里，为了确定，打开Json文件，看看前几行，你应该会发现类似的东西:

```javascript
{
	"__comment": "Designed by HighBridRed for Oraxen",
	"textures": {
		"particle": "custom/bonesword_palette",
		"texture": "custom/bonesword_palette",
		"bonesword_palette": "custom/bonesword_palette"
	},
	...
```

如你所见，材质的路径是 **custom/bonesword\_palette** ，也就是说Minecraft会在 " **custom** " 文件中寻找一个名为 **bonesword\_palette.png** 的材质，所以你需要在 "Oraxen/pack/items "里面创建这个文件

你也可以把 " **custom/** "去掉，只保留材质名称，所以你只要把它拖放到材质文件里面就可以了，不用你去创建

### 使用一个阻挡的Json模型(用于盾牌)

如果你想为盾牌使用自定义模型，你需要指定当用户使用你的盾牌右键时将使用的阻挡模型，希望这在Oraxen中很容易实现

下面是它的样子:

```yaml
Pack:
    generate_model: false
    model: example_shield.json #Json扩展不是强制性的
    blocking_model: example_shield_blocking.json #Json扩展不是强制性的
```

## 技能选项

这一部分有专门的页面，你可以在这里[查阅](https://3504743864.gitbook.io/oraxen-wiki/pei-fang-she-zhi/oraxen-ji-neng)
