Скачать Create Mechanical Extruder — Minecraft Моды — ModStock

Create Mechanical Extruder

Активный

Установок

20

Последнее обновление

1 месяц назад

Версии

1.18.2 — 1.21.1
Клиент и сервер
Forge
Neoforge
Технологические

Create Mechanical Extruder

A mechanical extruder block. Can be used to generate any block or item from adjacent blocks/fluids. This mod it's meant to be used in modpacks. Only contains very basic recipes.

Heavily inspired on Thermal Expansions Igneous Extruder.

Dedicated wiki

1.21.1-2.x Version Requires Mechanicals Lib

Version support & documentation

  • 1.21.1: Supported. Documentation refers to this version.
  • 1.20.1: Only critical issues
  • 1.19.x: Unsupported: Documentation
  • 1.18.x: Unsupported: Documentation

Andesite Extruder

  • Kinetic block.
  • Filter functionality for selecting output when recipe collides.
  • Shift+right click with empty hand to extract content.
  • Extraction via automation.

Brass Extruder

  • Can consume source blocks.

Extruding recipes

  • JEI integration.
  • Per recipe custom requirements.

BlockState

Block

{
        "blocks": "minecraft:water"
},

Block with State

{
  "blocks": "minecraft:furnace",
  "state": {
    "lit": "true"
  }
}

Input BlockStates

"blockIngredients": {
    "first": {
        "blocks": "minecraft:water"
    },
    "second": {
        "blocks": "minecraft:lava"
    }
}

Catalyst BlockStates

"catalyst": {
  "blocks": "minecraft:obsidian"
}

Required bonks (optional)

  • "requiredBonks": 10
  • Defines how many times must hit.

Advanced extruder (brass) per recipe (optional)

  • "advanced":"true"
  • Recipes requires brass extruder.

Consume blocks (advanced recipe)

  • Advanced extruder can consume blocks.
    "consumeBlocks": {
      "first": false,
      "second": true
    },

    Recipe Requirements

  • MinY/MaxY
    "requirements": [
      {
          "type": "mechanicals:min_y",
          "value": 0
      },
      {
          "type": "mechanicals:max_y",
          "value": 60
      }
    ],
  • MinSpeed/MaxSpeed
    "requirements": [
      {
          "type": "mechanicals:max_speed",
          "value": 4.0
      }
    ],
  • Biome
    "requirements": [
      {
          "type": "mechanicals:biome",
          "value": "minecraft:plains"
      }
    ],
  • BiomeTag
    "requirements": [
      {
          "type": "mechanicals:biome_tag",
          "value": "minecraft:is_nether"
      }
    ],

