Рецепты - Oshi41/DivineAdditions GitHub Wiki

Поддержка крафтов из файла

На подобии 1,14, Divine Additions поддерживает создание своих рецептов в папке config/divineadditions/recipes. Поместите туда свои файлы в надлежащем формате и мод автоматически добавит их в игру.

Ингредиенты

NbtIngredient

Ингредиент, позволяющий сравнивать элементы по NBT. В отличие от Forge, сверяет NBT не по точному совпадению, а только по тому, что было указано в рецепте. + пофикшен баг с примитивными типами (см JsonToNBT).

Формат:

    "C": {
      "type": "divineadditions:item_nbt",
      "item": "divineadditions:caged_mob",
      "nbt": {
        "cage": {
          "id": "minecraft:creeper"
        }
      }
    },

либо

    "item": "divinerpg:teleportation_star",
    "type": "divineadditions:item_nbt",
    "data": 63,
    "nbt": {
      "Dim": "divineadditions:planets",
      "BlockPos": "13421772800l"
    }

nbt - Частичное описание необходимого NBT для предмета

Так же видно, что 'l' на конце числа превращает тип данных в Long

Remaining

Позволяет оставлять предмет в крафт столе. Можно настроить на получение вещью урона на каждый крафт. Имеет смысл только в рецептах divineadditions:shaped и divineadditions:shapeless. В остальном полностью совпадает с обычным minecraft:item

Формат:

    "T": {
      "item": "divineadditions:rifle_template",
      "type": "divineadditions:remaining_item",
      "damage": 2
    }

type - тип ингредиента

damage - кол-во урона, наносящегося предмету при каждом крафте. По дефолту - 0

Рецепты

Shaped

Первый формат практически полностью совпадает со стандартным shaped форматом (см тут).

Отличия:

  • Поддерживает Remaining ингредиенты
  • Можно указать любой размер сетки (главное, чтобы квадратная)
  • Поддержка уровня древних знаний для игрока как необходимое условие крафта

Формат:

{
  "type": "divineadditions:shaped",
  "pattern": [
    "EEE",
    "ECE",
    "EEE"
  ],
  "key": {
    "E": {
      "item": "divineadditions:time_drop"
    },
    "C": {
      "item": "divinerpg:teleportation_star",
      "data": 0
    }
  },
  "result": {
    "item": "divinerpg:teleportation_star",
    "data": 63,
    "nbt": {
      "Dim": "divineadditions:planets",
      "BlockPos": "13421772800l"
    }
  }
}

либо

{
  "type": "divineadditions:shaped",
  "pattern": [
    "MIM",
    "ITI",
    "MDM"
  ],
  "key": {
    "M": {
      "item": "divinerpg:mortum_chunk"
    },
    "I": {
      "item": "minecraft:iron_ingot"
    },
    "D": {
      "item": "divinerpg:divine_shards"
    },
    "T": {
      "item": "divineadditions:rifle_template",
      "type": "divineadditions:remaining_item",
      "damage": 2
    }
  },
  "level": 1
  "result": {
    "item": "divineadditions:rifle_bullet",
    "count": 32
  }
}

level - необходимый уровень древних знаний

Shapeless

Повторяет формат из стандартного (см тут).

Отличия:

  • Поддерживает Remaining ингредиенты
  • Поддержка уровня древних знаний для игрока как необходимое условие крафта

Формат:

{
  "type": "minecraft:crafting_shapeless",
  "ingredients": [
    {
      "item": "divinerpg:divine_stone"
    },
    {
      "item": "divinerpg:ender_stone"
    },
    {
      "item": "divinerpg:molten_stone"
    },
    {
      "item": "divinerpg:shadow_stone"
    },
    {
      "item": "divinerpg:terran_stone"
    },
    {
      "item": "divinerpg:bluefire_stone"
    },
    {
      "item": "divinerpg:healing_stone"
    },
    {
      "item": "divinerpg:jungle_stone"
    },
    {
      "item": "divinerpg:corrupted_stone"
    }
  ],
  "level": 1
  "result": {
    "item": "divineadditions:empty_infinite_gem"
  }
}

level - необходимый уровень древних знаний

Forge

Рецепт для древнего механизма, за основу взят Shaped рецепт, описанный выше. Поддерживает все типы ингредиентов, что указаны в divineadditions:shaped.

Формат:

{
  "type": "divineadditions:forge",
  "pattern": [
    "NCCCN",
    "IVSVI",
    "LSGSL",
    "IVSVI",
    "LMIML"
  ],
  "key": {
    "G": {
      "type": "divineadditions:item_nbt",
      "item": "divineadditions:caged_mob",
      "nbt": {
        "cage": {
          "id": "minecraft:villager_golem"
        }
      }
    },
    "V": {
      "type": "divineadditions:item_nbt",
      "item": "divineadditions:caged_mob",
      "nbt": {
        "cage": {
          "id": "minecraft:villager"
        }
      }
    },
    "C": {
      "item": "minecraft:crafting_table"
    },
    "N": {
      "item": "divinerpg:netherite_lamp"
    },
    "I": {
      "item": "divinerpg:ice_lamp"
    },
    "L": {
      "item": "divinerpg:lapis_lazuli_lamp"
    },
    "M": {
      "item": "divinerpg:milky_lamp"
    },
    "S": {
      "item": "divineadditions:empty_infinite_gem"
    }
  },
  "dna": 1000,
  "experience": 30,
  "level": 1,
  "result": {
    "item": "divineadditions:forge"
  }
}

level - необходимый уровень древних знаний

dna - Кол-во ДНК, используемого при крафте. Жидкость, получается при помещении запертого моба в слот поглощения. 1 ДНК = 1 HP моба.

experience - необходимый уровень опыта для игрока