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

package com.hypixel.hytale.component.data.unknown;

import java.util.function.Function;
import com.hypixel.hytale.codec.function.FunctionCodec;
import org.bson.BsonDocument;
import javax.annotation.Nonnull;
import com.hypixel.hytale.codec.Codec;
import com.hypixel.hytale.component.Component;

public class TempUnknownComponent<ECS_TYPE> implements Component<ECS_TYPE>
{
    @Nonnull
    public static final Codec<Component> COMPONENT_CODEC;
    @Nonnull
    private final BsonDocument document;
    
    public TempUnknownComponent(@Nonnull final BsonDocument document) {
        this.document = document;
    }
    
    @Nonnull
    public BsonDocument getDocument() {
        return this.document;
    }
    
    @Nonnull
    @Override
    public Component<ECS_TYPE> clone() {
        return new TempUnknownComponent(this.document.clone());
    }
    
    static {
        COMPONENT_CODEC = new FunctionCodec<Object, Component>((Codec<?>)Codec.BSON_DOCUMENT, (Function<?, Component>)TempUnknownComponent::new, component -> ((TempUnknownComponent)component).document);
    }
}
