IChunkBounds interface

Пакет: com.hypixel.hytale.server.worldgen.util.bounds

Файл: com/hypixel/hytale/server/worldgen/util/bounds/IChunkBounds.java

Методы (20)

МодификаторыВозвратСигнатура
default double fractionXdouble fractionX(double var1)
default double fractionZdouble fractionZ(double var1)
default int getHighBoundXint getHighBoundX(@Nonnull PrefabRotation var1)
abstract int getHighBoundXint getHighBoundX()
default int getHighBoundZint getHighBoundZ(@Nonnull PrefabRotation var1)
abstract int getHighBoundZint getHighBoundZ()
default int getHighChunkXint getHighChunkX()
default int getHighChunkZint getHighChunkZ()
default int getLowBoundXint getLowBoundX(@Nonnull PrefabRotation var1)
abstract int getLowBoundXint getLowBoundX()
default int getLowBoundZint getLowBoundZ(@Nonnull PrefabRotation var1)
abstract int getLowBoundZint getLowBoundZ()
default int getLowChunkXint getLowChunkX()
default int getLowChunkZint getLowChunkZ()
static int getRandomOffsetint getRandomOffset(int var0, int var1, @Nonnull Random var2)
default boolean intersectsChunkboolean intersectsChunk(long var1)
default boolean intersectsChunkboolean intersectsChunk(int var1, int var2)
default boolean isValidboolean isValid()
default int randomXint randomX(@Nonnull Random var1)
default int randomZint randomZ(@Nonnull Random var1)

Исходный код

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

class="kw">import com.hypixel.hytale.math.util.ChunkUtil;
class="kw">import com.hypixel.hytale.server.core.prefab.PrefabRotation;
class="kw">import java.util.Random;
class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">interface IChunkBounds {
   int getLowBoundX();

   int getLowBoundZ();

   int getHighBoundX();

   int getHighBoundZ();

   class="kw">default int getLowBoundX(@Nonnull PrefabRotation var1) {
      class="kw">return Math.min(var1.getX(this.getLowBoundX(), this.getLowBoundZ()), var1.getX(this.getHighBoundX(), this.getHighBoundZ()));
   }

   class="kw">default int getLowBoundZ(@Nonnull PrefabRotation var1) {
      class="kw">return Math.min(var1.getZ(this.getLowBoundX(), this.getLowBoundZ()), var1.getZ(this.getHighBoundX(), this.getHighBoundZ()));
   }

   class="kw">default int getHighBoundX(@Nonnull PrefabRotation var1) {
      class="kw">return Math.max(var1.getX(this.getLowBoundX(), this.getLowBoundZ()), var1.getX(this.getHighBoundX(), this.getHighBoundZ()));
   }

   class="kw">default int getHighBoundZ(@Nonnull PrefabRotation var1) {
      class="kw">return Math.max(var1.getZ(this.getLowBoundX(), this.getLowBoundZ()), var1.getZ(this.getHighBoundX(), this.getHighBoundZ()));
   }

   class="kw">default boolean intersectsChunk(long var1) {
      class="kw">return this.intersectsChunk(ChunkUtil.xOfChunkIndex(var1), ChunkUtil.zOfChunkIndex(var1));
   }

   class="kw">default boolean intersectsChunk(int var1, int var2) {
      class="kw">return ChunkUtil.maxBlock(var1) >= this.getLowBoundX()
         && ChunkUtil.minBlock(var1) <= this.getHighBoundX()
         && ChunkUtil.maxBlock(var2) >= this.getLowBoundZ()
         && ChunkUtil.minBlock(var2) <= this.getHighBoundZ();
   }

   class="kw">default int randomX(@Nonnull Random var1) {
      class="kw">return getRandomOffset(this.getLowBoundX(), this.getHighBoundX(), var1);
   }

   class="kw">default int randomZ(@Nonnull Random var1) {
      class="kw">return getRandomOffset(this.getLowBoundZ(), this.getHighBoundZ(), var1);
   }

   class="kw">default double fractionX(double var1) {
      class="kw">return (this.getHighBoundX() - this.getLowBoundX()) * var1 + this.getLowBoundX();
   }

   class="kw">default double fractionZ(double var1) {
      class="kw">return (this.getHighBoundZ() - this.getLowBoundZ()) * var1 + this.getLowBoundZ();
   }

   class="kw">default int getLowChunkX() {
      class="kw">return ChunkUtil.chunkCoordinate(this.getLowBoundX());
   }

   class="kw">default int getLowChunkZ() {
      class="kw">return ChunkUtil.chunkCoordinate(this.getLowBoundZ());
   }

   class="kw">default int getHighChunkX() {
      class="kw">return ChunkUtil.chunkCoordinate(this.getHighBoundX());
   }

   class="kw">default int getHighChunkZ() {
      class="kw">return ChunkUtil.chunkCoordinate(this.getHighBoundZ());
   }

   class="kw">default boolean isValid() {
      class="kw">return this.getHighBoundX() > this.getLowBoundX() && this.getHighBoundZ() > this.getLowBoundZ();
   }

   class="kw">static int getRandomOffset(int var0, int var1, @Nonnull Random var2) {
      assert var1 > var0 : "Invalid bounds: " + var0 + " to " + var1;
      class="kw">return var1 <= var0 ? var0 : var2.nextInt(var1 - var0) + var0;
   }
}