EnvironmentPacketGenerator class

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

Файл: com/hypixel/hytale/server/core/asset/type/environment/EnvironmentPacketGenerator.java

extends: AssetPacketGenerator<String, Environment, IndexedLookupTableAssetMap<String, Environment>>

Поля (9)

МодификаторыТипИмя
Map var3
UpdateEnvironments var4
UpdateEnvironments var4
UpdateEnvironments var4
String var7
String var7
int var7
int var8
int var8

Методы (7)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Unknown key! " + var7)
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("Unknown key! " + var6)
abstract throw new UnsupportedOperationExceptionthrow new UnsupportedOperationException("Environments can not handle partial init packets!!!")
for for(String var6 : var2)
if if(var8 == Integer.MIN_VALUE)
if if(var8 == Integer.MIN_VALUE)
if if(var7 == Integer.MIN_VALUE)

Исходный код

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

class="kw">import com.hypixel.hytale.assetstore.AssetUpdateQuery;
class="kw">import com.hypixel.hytale.assetstore.map.IndexedLookupTableAssetMap;
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.UpdateEnvironments;
class="kw">import com.hypixel.hytale.server.core.asset.packet.AssetPacketGenerator;
class="kw">import com.hypixel.hytale.server.core.asset.type.environment.config.Environment;
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 EnvironmentPacketGenerator class="kw">extends AssetPacketGenerator<String, Environment, IndexedLookupTableAssetMap<String, Environment>> {
   class="kw">public EnvironmentPacketGenerator() {
   }

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

      UpdateEnvironments var4 = new UpdateEnvironments();
      var4.type = UpdateType.Init;
      var4.environments = 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.environments.put(var8, var6.getValue().toPacket());
      }

      var4.maxId = var1.getNextIndex();
      var4.rebuildMapGeometry = true;
      class="kw">return var4;
   }

   @Nonnull
   class="kw">public ToClientPacket generateUpdatePacket(
      @Nonnull IndexedLookupTableAssetMap<String, Environment> var1, @Nonnull Map<String, Environment> var2, @Nonnull AssetUpdateQuery var3
   ) {
      UpdateEnvironments var4 = new UpdateEnvironments();
      var4.type = UpdateType.AddOrUpdate;
      var4.environments = 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.environments.put(var8, var6.getValue().toPacket());
      }

      var4.maxId = var1.getNextIndex();
      var4.rebuildMapGeometry = var3.getRebuildCache().isMapGeometry();
      class="kw">return var4;
   }

   @Nonnull
   class="kw">public ToClientPacket generateRemovePacket(
      @Nonnull IndexedLookupTableAssetMap<String, Environment> var1, @Nonnull Set<String> var2, @Nonnull AssetUpdateQuery var3
   ) {
      UpdateEnvironments var4 = new UpdateEnvironments();
      var4.type = UpdateType.Remove;
      var4.environments = new Int2ObjectOpenHashMap();

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

         var4.environments.put(var7, null);
      }

      var4.rebuildMapGeometry = var3.getRebuildCache().isMapGeometry();
      class="kw">return var4;
   }
}