> For the complete documentation index, see [llms.txt](https://gblodb.gitbook.io/requiousfrakto-ch-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gblodb.gitbook.io/requiousfrakto-ch-wiki/advanced/world-require.md).

# \[细节] 世界条件

世界需求可以使你根据世界内的不同以决定机器工作与否

## 导包

`import requious.fluid.IWorldFunction;`

## 调用

需要在 function 里返回一个 bool (返回 `true` 代表可以工作, `false` 代表不可以工作)

```csharp
AssemblyRecipeObj.requireWorldCondition("group", function(machineContainer) {
    return true;
});
```

## 上述的函数中 `machineContainer` 是什么?

此为 [MachineContainer](/requiousfrakto-ch-wiki/advanced/machine-container.md) 类的实例

* 例子

```csharp
import mods.requious.AssemblyRecipe;
import crafttweaker.world.IFacing;
import crafttweaker.world.IWorld;
import crafttweaker.world.IBlockPos;

var recipe = AssemblyRecipe.create(function(container) {
    container.addItemOutput("output", <minecraft:iron_ingot>);
}).requireWorldCondition("world_condition", function(machineContainer) {
    var world as IWorld = machineContainer.world;
    var pos as IBlockPos = machineContainer.pos;
    if(!world.remote && world.getBlockState(pos.getOffset(IFacing.down(), 1)) == <blockstate:minecraft:stone>){
        return true;
    }
    return false;
}, 1);

// 然后把这个配方添加到机器里 (addRecipe)
```
