ItemQualityPacketGenerator.java
package com.hypixel.hytale.server.core.modules.item;
import com.hypixel.hytale.assetstore.map.IndexedLookupTableAssetMap;
import com.hypixel.hytale.protocol.Packet;
import com.hypixel.hytale.protocol.UpdateType;
import com.hypixel.hytale.protocol.packets.assets.UpdateItemQualities;
import com.hypixel.hytale.server.core.asset.packet.SimpleAssetPacketGenerator;
import com.hypixel.hytale.server.core.asset.type.item.config.ItemQuality;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
import java.util.Map;
import java.util.Set;
import javax.annotation.Nonnull;
public class ItemQualityPacketGenerator extends SimpleAssetPacketGenerator<String, ItemQuality, IndexedLookupTableAssetMap<String, ItemQuality>> {
public ItemQualityPacketGenerator() {
}
@Nonnull
public Packet generateInitPacket(@Nonnull IndexedLookupTableAssetMap<String, ItemQuality> assetMap, @Nonnull Map<String, ItemQuality> assets) {
UpdateItemQualities packet = new UpdateItemQualities();
packet.type = UpdateType.Init;
packet.itemQualities = new Int2ObjectOpenHashMap();
(Map.Entry<String, ItemQuality> entry : assets.entrySet()) {
(String)entry.getKey();
assetMap.getIndex(key);
(index == -) {
( + key);
}
packet.itemQualities.put(index, ((ItemQuality)entry.getValue()).toPacket());
}
packet.maxId = assetMap.getNextIndex();
packet;
}
Packet {
();
packet.type = UpdateType.AddOrUpdate;
packet.itemQualities = ();
(Map.Entry<String, ItemQuality> entry : loadedAssets.entrySet()) {
(String)entry.getKey();
assetMap.getIndex(key);
(index == -) {
( + key);
}
packet.itemQualities.put(index, ((ItemQuality)entry.getValue()).toPacket());
}
packet.maxId = assetMap.getNextIndex();
packet;
}
Packet {
();
packet.type = UpdateType.Remove;
packet.itemQualities = ();
(String key : removed) {
assetMap.getIndex(key);
(index == -) {
( + key);
}
packet.itemQualities.put(index, (Object));
}
packet.maxId = assetMap.getNextIndex();
packet;
}
}