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);
}
}
}
}