LocationRadiusProvider class

Пакет: com.hypixel.hytale.builtin.adventure.objectives.config.worldlocationproviders

Файл: com/hypixel/hytale/builtin/adventure/objectives/config/worldlocationproviders/LocationRadiusProvider.java

extends: WorldLocationProvider

Поля (7)

МодификаторыТипИмя
int var1
LocationRadiusProvider var2
double var3
int var5
Vector3i var6
long var7
WorldChunk var9

Методы (3)

МодификаторыВозвратСигнатура
if if(var0.minRadius > var0.maxRadius)
if if(var9 == null)
if if(this == var1)

Исходный код

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

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.validation.Validators;
class="kw">import com.hypixel.hytale.math.util.ChunkUtil;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.math.util.TrigMathUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.WorldChunk;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3i;

class="kw">public class LocationRadiusProvider class="kw">extends WorldLocationProvider {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<LocationRadiusProvider> CODEC = BuilderCodec.builder(LocationRadiusProvider.class, LocationRadiusProvider::new, BASE_CODEC)
      .append(new KeyedCodec<>("MinRadius", Codec.INTEGER), (var0, var1) -> var0.minRadius = var1, var0 -> var0.minRadius)
      .addValidator(Validators.greaterThan(0))
      .add()
      .<Integer>append(new KeyedCodec<>("MaxRadius", Codec.INTEGER), (var0, var1) -> var0.maxRadius = var1, var0 -> var0.maxRadius)
      .addValidator(Validators.greaterThanOrEqual(1))
      .add()
      .afterDecode(
         var0 -> {
            if (var0.minRadius > var0.maxRadius) {
               throw new IllegalArgumentException(
                  "LocationRadiusCondition.MinRadius ("
                     + var0.minRadius
                     + ") needs to be greater than LocationRadiusCondition.MaxRadius ("
                     + var0.maxRadius
                     + ")"
               );
            }
         }
      )
      .build();
   class="kw">protected int minRadius = 10;
   class="kw">protected int maxRadius = 50;

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

   @Nullable
   @Override
   class="kw">public Vector3i runCondition(@Nonnull World var1, @Nonnull Vector3i var2) {
      double var3 = Math.random() * (float) (Math.PI * 2);
      int var5 = MathUtil.randomInt(this.minRadius, this.maxRadius);
      Vector3i var6 = new Vector3i(var2);
      var6.add((int)(var5 * TrigMathUtil.cos(var3)), 0, (int)(var5 * TrigMathUtil.sin(var3)));
      long var7 = ChunkUtil.indexChunkFromBlock(var6.x, var6.z);
      WorldChunk var9 = var1.getChunk(var7);
      if (var9 == null) {
         class="kw">return null;
      }

      var6.y = var9.getHeight(var6.x, var6.z);
      class="kw">return var6;
   }

   @Override
   class="kw">public boolean equals(@Nullable Object var1) {
      if (this == var1) {
         class="kw">return true;
      } else if (var1 != null && this.getClass() == var1.getClass()) {
         LocationRadiusProvider var2 = (LocationRadiusProvider)var1;
         class="kw">return this.minRadius != var2.minRadius ? false : this.maxRadius == var2.maxRadius;
      } else {
         class="kw">return false;
      }
   }

   @Override
   class="kw">public int hashCode() {
      int var1 = this.minRadius;
      class="kw">return 31 * var1 + this.maxRadius;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "LocationRadiusProvider{minRadius=" + this.minRadius + ", maxRadius=" + this.maxRadius + "} " + super.toString();
   }
}