ResourceTypePacketGenerator class

Пакет: com.hypixel.hytale.server.core.asset.type.item

Файл: com/hypixel/hytale/server/core/asset/type/item/ResourceTypePacketGenerator.java

extends: DefaultAssetPacketGenerator<String, ResourceType>

Поля (4)

МодификаторыТипИмя
UpdateResourceTypes var2
UpdateResourceTypes var2
Map var3
UpdateResourceTypes var4

Методы (2)

МодификаторыВозвратСигнатура
abstract throw new UnsupportedOperationExceptionthrow new UnsupportedOperationException("Resource types can not handle partial init packets!!!")
for for(String var4 : var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.item;

class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.protocol.ToClientPacket;
class="kw">import com.hypixel.hytale.protocol.UpdateType;
class="kw">import com.hypixel.hytale.protocol.packets.assets.UpdateResourceTypes;
class="kw">import com.hypixel.hytale.server.core.asset.packet.DefaultAssetPacketGenerator;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.ResourceType;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import java.util.Map.Entry;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ResourceTypePacketGenerator class="kw">extends DefaultAssetPacketGenerator<String, ResourceType> {
   class="kw">public ResourceTypePacketGenerator() {
   }

   @Nonnull
   @Override
   class="kw">public ToClientPacket generateInitPacket(@Nonnull DefaultAssetMap<String, ResourceType> var1, @Nonnull Map<String, ResourceType> var2) {
      Map var3 = var1.getAssetMap();
      if (var2.size() != var3.size()) {
         throw new UnsupportedOperationException("Resource types can not handle partial init packets!!!");
      }

      UpdateResourceTypes var4 = new UpdateResourceTypes();
      var4.type = UpdateType.Init;
      var4.resourceTypes = new Object2ObjectOpenHashMap();

      for (Entry var6 : var2.entrySet()) {
         var4.resourceTypes.put(var6.getKey(), var6.getValue().toPacket());
      }

      class="kw">return var4;
   }

   @Nonnull
   @Override
   class="kw">public ToClientPacket generateUpdatePacket(@Nonnull Map<String, ResourceType> var1) {
      UpdateResourceTypes var2 = new UpdateResourceTypes();
      var2.type = UpdateType.AddOrUpdate;
      var2.resourceTypes = new Object2ObjectOpenHashMap();

      for (Entry var4 : var1.entrySet()) {
         var2.resourceTypes.put(var4.getKey(), var4.getValue().toPacket());
      }

      class="kw">return var2;
   }

   @Nonnull
   @Override
   class="kw">public ToClientPacket generateRemovePacket(@Nonnull Set<String> var1) {
      UpdateResourceTypes var2 = new UpdateResourceTypes();
      var2.type = UpdateType.Remove;
      var2.resourceTypes = new Object2ObjectOpenHashMap();

      for (String var4 : var1) {
         var2.resourceTypes.put(var4, null);
      }

      class="kw">return var2;
   }
}