package com.hypixel.hytale.server.core.asset.packet;
import com.hypixel.hytale.assetstore.AssetMap;
import com.hypixel.hytale.assetstore.AssetUpdateQuery;
import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
import com.hypixel.hytale.protocol.Packet;
import java.util.Map;
import java.util.Set;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public abstract class SimpleAssetPacketGenerator<K, T extends JsonAssetWithMap<K, M>, M extends AssetMap<K, T>> extends AssetPacketGenerator<K, T, M> {
public SimpleAssetPacketGenerator() {
}
public abstract Packet generateInitPacket(M var1, Map<K, T> var2);
public Packet generateUpdatePacket(M assetMap, Map<K, T> loadedAssets, @Nonnull AssetUpdateQuery query) {
return this.generateUpdatePacket(assetMap, loadedAssets);
}
public Packet generateRemovePacket(M assetMap, Set<K> removed, @Nonnull AssetUpdateQuery query) {
return this.generateRemovePacket(assetMap, removed);
}
protected abstract Packet generateUpdatePacket(M var1, Map<K, T> var2);
@Nullable
protected abstract Packet generateRemovePacket(M var1, Set<K> var2);
}