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

package com.hypixel.hytale.component;

import java.util.function.Supplier;
import com.hypixel.hytale.codec.builder.BuilderCodec;
import javax.annotation.Nullable;
import javax.annotation.Nonnull;

record ComponentRegistration<ECS_TYPE, T extends Component<ECS_TYPE>>(@Nonnull Class<? super T> typeClass, @Nullable String id, @Nullable BuilderCodec<T> codec, @Nonnull Supplier<T> supplier, @Nonnull ComponentType<ECS_TYPE, T> componentType) {
    @Nonnull
    public Class<? super T> typeClass() {
        return this.typeClass;
    }
    
    @Nullable
    public String id() {
        return this.id;
    }
    
    @Nullable
    public BuilderCodec<T> codec() {
        return this.codec;
    }
    
    @Nonnull
    public Supplier<T> supplier() {
        return this.supplier;
    }
    
    @Nonnull
    public ComponentType<ECS_TYPE, T> componentType() {
        return this.componentType;
    }
}
