# Properties

Here's a breakdown of different item and block classes along with their properties:

**Item Class - Basic Type:**

```yaml
properties:
  generate: true # Automatically generate JSON
  rarity: "COMMON" # Rarity (options: UNCOMMON, RARE, EPIC)
```

**Item Class - Weapon Type:**

```yaml
properties:
  attackDamage: 3.0 # Damage (optional, Double type)
  attackSpeed: -2.4 # Attack speed (optional, Double type)
  durability: 250 # Durability (optional, integer int type)
  repairMaterial: "minecraft:iron_ingot" # Repair material
  rarity: "COMMON" # Rarity (optional, options: UNCOMMON, RARE, EPIC)
```

**Item Class - Tool Type:**

```yaml
properties:
  level: "2" # Digging level (optional, 0: wood/gold, 1: stone, 2: iron, 3: diamond) (String type)
  attackDamage: 1.0 # Damage (optional, Double type)
  attackSpeed: -2.8 # Attack speed (optional, Double type)
  durability: 250 # Durability (optional, integer int type)
  repairMaterial: "minecraft:iron_ingot" # Repair material (required)
```

**Armor Class:**

```yaml
properties:
  RepairIngredient: "minecraft:iron_ingot" # Repair material
  Durability: 200 # Durability (optional, integer int type)
  Protection: 3 # Protection value (optional, integer int type)
  toughness: 0.0 # Toughness (optional, Double type)
  KnockbackResistance: 0.0 # Knockback resistance (optional, Double type)
```

**Elytra Class:**

```yaml
properties:
  Durability: 200 # Durability (integer int type)
  RepairIngredient: "minecraft:phantom_membrane" # Repair material
```

**Block Class:**

```yaml
properties:
  lightLevel: 0 # Light level (integer int type)
  dropsNothing: false # Does not drop anything (boolean)
  sound: "STONE" # Block sound
  hardness: 1.5 # Block hardness (Double type)
  resistance: 3.0 # Block resistance (Double type)
  useCutoutLayer: true # Supports transparent rendering (boolean)
```

**Crop Class:**

```yaml
properties:
  sound: "CROP" # Block sound
  dropsNothing: false # Does not drop anything (boolean)
  generate: true # Automatically generate JSON (boolean)
```

These properties define the characteristics of items, blocks, armor, and elytra in your mod. You can adjust the values and options as needed for your specific items and blocks.
