package net.minecraft.command.type.base;
import net.minecraft.command.SyntaxErrorException;
import net.minecraft.command.arg.ArgWrapper;
import net.minecraft.command.completion.ProviderCompleter;
import net.minecraft.command.parser.Context;
import net.minecraft.command.parser.Parser;
import net.minecraft.command.type.CListProvider;
import net.minecraft.command.type.CTypeParse;
import net.minecraft.command.type.IComplete;
import net.minecraft.command.type.IDataType;
import net.minecraft.command.type.metadata.ICompletable;
public class CompoundType<R> extends CTypeParse<R>
{
private final IDataType<ArgWrapper<R>> tParser;
public CompoundType(final IDataType<ArgWrapper<R>> tParser, final IComplete completer)
{
this.tParser = tParser;
this.addEntry(new ICompletable.Default(completer));
}
public CompoundType(final IDataType<ArgWrapper<R>> tParser, final CListProvider provider)
{
this(tParser, new ProviderCompleter(provider));
}
@Override
public ArgWrapper<R> iParse(final Parser parser, final Context context) throws SyntaxErrorException
{
return this.tParser.parse(parser, context);
}
}