BlockTypePacketGenerator class

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

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

extends: AssetPacketGenerator<String, BlockType, BlockTypeAssetMap<String, BlockType>>

Поля (14)

МодификаторыТипИмя
AssetUpdateQuery.RebuildCache var10
AssetUpdateQuery.RebuildCache var10
UpdateBlockTypes var3
Map var4
UpdateBlockTypes var4
UpdateBlockTypes var4
Map var5
Map var5
String var7
int var8
String var8
int var8
int var9
com.hypixel.hytale.protocol.BlockType var9

Методы (6)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Unknown key! " + var7)
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Unknown key! " + var8)
for for(String var7 : var2)
if if(var8 == Integer.MIN_VALUE)
if if(var9 == Integer.MIN_VALUE)
if if(var8 == Integer.MIN_VALUE)

Исходный код

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

class="kw">import com.hypixel.hytale.assetstore.AssetUpdateQuery;
class="kw">import com.hypixel.hytale.assetstore.map.BlockTypeAssetMap;
class="kw">import com.hypixel.hytale.protocol.CachedPacket;
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.UpdateBlockTypes;
class="kw">import com.hypixel.hytale.server.core.asset.packet.AssetPacketGenerator;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
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 BlockTypePacketGenerator class="kw">extends AssetPacketGenerator<String, BlockType, BlockTypeAssetMap<String, BlockType>> {
   class="kw">public BlockTypePacketGenerator() {
   }

   @Nonnull
   class="kw">public ToClientPacket generateInitPacket(@Nonnull BlockTypeAssetMap<String, BlockType> var1, @Nonnull Map<String, BlockType> var2) {
      UpdateBlockTypes var3 = new UpdateBlockTypes();
      var3.type = UpdateType.Init;
      Map var4 = new Int2ObjectOpenHashMap();

      for (Entry var6 : var2.entrySet()) {
         String var7 = var6.getKey();
         int var8 = var1.getIndex(var7);
         if (var8 == Integer.MIN_VALUE) {
            throw new IllegalArgumentException("Unknown key! " + var7);
         }

         var4.put(var8, var6.getValue().toPacket());
      }

      var3.blockTypes = var4;
      var3.maxId = var1.getNextIndex();
      var3.updateBlockTextures = true;
      var3.updateModels = true;
      var3.updateModelTextures = true;
      var3.updateMapGeometry = true;
      class="kw">return var3;
   }

   @Nonnull
   class="kw">public ToClientPacket generateUpdatePacket(
      @Nonnull BlockTypeAssetMap<String, BlockType> var1, @Nonnull Map<String, BlockType> var2, @Nonnull AssetUpdateQuery var3
   ) {
      UpdateBlockTypes var4 = new UpdateBlockTypes();
      var4.type = UpdateType.AddOrUpdate;
      Map var5 = new Int2ObjectOpenHashMap();

      for (Entry var7 : var2.entrySet()) {
         String var8 = var7.getKey();
         int var9 = var1.getIndex(var8);
         if (var9 == Integer.MIN_VALUE) {
            throw new IllegalArgumentException("Unknown key! " + var8);
         }

         var5.put(var9, var7.getValue().toPacket());
      }

      var4.blockTypes = var5;
      var4.maxId = var1.getNextIndex();
      AssetUpdateQuery.RebuildCache var10 = var3.getRebuildCache();
      var4.updateBlockTextures = var10.isBlockTextures();
      var4.updateModelTextures = var10.isModelTextures();
      var4.updateModels = var10.isModels();
      var4.updateMapGeometry = var10.isMapGeometry();
      class="kw">return CachedPacket.cache(var4);
   }

   @Nonnull
   class="kw">public ToClientPacket generateRemovePacket(@Nonnull BlockTypeAssetMap<String, BlockType> var1, @Nonnull Set<String> var2, @Nonnull AssetUpdateQuery var3) {
      UpdateBlockTypes var4 = new UpdateBlockTypes();
      var4.type = UpdateType.Remove;
      Map var5 = new Int2ObjectOpenHashMap();

      for (String var7 : var2) {
         int var8 = var1.getIndex(var7);
         if (var8 == Integer.MIN_VALUE) {
            throw new IllegalArgumentException("Unknown key! " + var7);
         }

         com.hypixel.hytale.protocol.BlockType var9 = new com.hypixel.hytale.protocol.BlockType();
         var9.name = var7;
         var5.put(var8, var9);
      }

      var4.blockTypes = var5;
      AssetUpdateQuery.RebuildCache var10 = var3.getRebuildCache();
      var4.updateBlockTextures = var10.isBlockTextures();
      var4.updateModels = var10.isModels();
      var4.updateModelTextures = var10.isModelTextures();
      var4.updateMapGeometry = var10.isMapGeometry();
      class="kw">return CachedPacket.cache(var4);
   }
}