Coord class
Пакет: com.hypixel.hytale.server.core.command.system.arguments.types
Файл: com/hypixel/hytale/server/core/command/system/arguments/types/Coord.java
Поля (13)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
break |
|
|
break |
final |
double |
value |
|
boolean |
var1 |
|
|
var1 |
|
boolean |
var2 |
|
|
var2 |
|
double |
var3 |
|
boolean |
var3 |
|
|
var3 |
|
int |
var4 |
|
String |
var5 |
|
WorldChunk |
var8 |
Методы (11)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
double |
getValuedouble getValue() |
|
|
if if(this.height) |
|
|
if if(var8 == null) |
public |
boolean |
isChunkboolean isChunk() |
public |
boolean |
isHeightboolean isHeight() |
public |
boolean |
isNotBaseboolean isNotBase() |
public |
boolean |
isRelativeboolean isRelative() |
protected |
double |
resolvedouble resolve(double var1) |
public |
double |
resolveXZdouble resolveXZ(double var1) |
public |
double |
resolveYAtWorldCoordsdouble resolveYAtWorldCoords(double var1, @Nonnull World var3, double var4, double var6) |
|
|
while while(true) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.system.arguments.types;
class="kw">import com.hypixel.hytale.math.util.ChunkUtil;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.exceptions.GeneralCommandException;
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">public class Coord {
class="kw">private class="kw">final double 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 Coord(double var1, boolean var3, boolean var4, boolean var5) {
this.value = var1;
this.height = var3;
this.relative = var4;
this.chunk = var5;
}
class="kw">public double 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 double resolveXZ(double var1) {
class="kw">return this.resolve(var1);
}
class="kw">public double resolveYAtWorldCoords(double var1, @Nonnull World var3, double var4, double var6) class="kw">throws GeneralCommandException {
if (this.height) {
WorldChunk var8 = var3.getNonTickingChunk(ChunkUtil.indexChunkFromBlock(var4, var6));
if (var8 == null) {
throw new GeneralCommandException(Message.raw("Failed to load chunk at (" + var4 + ", " + var6 + ")"));
} else {
class="kw">return var8.getHeight(MathUtil.floor(var4), MathUtil.floor(var6)) + 1 + this.resolve(0.0);
}
} else {
class="kw">return this.resolve(var1);
}
}
class="kw">protected double resolve(double var1) {
double var3 = this.chunk ? this.value * 32.0 : this.value;
class="kw">return this.relative ? var3 + var1 : var3;
}
@Nonnull
class="kw">public class="kw">static Coord parse(@Nonnull String var0) {
boolean var1 = false;
boolean var2 = false;
boolean var3 = false;
int var4 = 0;
label20:
while (true) {
class="kw">switch (var0.charAt(var4)) {
case '_':
var4++;
var1 = true;
if (var0.length() == var4) {
class="kw">return new Coord(0.0, true, var2, var3);
}
break;
case 'c':
var4++;
var3 = true;
if (var0.length() == var4) {
class="kw">return new Coord(0.0, var1, var2, true);
}
break label20;
case '~':
var4++;
var2 = true;
if (var0.length() == var4) {
class="kw">return new Coord(0.0, var1, true, var3);
}
break;
class="kw">default:
break label20;
}
}
String var5 = var0.substring(var4);
class="kw">return new Coord(Double.parseDouble(var5), var1, var2, var3);
}
}