AugmentBlock class

Пакет: com.hypixel.hytale.builtin.augmentblocks

Файл: com/hypixel/hytale/builtin/augmentblocks/AugmentBlock.java

implements: Component<ChunkStore>

Поля (3)

МодификаторыТипИмя
final BuilderCodec<AugmentBlock> CODEC
boolean var3
AugmentBlockUpgradeLevel var4

Методы (13)

МодификаторыВозвратСигнатура
public boolean collectGrantedAugmentTagsboolean collectGrantedAugmentTags(@Nonnull Set<String> var1, @Nonnull Set<String> var2)
static boolean containsAllboolean containsAll(@Nonnull Set<String> var0, @Nonnull String[] var1)
for for(String var12 : this.grantsAugmentTags)
for for(String var5 : var1)
static ComponentType<ChunkStore, AugmentBlock> getComponentTypeComponentType<ChunkStore, AugmentBlock> getComponentType()
public int getCurrentLevelint getCurrentLevel()
public String[] getGrantsAugmentTagsString[] getGrantsAugmentTags()
public int getMaxLevelint getMaxLevel()
public int getProgressionLevelOffsetint getProgressionLevelOffset()
public double getRadiusdouble getRadius()
if if(this.currentLevel == 0)
public boolean isMaxedboolean isMaxed()
public void setCurrentLevelvoid setCurrentLevel(int var1)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.augmentblocks.config.AugmentBlockUpgradeLevel;
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.array.ArrayCodec;
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.ChunkStore;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class AugmentBlock class="kw">implements Component<ChunkStore> {
   class="kw">public class="kw">static class="kw">final BuilderCodec<AugmentBlock> CODEC = BuilderCodec.builder(AugmentBlock.class, AugmentBlock::new)
      .append(
         new KeyedCodec<>("Upgrades", new ArrayCodec<>(AugmentBlockUpgradeLevel.CODEC, AugmentBlockUpgradeLevel[]::new)),
         (var0, var1) -> var0.upgrades = var1,
         var0 -> var0.upgrades
      )
      .add()
      .append(new KeyedCodec<>("CurrentLevel", Codec.INTEGER), (var0, var1) -> var0.currentLevel = var1, var0 -> var0.currentLevel)
      .add()
      .append(new KeyedCodec<>("GrantsAugmentTags", Codec.STRING_ARRAY), (var0, var1) -> var0.grantsAugmentTags = var1, var0 -> var0.grantsAugmentTags)
      .add()
      .append(new KeyedCodec<>("Radius", Codec.DOUBLE), (var0, var1) -> var0.radius = var1, var0 -> var0.radius)
      .add()
      .append(new KeyedCodec<>("ProgressionKey", Codec.STRING), (var0, var1) -> var0.progressionKey = var1, var0 -> var0.progressionKey)
      .add()
      .append(
         new KeyedCodec<>("ProgressionLevelOffset", Codec.INTEGER), (var0, var1) -> var0.progressionLevelOffset = var1, var0 -> var0.progressionLevelOffset
      )
      .add()
      .build();
   class="kw">private class="kw">static class="kw">final String[] EMPTY_STRING_ARRAY = new String[0];
   class="kw">private class="kw">static class="kw">final double DEFAULT_RADIUS = 100.0;
   class="kw">private AugmentBlockUpgradeLevel[] upgrades = AugmentBlockUpgradeLevel.EMPTY_ARRAY;
   class="kw">private int currentLevel = 0;
   class="kw">private String[] grantsAugmentTags = EMPTY_STRING_ARRAY;
   class="kw">private double radius = 100.0;
   @Nullable
   class="kw">private String progressionKey;
   class="kw">private int progressionLevelOffset = 0;

   class="kw">public class="kw">static ComponentType<ChunkStore, AugmentBlock> getComponentType() {
      class="kw">return AugmentBlocksPlugin.get().getAugmentBlockComponentType();
   }

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

   class="kw">private AugmentBlock(AugmentBlockUpgradeLevel[] var1, int var2, String[] var3, double var4, @Nullable String var6, int var7) {
      this.upgrades = var1;
      this.currentLevel = var2;
      this.grantsAugmentTags = var3;
      this.radius = var4;
      this.progressionKey = var6;
      this.progressionLevelOffset = var7;
   }

   @Nullable
   class="kw">public String getProgressionKey() {
      class="kw">return this.progressionKey;
   }

   class="kw">public int getProgressionLevelOffset() {
      class="kw">return this.progressionLevelOffset;
   }

   class="kw">public double getRadius() {
      class="kw">return this.radius;
   }

   @Nullable
   class="kw">public AugmentBlockUpgradeLevel getLevel(int var1) {
      class="kw">return var1 >= 1 && var1 <= this.upgrades.length ? this.upgrades[var1 - 1] : null;
   }

   class="kw">public int getMaxLevel() {
      class="kw">return this.upgrades.length;
   }

   class="kw">public String[] getGrantsAugmentTags() {
      class="kw">return this.grantsAugmentTags;
   }

   class="kw">public boolean collectGrantedAugmentTags(@Nonnull Set<String> var1, @Nonnull Set<String> var2) {
      boolean var3 = false;
      if (this.currentLevel == 0) {
         for (String var12 : this.grantsAugmentTags) {
            var3 |= var2.add(var12);
         }

         class="kw">return var3;
      } else {
         AugmentBlockUpgradeLevel var4 = this.getLevel(this.currentLevel);
         if (var4 != null && containsAll(var1, var4.getRequiredAugmentTags())) {
            for (String var8 : var4.getGrantsAugmentTags()) {
               var3 |= var2.add(var8);
            }

            class="kw">return var3;
         } else {
            class="kw">return false;
         }
      }
   }

   class="kw">private class="kw">static boolean containsAll(@Nonnull Set<String> var0, @Nonnull String[] var1) {
      for (String var5 : var1) {
         if (!var0.contains(var5)) {
            class="kw">return false;
         }
      }

      class="kw">return true;
   }

   class="kw">public boolean isMaxed() {
      class="kw">return this.currentLevel >= this.upgrades.length;
   }

   class="kw">public int getCurrentLevel() {
      class="kw">return this.currentLevel;
   }

   class="kw">public void setCurrentLevel(int var1) {
      this.currentLevel = var1;
   }

   @Nullable
   @Override
   class="kw">public Component<ChunkStore> clone() {
      class="kw">return new AugmentBlock(this.upgrades, this.currentLevel, this.grantsAugmentTags, this.radius, this.progressionKey, this.progressionLevelOffset);
   }
}