BlockGroupPacketGenerator class

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

Файл: com/hypixel/hytale/server/core/asset/type/blocktype/BlockGroupPacketGenerator.java

extends: DefaultAssetPacketGenerator<String, BlockGroup>

Поля (3)

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

Методы (1)

МодификаторыВозвратСигнатура
for for(String var4 : var1)

Исходный код

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

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.UpdateBlockGroups;
class="kw">import com.hypixel.hytale.server.core.asset.packet.DefaultAssetPacketGenerator;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.BlockGroup;
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 java.util.stream.Collectors;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BlockGroupPacketGenerator class="kw">extends DefaultAssetPacketGenerator<String, BlockGroup> {
   class="kw">public BlockGroupPacketGenerator() {
   }

   @Nonnull
   @Override
   class="kw">public ToClientPacket generateInitPacket(@Nonnull DefaultAssetMap<String, BlockGroup> var1, Map<String, BlockGroup> var2) {
      UpdateBlockGroups var3 = new UpdateBlockGroups();
      var3.type = UpdateType.Init;
      var3.groups = var1.getAssetMap().entrySet().stream().collect(Collectors.toMap(Entry::getKey, var0 -> var0.getValue().toPacket()));
      class="kw">return var3;
   }

   @Nonnull
   @Override
   class="kw">public ToClientPacket generateUpdatePacket(@Nonnull Map<String, BlockGroup> var1) {
      UpdateBlockGroups var2 = new UpdateBlockGroups();
      var2.type = UpdateType.AddOrUpdate;
      var2.groups = var1.entrySet().stream().collect(Collectors.toMap(Entry::getKey, var0 -> var0.getValue().toPacket()));
      class="kw">return var2;
   }

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

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

      class="kw">return var2;
   }
}