ChunkSpawnedNPCData class

Пакет: com.hypixel.hytale.server.spawning.world.component

Файл: com/hypixel/hytale/server/spawning/world/component/ChunkSpawnedNPCData.java

implements: Component<ChunkStore>

Поля (12)

МодификаторыТипИмя
final BuilderCodec<ChunkSpawnedNPCData> CODEC
Object2DoubleOpenHashMap var1
ChunkSpawnedNPCData var1
IndexedLookupTableAssetMap var2
Iterator var3
Iterator var3
Entry var4
it.unimi.dsi.fastutil.ints.Int2DoubleMap.Entry var4
String var5
Environment var5
int var6
String var6

Методы (3)

МодификаторыВозвратСигнатура
static ComponentType<ChunkStore, ChunkSpawnedNPCData> getComponentTypeComponentType<ChunkStore, ChunkSpawnedNPCData> getComponentType()
public double getEnvironmentSpawnCountdouble getEnvironmentSpawnCount(int var1)
public void setEnvironmentSpawnCountvoid setEnvironmentSpawnCount(int var1, double var2)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.spawning.world.component;

class="kw">import com.hypixel.hytale.assetstore.map.IndexedLookupTableAssetMap;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.map.Object2DoubleMapCodec;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.server.core.asset.type.environment.config.Environment;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import com.hypixel.hytale.server.spawning.SpawningPlugin;
class="kw">import it.unimi.dsi.fastutil.ints.Int2DoubleMap;
class="kw">import it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap;
class="kw">import it.unimi.dsi.fastutil.objects.Object2DoubleOpenHashMap;
class="kw">import it.unimi.dsi.fastutil.objects.Object2DoubleMap.Entry;
class="kw">import java.util.Iterator;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ChunkSpawnedNPCData class="kw">implements Component<ChunkStore> {
   class="kw">public class="kw">static class="kw">final BuilderCodec<ChunkSpawnedNPCData> CODEC = BuilderCodec.builder(ChunkSpawnedNPCData.class, ChunkSpawnedNPCData::new)
      .append(new KeyedCodec<>("EnvironmentSpawnCounts", new Object2DoubleMapCodec<>(Codec.STRING, Object2DoubleOpenHashMap::new, false)), (var0, var1) -> {
         Int2DoubleMap var2 = var0.environmentSpawnCounts;
         var2.clear();
         Iterator var3 = var1.object2DoubleEntrySet().iterator();

         while (var3.hasNext()) {
            Entry var4 = (Entry<String>)var3.next();
            String var5 = (String)var4.getKey();
            int var6 = Environment.getIndexOrUnknown(var5, "Failed to find environment '%s' while deserializing spawned NPC data", var5);
            var2.put(var6, var4.getDoubleValue());
         }
      }, var0 -> {
         Object2DoubleOpenHashMap var1 = new Object2DoubleOpenHashMap();
         IndexedLookupTableAssetMap var2 = Environment.getAssetMap();
         Iterator var3 = var0.environmentSpawnCounts.int2DoubleEntrySet().iterator();

         while (var3.hasNext()) {
            it.unimi.dsi.fastutil.ints.Int2DoubleMap.Entry var4 = (it.unimi.dsi.fastutil.ints.Int2DoubleMap.Entry)var3.next();
            Environment var5 = var2.getAsset(var4.getIntKey());
            String var6 = var5 != null ? var5.getId() : Environment.UNKNOWN.getId();
            var1.put(var6, var4.getDoubleValue());
         }

         class="kw">return var1;
      })
      .add()
      .build();
   class="kw">private class="kw">final Int2DoubleMap environmentSpawnCounts = new Int2DoubleOpenHashMap();

   class="kw">public ChunkSpawnedNPCData() {
   }

   class="kw">public class="kw">static ComponentType<ChunkStore, ChunkSpawnedNPCData> getComponentType() {
      class="kw">return SpawningPlugin.get().getChunkSpawnedNPCDataComponentType();
   }

   class="kw">public double getEnvironmentSpawnCount(int var1) {
      class="kw">return this.environmentSpawnCounts.get(var1);
   }

   class="kw">public void setEnvironmentSpawnCount(int var1, double var2) {
      this.environmentSpawnCounts.put(var1, var2);
   }

   @Nonnull
   @Override
   class="kw">public Component<ChunkStore> clone() {
      ChunkSpawnedNPCData var1 = new ChunkSpawnedNPCData();
      var1.environmentSpawnCounts.putAll(this.environmentSpawnCounts);
      class="kw">return var1;
   }
}