package net.minecraft.command.construction;
import java.util.Set;
import net.minecraft.command.construction.CommandDescriptorDefault.CParserData;
import net.minecraft.command.type.IDataType;
import net.minecraft.command.type.IExParse;
public interface ICommandConstructor
{
public Set<CommandProtoDescriptor> baseCommands();
public Set<CommandProtoDescriptor> ends();
public ICommandConstructor then(final IExParse<Void, ? super CParserData> arg);
public ICommandConstructor then(final IDataType<?> arg);
public ICommandConstructor sub(final ICommandConstructor... subCommands);
public P sub(final P... subCommands);
public C sub(final C... subCommands);
public CP sub(final CP... subCommands);
public ICommandConstructor optional(final IExParse<Void, ? super CParserData> arg);
public ICommandConstructor optional(final IDataType<?> arg);
public ICommandConstructor optional(final IExParse<Void, ? super CParserData> arg, final CommandConstructable constructable);
public ICommandConstructor optional(final IDataType<?> arg, final CommandConstructable constructable);
public ICommandConstructor optional(final ICommandConstructor... commands);
public static interface P extends ICommandConstructor
{
@Override
public P then(final IExParse<Void, ? super CParserData> arg);
@Override
public P then(final IDataType<?> arg);
@Override
public P sub(final ICommandConstructor... subCommands);
@Override
public CP sub(final C... subCommands);
@Override
public P optional(final IExParse<Void, ? super CParserData> arg);
@Override
public P optional(final IDataType<?> arg);
@Override
public P optional(final IExParse<Void, ? super CParserData> arg, final CommandConstructable constructable);
@Override
public P optional(final IDataType<?> arg, final CommandConstructable constructable);
@Override
public P optional(final ICommandConstructor... commands);
}
public static interface C extends ICommandConstructor
{
@Override
public C then(final IExParse<Void, ? super CParserData> arg);
@Override
public C then(final IDataType<?> arg);
@Override
public C sub(final ICommandConstructor... subCommands);
@Override
public CP sub(final P... subCommands);
@Override
public C optional(final IExParse<Void, ? super CParserData> arg);
@Override
public C optional(final IDataType<?> arg);
@Override
public C optional(final IExParse<Void, ? super CParserData> arg, final CommandConstructable constructable);
@Override
public C optional(final IDataType<?> arg, final CommandConstructable constructable);
@Override
public C optional(final ICommandConstructor... commands);
}
public static interface U extends ICommandConstructor
{
@Override
public U then(final IExParse<Void, ? super CParserData> arg);
@Override
public U then(final IDataType<?> arg);
@Override
public U sub(final ICommandConstructor... subCommands);
@Override
public PU sub(final P... subCommands);
@Override
public CU sub(final C... subCommands);
@Override
public CPU sub(final CP... subCommands);
@Override
public U optional(final IExParse<Void, ? super CParserData> arg);
@Override
public U optional(final IDataType<?> arg);
@Override
public U optional(final IExParse<Void, ? super CParserData> arg, final CommandConstructable constructable);
@Override
public U optional(final IDataType<?> arg, final CommandConstructable constructable);
@Override
public U optional(final ICommandConstructor... commands);
}
public static interface CP extends P, C
{
@Override
public CP then(final IExParse<Void, ? super CParserData> arg);
@Override
public CP then(final IDataType<?> arg);
@Override
public CP sub(final ICommandConstructor... subCommands);
@Override
public CP optional(final IExParse<Void, ? super CParserData> arg);
@Override
public CP optional(final IDataType<?> arg);
@Override
public CP optional(final IExParse<Void, ? super CParserData> arg, final CommandConstructable constructable);
@Override
public CP optional(final IDataType<?> arg, final CommandConstructable constructable);
@Override
public CP optional(final ICommandConstructor... commands);
}
public static interface PU extends P, U
{
@Override
public PU then(final IExParse<Void, ? super CParserData> arg);
@Override
public PU then(final IDataType<?> arg);
@Override
public PU sub(final ICommandConstructor... subCommands);
@Override
public CPU sub(final C... subCommands);
@Override
public PU optional(final IExParse<Void, ? super CParserData> arg);
@Override
public PU optional(final IDataType<?> arg);
@Override
public PU optional(final IExParse<Void, ? super CParserData> arg, final CommandConstructable constructable);
@Override
public PU optional(final IDataType<?> arg, final CommandConstructable constructable);
@Override
public PU optional(final ICommandConstructor... commands);
}
public static interface CU extends C, U
{
@Override
public CU then(final IExParse<Void, ? super CParserData> arg);
@Override
public CU then(final IDataType<?> arg);
@Override
public CU sub(final ICommandConstructor... subCommands);
@Override
public CPU sub(final P... subCommands);
@Override
public CU optional(final IExParse<Void, ? super CParserData> arg);
@Override
public CU optional(final IDataType<?> arg);
@Override
public CU optional(final IExParse<Void, ? super CParserData> arg, final CommandConstructable constructable);
@Override
public CU optional(final IDataType<?> arg, final CommandConstructable constructable);
@Override
public CU optional(final ICommandConstructor... commands);
}
public static interface CPU extends PU, CU, CP
{
@Override
public CPU then(final IExParse<Void, ? super CParserData> arg);
@Override
public CPU then(final IDataType<?> arg);
@Override
public CPU sub(final ICommandConstructor... subCommands);
@Override
public CPU optional(final IExParse<Void, ? super CParserData> arg);
@Override
public CPU optional(final IDataType<?> arg);
@Override
public CPU optional(final IExParse<Void, ? super CParserData> arg, final CommandConstructable constructable);
@Override
public CPU optional(final IDataType<?> arg, final CommandConstructable constructable);
@Override
public CPU optional(final ICommandConstructor... commands);
}
}