RestingSupport class
Пакет: com.hypixel.hytale.server.core.modules.physics
Файл: com/hypixel/hytale/server/core/modules/physics/RestingSupport.java
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
protected |
boolean |
hasAttachBlock |
|
Ref |
var4 |
|
BlockSection |
var5 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
clearvoid clear() |
static |
int |
getBlockint getBlock(@Nonnull ChunkStore var0, int var1, int var2, int var3) |
public |
boolean |
hasChangedboolean hasChanged(@Nonnull ChunkStore var1) |
|
|
if if(var2 == null) |
public |
void |
restvoid rest(@Nonnull ChunkStore var1, @Nullable Vector3i var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.physics;
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.section.BlockSection;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3i;
class="kw">public class RestingSupport {
class="kw">protected boolean hasAttachBlock;
class="kw">protected int attachBlockX;
class="kw">protected int attachBlockY;
class="kw">protected int attachBlockZ;
class="kw">protected int attachBlockId;
class="kw">public RestingSupport() {
}
class="kw">public boolean hasChanged(@Nonnull ChunkStore var1) {
class="kw">return this.hasAttachBlock && getBlock(var1, this.attachBlockX, this.attachBlockY, this.attachBlockZ) != this.attachBlockId;
}
class="kw">public void rest(@Nonnull ChunkStore var1, @Nullable Vector3i var2) {
if (var2 == null) {
this.hasAttachBlock = false;
} else {
this.attachBlockX = var2.x;
this.attachBlockY = var2.y;
this.attachBlockZ = var2.z;
this.attachBlockId = getBlock(var1, this.attachBlockX, this.attachBlockY, this.attachBlockZ);
this.hasAttachBlock = true;
}
}
class="kw">public void clear() {
this.hasAttachBlock = false;
}
class="kw">private class="kw">static int getBlock(@Nonnull ChunkStore var0, int var1, int var2, int var3) {
Ref var4 = var0.getChunkSectionReferenceAtBlock(var1, var2, var3);
if (var4 != null && var4.isValid()) {
BlockSection var5 = var0.getStore().getComponent(var4, BlockSection.getComponentType());
class="kw">return var5 != null ? var5.get(ChunkUtil.localCoordinate(var1), ChunkUtil.localCoordinate(var2), ChunkUtil.localCoordinate(var3)) : 1;
} else {
class="kw">return 1;
}
}
}