KubeJS

  • Remove al Extruding recipes.

    ServerEvents.recipes(event => {
    event.remove({ type: 'create_mechanical_extruder:extruding' })
    })
  • Chanced output (binding)

    Output.of('minecraft:clay', 0.5)
    Output.of('4xminecraft:clay', 0.5)
  • BlockPredicate (binding)

    BlockPredicate.of('minecraft:sand')
  • RecipeRequirement (binding)

    RecipeRequirement.minY(int) //ex: RecipeRequirement.minY(-10)
    RecipeRequirement.maxY(int) //ex: RecipeRequirement.maxY(20)
    RecipeRequirement.minSpeed(float) //ex: RecipeRequirement.minSpeed(2.0)
    RecipeRequirement.maxSpeed(float) //ex: RecipeRequirement.maxSpeed(160)
    RecipeRequirement.biome(string) //ex: RecipeRequirement.biome("minecraft:plains")
    RecipeRequirement.maxSpeed(string)  //ex: RecipeRequirement.biome("minecraft:plains")
  • Add recipes

    ServerEvents.recipes(event => {
    /** 
      create_mechanical_extruder.extruding(Output result, BlockPredicate[] inputs)
      .catalys(BlockPredicate catalyst) // optional, default: empty
      .advanced(true) //optional, default: false
      .consumeBlock(Couple consume) //optional, default: empty
    **/
    
      event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:dirt'),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])
              .catalyst('minecraft:clay')})
  • Some examples:

    
    //Minimal
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:redstone_block'),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])
    
          //Catalyst
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:dirt'),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])
              .catalyst('minecraft:clay')
    
          //Bonks
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:sand'),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])
              .requiredBonks(10)
    
          //Chanced output
          event.recipes.create_mechanical_extruder.extruding(Output.of('minecraft:red_sand',0.5),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])
    
          //Chanced output & bonks
          event.recipes.create_mechanical_extruder.extruding(Output.of('minecraft:birch_planks',0.5),[BlockPredicate.of('minecraft:lava'),BlockPredicate.of('minecraft:stone')])
              .requiredBonks(5)
    
          //Advanced extruder
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:obsidian'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')])
              .catalyst(BlockPredicate.of("minecraft:dirt"))
              .advanced(true)
    
          //Advanced extruder + consume blocks
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:birch_planks'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')])
              .catalyst(BlockPredicate.of("minecraft:dirt"))
              .consumeBlocks(true)
              .advanced(true)
    
          //Advanced extruder + consume different blocks
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:obsidian'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')])
              .catalyst(BlockPredicate.of("minecraft:dirt"))
              .consumeBlocks([true,false])
              .advanced(true)
    
          //Biome requirement
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:iron_block'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')]).catalyst(BlockPredicate.of("minecraft:dirt"))
              .requirements(
                  [
                      RecipeRequirement.biome("minecraft:plains")
                  ]
              );
    
          //Biome Tag requirement
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:gold_block'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')]).catalyst(BlockPredicate.of("minecraft:dirt"))
              .requirements(
                  [
                      RecipeRequirement.biomeTag("minecraft:is_nether")
                  ]
              );
    
          //MinY & MaxY requirement
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:coal_block'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')]).catalyst(BlockPredicate.of("minecraft:dirt"))
              .requirements(
                  [
                      RecipeRequirement.minY(-10),
                      RecipeRequirement.maxY(12),
                  ]
              );
          //MinSpeed & MaxSpeed requirement
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:dirt'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')]).catalyst(BlockPredicate.of("minecraft:dirt"))
              .requirements(
                  [
                      RecipeRequirement.minSpeed(1.0),
                      RecipeRequirement.maxSpeed(16.0),
                  ]
              );
    
          //All requirements together
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:emerald_block'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')]).catalyst(BlockPredicate.of("minecraft:dirt"))
          .requirements(
              [
                  RecipeRequirement.minSpeed(6.0),
                  RecipeRequirement.maxSpeed(16.0),
                  RecipeRequirement.minY(10),
                  RecipeRequirement.maxY(12),
                  RecipeRequirement.biomeTag("minecraft:is_nether")
    
              ]
          );
    
          //Everything together
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:emerald_block'),[BlockPredicate.of('minecraft:sand'),BlockPredicate.of('minecraft:gravel')])
          .catalyst(BlockPredicate.of("minecraft:dirt"))
          .advanced(true)
          .consumeBlocks(true)
          .requirements(
              [
                  RecipeRequirement.minSpeed(16.0),
                  RecipeRequirement.minY(10),
                  RecipeRequirement.maxY(12),
                  RecipeRequirement.biomeTag("minecraft:is_nether")
    
              ]
          );
    
          // Funny things
          // Flower pots
          event.recipes.create_mechanical_extruder.extruding(Item.of('minecraft:glowstone'),[BlockPredicate.of('minecraft:potted_dandelion'),BlockPredicate.of('minecraft:potted_poppy')])




**Thanks to the Creators of Create.**

Code inspiration from the [Create](https://www.curseforge.com/minecraft/mc-mods/create "Create") mod itself.
Участники проекта
oierbravo

oierbravo

Разработчик

oierbravo_mc

oierbravo_mc