TheOnlyTails

Recipes generator

Oct 16th, 2020
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 7.43 KB | None | 0 0
  1. package com.github.theonlytails.rubymod.datagen
  2.  
  3. import com.github.theonlytails.rubymod.RubyMod
  4. import com.github.theonlytails.rubymod.registries.ItemRegistry
  5. import net.minecraft.advancements.criterion.InventoryChangeTrigger
  6. import net.minecraft.data.*
  7. import net.minecraft.item.Items
  8. import net.minecraft.item.crafting.Ingredient
  9. import net.minecraft.tags.ItemTags
  10. import java.util.function.Consumer
  11.  
  12. class RecipesDataGenerator(generator: DataGenerator) : RecipeProvider(generator) {
  13.     override fun registerRecipes(consumer: Consumer<IFinishedRecipe>) {
  14.         // Centrifuge
  15.         ShapedRecipeBuilder
  16.             .shapedRecipe(ItemRegistry.CENTRIFUGE_BLOCK_ITEM)
  17.             .patternLine("iri")
  18.             .patternLine("ici")
  19.             .patternLine("idi")
  20.             .key('i', Items.IRON_INGOT)
  21.             .key('r', ItemRegistry.RUBY)
  22.             .key('c', Items.CAULDRON)
  23.             .key('d', Items.REDSTONE)
  24.             .setGroup(RubyMod.MOD_ID)
  25.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  26.             .build(consumer)
  27.  
  28.         // Poisoned Apple
  29.         ShapelessRecipeBuilder
  30.             .shapelessRecipe(ItemRegistry.POISONED_APPLE)
  31.             .addIngredient(Items.APPLE)
  32.             .addIngredient(ItemRegistry.RUBY)
  33.             .setGroup(RubyMod.MOD_ID)
  34.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  35.             .build(consumer)
  36.  
  37.         // Red dye (from ruby)
  38.         ShapelessRecipeBuilder
  39.             .shapelessRecipe(Items.RED_DYE, 2)
  40.             .addIngredient(ItemRegistry.RUBY)
  41.             .setGroup(RubyMod.MOD_ID)
  42.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  43.             .build(consumer)
  44.  
  45.         // Ruby (uncrafting from ruby block)
  46.         ShapelessRecipeBuilder
  47.             .shapelessRecipe(ItemRegistry.RUBY, 9)
  48.             .addIngredient(ItemRegistry.RUBY_BLOCK_ITEM)
  49.             .setGroup(RubyMod.MOD_ID)
  50.             .addCriterion("ruby",
  51.                 InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY_BLOCK_ITEM))
  52.             .build(consumer)
  53.  
  54.         // Ruby Axe
  55.         ShapedRecipeBuilder
  56.             .shapedRecipe(ItemRegistry.RUBY_AXE)
  57.             .patternLine(" rr")
  58.             .patternLine(" sr")
  59.             .patternLine(" s ")
  60.             .key('r', ItemRegistry.RUBY)
  61.             .key('s', Items.STICK)
  62.             .setGroup(RubyMod.MOD_ID)
  63.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  64.             .build(consumer)
  65.  
  66.         // Ruby Pickaxe
  67.         ShapedRecipeBuilder
  68.             .shapedRecipe(ItemRegistry.RUBY_PICKAXE)
  69.             .patternLine("rrr")
  70.             .patternLine(" s ")
  71.             .patternLine(" s ")
  72.             .key('r', ItemRegistry.RUBY)
  73.             .key('s', Items.STICK)
  74.             .setGroup(RubyMod.MOD_ID)
  75.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  76.             .build(consumer)
  77.  
  78.         // Ruby Sword
  79.         ShapedRecipeBuilder
  80.             .shapedRecipe(ItemRegistry.RUBY_SWORD)
  81.             .patternLine(" r ")
  82.             .patternLine(" r ")
  83.             .patternLine(" s ")
  84.             .key('r', ItemRegistry.RUBY)
  85.             .key('s', Items.STICK)
  86.             .setGroup(RubyMod.MOD_ID)
  87.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  88.             .build(consumer)
  89.  
  90.         // Ruby Shovel
  91.         ShapedRecipeBuilder
  92.             .shapedRecipe(ItemRegistry.RUBY_SHOVEL)
  93.             .patternLine(" r ")
  94.             .patternLine(" s ")
  95.             .patternLine(" s ")
  96.             .key('r', ItemRegistry.RUBY)
  97.             .key('s', Items.STICK)
  98.             .setGroup(RubyMod.MOD_ID)
  99.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  100.             .build(consumer)
  101.  
  102.         // Ruby Hoe
  103.         ShapedRecipeBuilder
  104.             .shapedRecipe(ItemRegistry.RUBY_HOE)
  105.             .patternLine(" rr")
  106.             .patternLine(" s ")
  107.             .patternLine(" s ")
  108.             .key('r', ItemRegistry.RUBY)
  109.             .key('s', Items.STICK)
  110.             .setGroup(RubyMod.MOD_ID)
  111.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  112.             .build(consumer)
  113.  
  114.         // Ruby Helmet
  115.         ShapedRecipeBuilder
  116.             .shapedRecipe(ItemRegistry.RUBY_HELMET)
  117.             .patternLine("rrr")
  118.             .patternLine("r r")
  119.             .key('r', ItemRegistry.RUBY)
  120.             .setGroup(RubyMod.MOD_ID)
  121.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  122.             .build(consumer)
  123.  
  124.         // Ruby Chestplate
  125.         ShapedRecipeBuilder
  126.             .shapedRecipe(ItemRegistry.RUBY_CHESTPLATE)
  127.             .patternLine("r r")
  128.             .patternLine("rrr")
  129.             .patternLine("rrr")
  130.             .key('r', ItemRegistry.RUBY)
  131.             .setGroup(RubyMod.MOD_ID)
  132.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  133.             .build(consumer)
  134.  
  135.         // Ruby Leggings
  136.         ShapedRecipeBuilder
  137.             .shapedRecipe(ItemRegistry.RUBY_LEGGINGS)
  138.             .patternLine("rrr")
  139.             .patternLine("r r")
  140.             .patternLine("r r")
  141.             .key('r', ItemRegistry.RUBY)
  142.             .setGroup(RubyMod.MOD_ID)
  143.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  144.             .build(consumer)
  145.  
  146.         // Ruby Boots
  147.         ShapedRecipeBuilder
  148.             .shapedRecipe(ItemRegistry.RUBY_BOOTS)
  149.             .patternLine("r r")
  150.             .patternLine("r r")
  151.             .key('r', ItemRegistry.RUBY)
  152.             .setGroup(RubyMod.MOD_ID)
  153.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  154.             .build(consumer)
  155.  
  156.         // Ruby Barrel
  157.         ShapedRecipeBuilder
  158.             .shapedRecipe(ItemRegistry.RUBY_BARREL_ITEM)
  159.             .patternLine("brb")
  160.             .patternLine("bcb")
  161.             .patternLine("brb")
  162.             .key('r', ItemRegistry.RUBY)
  163.             .key('b', ItemRegistry.RUBY_BLOCK_ITEM)
  164.             .key('c', Items.BARREL)
  165.             .setGroup(RubyMod.MOD_ID)
  166.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  167.             .build(consumer)
  168.  
  169.         // Ruby Block
  170.         ShapedRecipeBuilder
  171.             .shapedRecipe(ItemRegistry.RUBY_BLOCK_ITEM)
  172.             .patternLine("rrr")
  173.             .patternLine("rrr")
  174.             .patternLine("rrr")
  175.             .key('r', ItemRegistry.RUBY)
  176.             .setGroup(RubyMod.MOD_ID)
  177.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  178.             .build(consumer)
  179.  
  180.         // Ruby Carpet (from carpet)
  181.         ShapedRecipeBuilder
  182.             .shapedRecipe(ItemRegistry.RUBY_CARPET_ITEM, 8)
  183.             .patternLine("ccc")
  184.             .patternLine("crc")
  185.             .patternLine("ccc")
  186.             .key('c', ItemRegistry.RUBY)
  187.             .key('r', Items.WHITE_CARPET)
  188.             .setGroup(RubyMod.MOD_ID)
  189.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  190.             .build(consumer)
  191.  
  192.         // Ruby Helmet
  193.         ShapedRecipeBuilder
  194.             .shapedRecipe(ItemRegistry.RUBY_CARPET_ITEM, 3)
  195.             .patternLine("ww")
  196.             .key('w', ItemRegistry.RUBY_WOOL_ITEM)
  197.             .setGroup(RubyMod.MOD_ID)
  198.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  199.             .build(consumer)
  200.  
  201.         // Smelt ruby ore
  202.         CookingRecipeBuilder
  203.             .smeltingRecipe(
  204.                 Ingredient.fromItems(ItemRegistry.RUBY_ORE_BLOCK_ITEM),
  205.                 ItemRegistry.RUBY,
  206.                 1f,
  207.                 100,
  208.             )
  209.             .addCriterion("ruby_ore", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY_ORE_BLOCK_ITEM))
  210.             .build(consumer)
  211.  
  212.         // Blast ruby ore
  213.         CookingRecipeBuilder
  214.             .blastingRecipe(
  215.                 Ingredient.fromItems(ItemRegistry.RUBY_ORE_BLOCK_ITEM),
  216.                 ItemRegistry.RUBY,
  217.                 1f,
  218.                 100,
  219.             )
  220.             .addCriterion("ruby_ore", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY_ORE_BLOCK_ITEM))
  221.             .build(consumer)
  222.  
  223.         // Ruby Water Bucket
  224.         ShapelessRecipeBuilder
  225.             .shapelessRecipe(ItemRegistry.RUBY_WATER_BUCKET)
  226.             .addIngredient(ItemRegistry.RUBY)
  227.             .addIngredient(Items.WATER_BUCKET)
  228.             .setGroup(RubyMod.MOD_ID)
  229.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  230.             .build(consumer)
  231.  
  232.         // Ruby Wool
  233.         ShapelessRecipeBuilder
  234.             .shapelessRecipe(ItemRegistry.RUBY_WOOL_ITEM)
  235.             .addIngredient(ItemRegistry.RUBY)
  236.             .addIngredient(ItemTags.WOOL)
  237.             .setGroup(RubyMod.MOD_ID)
  238.             .addCriterion("ruby", InventoryChangeTrigger.Instance.forItems(ItemRegistry.RUBY))
  239.             .build(consumer)
  240.     }
  241. }
  242.  
Advertisement
Add Comment
Please, Sign In to add comment