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

package com.hypixel.hytale.codec.schema.metadata.ui;

import javax.annotation.Nonnull;
import com.hypixel.hytale.codec.schema.config.Schema;
import com.hypixel.hytale.codec.schema.metadata.Metadata;

public class UIRebuildCaches implements Metadata
{
    private final ClientCache[] caches;
    private final boolean appliesToChildProperties;
    
    public UIRebuildCaches(final ClientCache... caches) {
        this(true, caches);
    }
    
    public UIRebuildCaches(final boolean appliesToChildProperties, final ClientCache... caches) {
        this.caches = caches;
        this.appliesToChildProperties = appliesToChildProperties;
    }
    
    @Override
    public void modify(@Nonnull final Schema schema) {
        schema.getHytale().setUiRebuildCaches(this.caches);
        schema.getHytale().setUiRebuildCachesForChildProperties(this.appliesToChildProperties);
    }
    
    public enum ClientCache
    {
        BLOCK_TEXTURES, 
        MODELS, 
        MODEL_TEXTURES, 
        MAP_GEOMETRY, 
        ITEM_ICONS;
    }
}
