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

package com.hypixel.hytale.server.npc;

import it.unimi.dsi.fastutil.ints.Int2ObjectMaps;
import java.util.Objects;
import javax.annotation.Nonnull;
import com.hypixel.hytale.server.npc.asset.builder.BuilderInfo;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import com.hypixel.hytale.event.IEvent;

public class AllNPCsLoadedEvent implements IEvent<Void>
{
    @Nonnull
    private final Int2ObjectMap<BuilderInfo> allNPCs;
    @Nonnull
    private final Int2ObjectMap<BuilderInfo> loadedNPCs;
    
    public AllNPCsLoadedEvent(@Nonnull final Int2ObjectMap<BuilderInfo> allNPCs, @Nonnull final Int2ObjectMap<BuilderInfo> loadedNPCs) {
        Objects.requireNonNull(allNPCs, "Map of all NPCs must not be empty in AllNPCsLoadedEvent");
        Objects.requireNonNull(loadedNPCs, "Map of loaded NPCs must not be empty in AllNPCsLoadedEvent");
        this.allNPCs = Int2ObjectMaps.unmodifiable((Int2ObjectMap<? extends BuilderInfo>)allNPCs);
        this.loadedNPCs = Int2ObjectMaps.unmodifiable((Int2ObjectMap<? extends BuilderInfo>)loadedNPCs);
    }
    
    @Nonnull
    public Int2ObjectMap<BuilderInfo> getAllNPCs() {
        return this.allNPCs;
    }
    
    @Nonnull
    public Int2ObjectMap<BuilderInfo> getLoadedNPCs() {
        return this.loadedNPCs;
    }
    
    @Nonnull
    @Override
    public String toString() {
        return "AllNPCsLoadedEvent{allNPCs=" + String.valueOf(this.allNPCs) + ", loadedNPCs=" + String.valueOf(this.loadedNPCs);
    }
}
