ItemPacketGenerator.java
package com.hypixel.hytale.server.core.modules.item;
import com.hypixel.hytale.assetstore.AssetUpdateQuery;
import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
import com.hypixel.hytale.protocol.ItemBase;
import com.hypixel.hytale.protocol.Packet;
import com.hypixel.hytale.protocol.UpdateType;
import com.hypixel.hytale.protocol.packets.assets.UpdateItems;
import com.hypixel.hytale.server.core.asset.packet.AssetPacketGenerator;
import com.hypixel.hytale.server.core.asset.type.item.config.Item;
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
import java.util.Map;
import java.util.Set;
import javax.annotation.Nonnull;
public class ItemPacketGenerator extends AssetPacketGenerator<String, Item, DefaultAssetMap<String, Item>> {
public ItemPacketGenerator() {
}
@Nonnull
public Packet generateInitPacket(DefaultAssetMap<String, Item> assetMap, @Nonnull Map<String, Item> assets) {
UpdateItems packet = new UpdateItems();
packet.type = UpdateType.Init;
packet.items = new Object2ObjectOpenHashMap<String, ItemBase>();
(Map.Entry<String, Item> entry : assets.entrySet()) {
packet.items.put((String)entry.getKey(), ((Item)entry.getValue()).toPacket());
}
packet.updateModels = ;
packet.updateIcons = ;
packet;
}
Packet {
();
packet.type = UpdateType.AddOrUpdate;
packet.items = <String, ItemBase>();
(Map.Entry<String, Item> entry : loadedAssets.entrySet()) {
packet.items.put((String)entry.getKey(), ((Item)entry.getValue()).toPacket());
}
AssetUpdateQuery. query.getRebuildCache();
packet.updateModels = rebuildCache.isBlockTextures() || rebuildCache.isModels();
packet.updateIcons = rebuildCache.isItemIcons();
packet;
}
Packet {
();
packet.type = UpdateType.Remove;
packet.removedItems = (String[])removed.toArray((x$) -> [x$]);
AssetUpdateQuery. query.getRebuildCache();
packet.updateModels = rebuildCache.isBlockTextures() || rebuildCache.isModels();
packet.updateIcons = rebuildCache.isItemIcons();
packet;
}
}