PersistentFlockData class

Пакет: com.hypixel.hytale.server.flock

Файл: com/hypixel/hytale/server/flock/PersistentFlockData.java

implements: Component<EntityStore>

Поля (4)

МодификаторыТипИмя
final BuilderCodec<PersistentFlockData> CODEC
PersistentFlockData var1
String[] var3
ObjectArrayList var4

Методы (8)

МодификаторыВозвратСигнатура
public void decreaseSizevoid decreaseSize()
for for(String var8 : var3)
static ComponentType<EntityStore, PersistentFlockData> getComponentTypeComponentType<EntityStore, PersistentFlockData> getComponentType()
public int getMaxGrowSizeint getMaxGrowSize()
if if(var1 != null)
if if(var3.length > 0 && this.flockAllowedRoles.length > 0)
public void increaseSizevoid increaseSize()
public boolean isFlockAllowedRoleboolean isFlockAllowedRole(String var1)

Исходный код

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

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.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.flock.config.FlockAsset;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.Arrays;
class="kw">import java.util.Collections;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class PersistentFlockData class="kw">implements Component<EntityStore> {
   class="kw">public class="kw">static class="kw">final BuilderCodec<PersistentFlockData> CODEC = BuilderCodec.builder(PersistentFlockData.class, PersistentFlockData::new)
      .append(new KeyedCodec<>("MaxGrowSize", Codec.INTEGER), (var0, var1) -> var0.maxGrowSize = var1, var0 -> var0.maxGrowSize)
      .add()
      .append(new KeyedCodec<>("AllowedRoles", Codec.STRING_ARRAY), (var0, var1) -> var0.flockAllowedRoles = var1, var0 -> var0.flockAllowedRoles)
      .add()
      .append(new KeyedCodec<>("Size", Codec.INTEGER), (var0, var1) -> var0.size = var1, var0 -> var0.size)
      .add()
      .build();
   class="kw">private int maxGrowSize = Integer.MAX_VALUE;
   class="kw">private String[] flockAllowedRoles = ArrayUtil.EMPTY_STRING_ARRAY;
   class="kw">private int size;

   class="kw">public class="kw">static ComponentType<EntityStore, PersistentFlockData> getComponentType() {
      class="kw">return FlockPlugin.get().getPersistentFlockDataComponentType();
   }

   class="kw">public PersistentFlockData(@Nullable FlockAsset var1, @Nonnull String[] var2) {
      this.flockAllowedRoles = var2;
      Arrays.sort(this.flockAllowedRoles);
      if (var1 != null) {
         this.maxGrowSize = var1.getMaxGrowSize();
         String[] var3 = var1.getBlockedRoles();
         if (var3.length > 0 && this.flockAllowedRoles.length > 0) {
            ObjectArrayList var4 = new ObjectArrayList(this.flockAllowedRoles.length);
            Collections.addAll(var4, this.flockAllowedRoles);

            for (String var8 : var3) {
               var4.remove(var8);
            }

            this.flockAllowedRoles = (String[])var4.toArray(String[]::new);
         }
      }
   }

   class="kw">private PersistentFlockData() {
   }

   class="kw">public int getMaxGrowSize() {
      class="kw">return this.maxGrowSize;
   }

   class="kw">public boolean isFlockAllowedRole(String var1) {
      class="kw">return Arrays.binarySearch(this.flockAllowedRoles, var1) >= 0;
   }

   class="kw">public void increaseSize() {
      this.size++;
   }

   class="kw">public void decreaseSize() {
      this.size--;
   }

   @Nonnull
   @Override
   class="kw">public Component<EntityStore> clone() {
      PersistentFlockData var1 = new PersistentFlockData();
      var1.maxGrowSize = this.maxGrowSize;
      var1.flockAllowedRoles = this.flockAllowedRoles;
      var1.size = this.size;
      class="kw">return var1;
   }
}