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