BuilderExpressionStaticNumberArray class

Пакет: com.hypixel.hytale.server.npc.asset.builder.expression

Файл: com/hypixel/hytale/server/npc/asset/builder/expression/BuilderExpressionStaticNumberArray.java

extends: BuilderExpression

Поля (9)

МодификаторыТипИмя
final BuilderExpressionStaticNumberArray INSTANCE_EMPTY
int var1
int var1
int var1
double[] var2
int[] var2
double[] var2
JsonElement var4
JsonPrimitive var5

Методы (9)

МодификаторыВозвратСигнатура
static int[] convertDoubleToIntArrayint[] convertDoubleToIntArray(@Nullable double[] var0)
static double[] convertIntToDoubleArraydouble[] convertIntToDoubleArray(@Nullable int[] var0)
private void createCacheIfAbsentvoid createCacheIfAbsent()
for for(int var3 = 0; var3 < var1; var3++)
for for(int var3 = 0; var3 < var1; var3++)
for for(int var3 = 0; var3 < var1; var3++)
if if(this.cachedIntArray == null)
if if(var0 == null)
if if(var0 == null)

Исходный код

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

class="kw">import com.google.gson.JsonArray;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.google.gson.JsonPrimitive;
class="kw">import com.hypixel.hytale.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.server.npc.util.expression.ExecutionContext;
class="kw">import com.hypixel.hytale.server.npc.util.expression.StdScope;
class="kw">import com.hypixel.hytale.server.npc.util.expression.ValueType;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BuilderExpressionStaticNumberArray class="kw">extends BuilderExpression {
   class="kw">public class="kw">static class="kw">final BuilderExpressionStaticNumberArray INSTANCE_EMPTY = new BuilderExpressionStaticNumberArray(ArrayUtil.EMPTY_DOUBLE_ARRAY);
   class="kw">private class="kw">final double[] numberArray;
   @Nullable
   class="kw">private int[] cachedIntArray;

   class="kw">public BuilderExpressionStaticNumberArray(double[] var1) {
      this.numberArray = var1;
      this.cachedIntArray = null;
   }

   @Nonnull
   @Override
   class="kw">public ValueType getType() {
      class="kw">return ValueType.NUMBER_ARRAY;
   }

   @Override
   class="kw">public boolean isStatic() {
      class="kw">return true;
   }

   @Override
   class="kw">public double[] getNumberArray(ExecutionContext var1) {
      class="kw">return this.numberArray;
   }

   @Override
   class="kw">public int[] getIntegerArray(ExecutionContext var1) {
      this.createCacheIfAbsent();
      class="kw">return this.cachedIntArray;
   }

   @Override
   class="kw">public void addToScope(String var1, @Nonnull StdScope var2) {
      var2.addVar(var1, this.numberArray);
   }

   @Override
   class="kw">public void updateScope(@Nonnull StdScope var1, String var2, ExecutionContext var3) {
      var1.changeValue(var2, this.numberArray);
   }

   class="kw">private void createCacheIfAbsent() {
      if (this.cachedIntArray == null) {
         this.cachedIntArray = convertDoubleToIntArray(this.numberArray);
      }
   }

   @Nullable
   class="kw">public class="kw">static BuilderExpressionStaticNumberArray fromJSON(@Nonnull JsonArray var0) {
      int var1 = var0.size();
      double[] var2 = new double[var1];

      for (int var3 = 0; var3 < var1; var3++) {
         JsonElement var4 = var0.get(var3);
         if (!var4.isJsonPrimitive()) {
            class="kw">return null;
         }

         JsonPrimitive var5 = var4.getAsJsonPrimitive();
         if (!var5.isNumber()) {
            class="kw">return null;
         }

         var2[var3] = var5.getAsDouble();
      }

      class="kw">return new BuilderExpressionStaticNumberArray(var2);
   }

   class="kw">public class="kw">static int[] convertDoubleToIntArray(@Nullable double[] var0) {
      if (var0 == null) {
         class="kw">return null;
      }

      int var1 = var0.length;
      int[] var2 = new int[var1];

      for (int var3 = 0; var3 < var1; var3++) {
         var2[var3] = (int)Math.round(var0[var3]);
      }

      class="kw">return var2;
   }

   class="kw">public class="kw">static double[] convertIntToDoubleArray(@Nullable int[] var0) {
      if (var0 == null) {
         class="kw">return null;
      }

      int var1 = var0.length;
      double[] var2 = new double[var1];

      for (int var3 = 0; var3 < var1; var3++) {
         var2[var3] = var0[var3];
      }

      class="kw">return var2;
   }
}