// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.server.core.command.system;

import java.util.function.BooleanSupplier;
import javax.annotation.Nonnull;
import com.hypixel.hytale.function.consumer.BooleanConsumer;
import java.util.List;
import com.hypixel.hytale.server.core.plugin.PluginBase;
import com.hypixel.hytale.registry.Registry;

public class CommandRegistry extends Registry<CommandRegistration>
{
    private final PluginBase plugin;
    
    public CommandRegistry(@Nonnull final List<BooleanConsumer> registrations, final BooleanSupplier precondition, final String preconditionMessage, final PluginBase plugin) {
        super(registrations, precondition, preconditionMessage, CommandRegistration::new);
        this.plugin = plugin;
    }
    
    public CommandRegistration registerCommand(@Nonnull final AbstractCommand command) {
        this.checkPrecondition();
        if (this.plugin != null) {
            command.setOwner(this.plugin);
        }
        return this.register(CommandManager.get().register(command));
    }
}
