RelativeIntPosition class
Пакет: com.hypixel.hytale.server.core.command.system.arguments.types
Файл: com/hypixel/hytale/server/core/command/system/arguments/types/RelativeIntPosition.java
Поля (10)
| Модификаторы | Тип | Имя |
|---|---|---|
|
TransformComponent |
var3 |
|
boolean |
var3 |
|
int |
var3 |
|
Vector3d |
var4 |
|
Vector3d |
var4 |
|
int |
var4 |
|
World |
var5 |
|
Ref |
var5 |
|
int |
var5 |
|
World |
var6 |
Методы (6)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
GeneralCommandExceptionthrow new GeneralCommandException(MESSAGE_COMMANDS_ERRORS_PLAYER_NOT_IN_WORLD) |
abstract |
throw new |
GeneralCommandExceptionthrow new GeneralCommandException(MESSAGE_COMMANDS_ERRORS_RELATIVE_POSITION_ARG) |
abstract |
return new |
Vector3ireturn new Vector3i(var3, var5, var4) |
|
|
if if(var5 != null) |
|
|
if if(var3) |
public |
boolean |
isRelativeboolean isRelative() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.system.arguments.types;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
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.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.exceptions.GeneralCommandException;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3i;
class="kw">public class RelativeIntPosition {
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_ERRORS_PLAYER_NOT_IN_WORLD = Message.translation("server.commands.errors.playerNotInWorld");
@Nonnull
class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_ERRORS_RELATIVE_POSITION_ARG = Message.translation("server.commands.errors.relativePositionArg");
@Nonnull
class="kw">private class="kw">final IntCoord x;
@Nonnull
class="kw">private class="kw">final IntCoord y;
@Nonnull
class="kw">private class="kw">final IntCoord z;
class="kw">public RelativeIntPosition(@Nonnull IntCoord var1, @Nonnull IntCoord var2, @Nonnull IntCoord var3) {
this.x = var1;
this.y = var2;
this.z = var3;
}
@Nonnull
class="kw">public Vector3i getBlockPosition(@Nonnull Ref<EntityStore> var1, @Nonnull ComponentAccessor<EntityStore> var2) {
TransformComponent var3 = var2.getComponent(var1, TransformComponent.getComponentType());
assert var3 != null;
Vector3d var4 = var3.getPosition();
World var5 = var2.getExternalData().getWorld();
class="kw">return this.getBlockPosition(var4, var5.getChunkStore());
}
@Nonnull
class="kw">public Vector3i getBlockPosition(@Nonnull CommandContext var1, @Nonnull ComponentAccessor<EntityStore> var2) {
boolean var3 = this.isRelative();
Ref var5 = var1.isPlayer() ? var1.senderAsPlayerRef() : null;
if (var5 != null) {
if (!var5.isValid()) {
throw new GeneralCommandException(MESSAGE_COMMANDS_ERRORS_PLAYER_NOT_IN_WORLD);
} else {
class="kw">return this.getBlockPosition(var5, var2);
}
} else {
if (var3) {
throw new GeneralCommandException(MESSAGE_COMMANDS_ERRORS_RELATIVE_POSITION_ARG);
}
Vector3d var4 = new Vector3d();
World var6 = var2.getExternalData().getWorld();
class="kw">return this.getBlockPosition(var4, var6.getChunkStore());
}
}
@Nonnull
class="kw">public Vector3i getBlockPosition(@Nonnull Vector3d var1, @Nonnull ChunkStore var2) {
int var3 = this.x.resolveXZ(MathUtil.floor(var1.x));
int var4 = this.z.resolveXZ(MathUtil.floor(var1.z));
int var5 = this.y.resolveYAtWorldCoords(MathUtil.floor(var1.y), var2, var3, var4);
class="kw">return new Vector3i(var3, var5, var4);
}
class="kw">public boolean isRelative() {
class="kw">return this.x.isRelative() || this.y.isRelative() || this.z.isRelative();
}
}