PlaceFallingBlockImpact class

Пакет: com.hypixel.hytale.builtin.fallingblocks

Файл: com/hypixel/hytale/builtin/fallingblocks/PlaceFallingBlockImpact.java

extends: FallingBlockImpact

Поля (8)

МодификаторыТипИмя
final String ID
int var10
ChunkStore var11
Store var12
BlockSection var13
int var14
int var8
int var9

Методы (2)

МодификаторыВозвратСигнатура
static void placeFallingBlockvoid placeFallingBlock(@Nonnull Ref<ChunkStore> var0, @Nonnull World var1, @Nonnull BlockType var2, @Nonnull Vector3d var3, @Nonnull RotationTuple var4, @Nonnull Store<EntityStore> var5, @Nonnull Ref<EntityStore> var6, @Nonnull CommandBuffer<EntityStore> var7)
abstract placeFallingBlock placeFallingBlock(var1, var2, var3, var4, var5, var6, var7, var8)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.fallingblocks;

class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.RotationTuple;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.fallingblocks.FallingBlockImpact;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.BlockOperations;
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 com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class PlaceFallingBlockImpact class="kw">extends FallingBlockImpact {
   class="kw">public class="kw">static class="kw">final String ID = "Place";
   class="kw">public class="kw">static class="kw">final BuilderCodec<PlaceFallingBlockImpact> CODEC = BuilderCodec.builder(PlaceFallingBlockImpact.class, PlaceFallingBlockImpact::new).build();

   class="kw">public PlaceFallingBlockImpact() {
   }

   @Override
   class="kw">public void apply(
      @Nonnull Ref<ChunkStore> var1,
      @Nonnull World var2,
      @Nonnull BlockType var3,
      @Nonnull Vector3d var4,
      @Nonnull RotationTuple var5,
      @Nonnull Store<EntityStore> var6,
      @Nonnull Ref<EntityStore> var7,
      @Nonnull CommandBuffer<EntityStore> var8
   ) {
      placeFallingBlock(var1, var2, var3, var4, var5, var6, var7, var8);
   }

   class="kw">public class="kw">static void placeFallingBlock(
      @Nonnull Ref<ChunkStore> var0,
      @Nonnull World var1,
      @Nonnull BlockType var2,
      @Nonnull Vector3d var3,
      @Nonnull RotationTuple var4,
      @Nonnull Store<EntityStore> var5,
      @Nonnull Ref<EntityStore> var6,
      @Nonnull CommandBuffer<EntityStore> var7
   ) {
      int var8 = MathUtil.floor(var3.x);
      int var9 = MathUtil.floor(var3.y);
      int var10 = MathUtil.floor(var3.z);
      ChunkStore var11 = var1.getChunkStore();
      Store var12 = var11.getStore();
      BlockSection var13 = var12.getComponent(var0, BlockSection.getComponentType());
      int var14 = var4.index();
      if (var13 != null && BlockOperations.testPlaceBlock(var12, var13, var8, var9, var10, var2, var14)) {
         BlockOperations.setBlock(var11, var0, var8, var9, var10, BlockType.getAssetMap().getIndex(var2.getId()), var2, var14, 0, 256);
      } else {
         BreakFallingBlockImpact.breakFallingBlock(var1, var2, var3, var4, var5, var6, var7);
      }
   }
}