package com.amadornes.framez.compat.oc;
import li.cil.oc.api.driver.EnvironmentAware;
import li.cil.oc.api.network.Environment;
import li.cil.oc.api.network.ManagedEnvironment;
import li.cil.oc.api.prefab.DriverTileEntity;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import com.amadornes.framez.block.BlockMotor;
import com.amadornes.framez.tile.TileMotor;
public class DriverMotor extends DriverTileEntity implements EnvironmentAware {
@Override
public Class<?> getTileEntityClass() {
return TileMotor.class;
}
@Override
public ManagedEnvironment createEnvironment(World world, int x, int y, int z) {
TileEntity te = world.getTileEntity(x, y, z);
if (te != null && te instanceof TileMotor)
return new EnvironmentMotor((TileMotor) te);
return null;
}
@Override
public Class<? extends Environment> providedEnvironment(ItemStack stack) {
if (stack != null && Block.getBlockFromItem(stack.getItem()) instanceof BlockMotor)
return EnvironmentMotor.class;
return null;
}
}