IntCoord class

Пакет: com.hypixel.hytale.server.core.command.system.arguments.types

Файл: com/hypixel/hytale/server/core/command/system/arguments/types/IntCoord.java

Поля (16)

МодификаторыТипИмя
break
break
break
final int value
boolean var1
var1
int var2
boolean var2
var2
boolean var3
var3
int var4
long var5
String var5
Ref var7
WorldChunk var8

Методы (10)

МодификаторыВозвратСигнатура
public int getValueint getValue()
if if(this.height)
public boolean isChunkboolean isChunk()
public boolean isHeightboolean isHeight()
public boolean isNotBaseboolean isNotBase()
public boolean isRelativeboolean isRelative()
protected int resolveint resolve(int var1)
public int resolveXZint resolveXZ(int var1)
public int resolveYAtWorldCoordsint resolveYAtWorldCoords(int var1, @Nonnull ChunkStore var2, int var3, int var4)
while while(true)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.system.arguments.types;

class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.math.util.ChunkUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.WorldChunk;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import javax.annotation.Nonnull;

class="kw">public class IntCoord {
   class="kw">private class="kw">final int value;
   class="kw">private class="kw">final boolean height;
   class="kw">private class="kw">final boolean relative;
   class="kw">private class="kw">final boolean chunk;

   class="kw">public IntCoord(int var1, boolean var2, boolean var3, boolean var4) {
      this.value = var1;
      this.height = var2;
      this.relative = var3;
      this.chunk = var4;
   }

   class="kw">public int getValue() {
      class="kw">return this.value;
   }

   class="kw">public boolean isNotBase() {
      class="kw">return !this.height && !this.relative && !this.chunk;
   }

   class="kw">public boolean isHeight() {
      class="kw">return this.height;
   }

   class="kw">public boolean isRelative() {
      class="kw">return this.relative;
   }

   class="kw">public boolean isChunk() {
      class="kw">return this.chunk;
   }

   class="kw">public int resolveXZ(int var1) {
      class="kw">return this.resolve(var1);
   }

   class="kw">public int resolveYAtWorldCoords(int var1, @Nonnull ChunkStore var2, int var3, int var4) {
      if (this.height) {
         long var5 = ChunkUtil.indexChunkFromBlock(var3, var4);
         Ref var7 = var2.getChunkReference(var5);
         if (var7 != null && var7.isValid()) {
            WorldChunk var8 = var2.getStore().getComponent(var7, WorldChunk.getComponentType());
            assert var8 != null;
            class="kw">return this.resolve(var8.getHeight(var3, var4) + 1);
         } else {
            class="kw">return this.resolve(var1);
         }
      } else {
         class="kw">return this.resolve(var1);
      }
   }

   class="kw">protected int resolve(int var1) {
      int var2 = this.chunk ? this.value * 32 : this.value;
      class="kw">return this.relative ? var2 + var1 : var2;
   }

   @Nonnull
   class="kw">public class="kw">static IntCoord parse(@Nonnull String var0) {
      boolean var1 = false;
      boolean var2 = false;
      boolean var3 = false;
      int var4 = 0;

      while (true) {
         class="kw">switch (var0.charAt(var4)) {
            case '_':
               var4++;
               var1 = true;
               if (var0.length() == var4) {
                  class="kw">return new IntCoord(0, true, var2, var3);
               }
               break;
            case 'c':
               var4++;
               var3 = true;
               if (var0.length() == var4) {
                  class="kw">return new IntCoord(0, var1, var2, true);
               }
               break;
            case '~':
               var4++;
               var2 = true;
               if (var0.length() == var4) {
                  class="kw">return new IntCoord(0, var1, true, var3);
               }
               break;
            class="kw">default:
               String var5 = var0.substring(var4);
               class="kw">return new IntCoord(Integer.parseInt(var5), var1, var2, var3);
         }
      }
   }
}