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

package com.hypixel.hytale.registry;

import javax.annotation.Nonnull;
import java.util.function.BooleanSupplier;

public class Registration
{
    @Nonnull
    protected final BooleanSupplier isEnabled;
    @Nonnull
    protected final Runnable unregister;
    private boolean registered;
    
    public Registration(@Nonnull final BooleanSupplier isEnabled, @Nonnull final Runnable unregister) {
        this.registered = true;
        this.isEnabled = isEnabled;
        this.unregister = unregister;
    }
    
    public void unregister() {
        if (this.registered && this.isEnabled.getAsBoolean()) {
            this.unregister.run();
        }
        this.registered = false;
    }
    
    public boolean isRegistered() {
        return this.registered && this.isEnabled.getAsBoolean();
    }
    
    @Nonnull
    @Override
    public String toString() {
        return "Registration{isEnabled=" + String.valueOf(this.isEnabled) + ", unregister=" + String.valueOf(this.unregister) + ", registered=" + this.registered;
    }
}
