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

package com.hypixel.hytale.builtin.asseteditor.util;

import com.hypixel.hytale.assetstore.map.LookupTableAssetMap;
import com.hypixel.hytale.assetstore.map.IndexedLookupTableAssetMap;
import com.hypixel.hytale.assetstore.map.BlockTypeAssetMap;
import com.hypixel.hytale.assetstore.AssetMap;
import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
import javax.annotation.Nonnull;
import com.hypixel.hytale.assetstore.AssetStore;

public class AssetStoreUtil
{
    @Deprecated
    public static <K, T extends JsonAssetWithMap<K, M>, M extends AssetMap<K, T>> String getIdFromIndex(@Nonnull final AssetStore<K, T, M> assetStore, final int assetIndex) {
        final M assetMap = assetStore.getAssetMap();
        if (assetMap instanceof final BlockTypeAssetMap blockTypeAssetMap) {
            return blockTypeAssetMap.getAsset(assetIndex).getId().toString();
        }
        if (assetMap instanceof final IndexedLookupTableAssetMap indexedLookupTableAssetMap) {
            return indexedLookupTableAssetMap.getAsset(assetIndex).getId().toString();
        }
        if (assetMap instanceof final LookupTableAssetMap lookupTableAssetMap) {
            return lookupTableAssetMap.getAsset(assetIndex).getId().toString();
        }
        throw new IllegalArgumentException("Asset can't be looked up by index! " + assetIndex);
    }
}
