ExplodeFallingBlockImpact class
Пакет: com.hypixel.hytale.builtin.fallingblocks
Файл: com/hypixel/hytale/builtin/fallingblocks/ExplodeFallingBlockImpact.java
extends: FallingBlockImpact
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
String |
ID |
|
ExplosionConfig |
var5 |
|
Vector3i |
var9 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
void |
explodeFallingBlockvoid explodeFallingBlock(@Nonnull World var0, @Nonnull BlockType var1, @Nonnull Vector3d var2, @Nonnull RotationTuple var3, @Nonnull Store<EntityStore> var4) |
abstract |
|
explodeFallingBlock explodeFallingBlock(var2, var3, var4, var5, var6) |
|
|
if if(var5 != null) |
Исходный код
Показать/скрыть
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.math.vector.Rotation3f;
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.entity.ExplosionConfig;
class="kw">import com.hypixel.hytale.server.core.entity.ExplosionUtils;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.BlockHarvestUtils;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.client.ExplodeInteraction;
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 ExplodeFallingBlockImpact class="kw">extends FallingBlockImpact {
class="kw">public class="kw">static class="kw">final String ID = "Explode";
class="kw">public class="kw">static class="kw">final BuilderCodec<ExplodeFallingBlockImpact> CODEC = BuilderCodec.builder(ExplodeFallingBlockImpact.class, ExplodeFallingBlockImpact::new)
.build();
class="kw">public ExplodeFallingBlockImpact() {
}
@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
) {
Vector3i var9 = new Vector3i(MathUtil.floor(var4.x), MathUtil.floor(var4.y), MathUtil.floor(var4.z));
explodeFallingBlock(var2, var3, var4, var5, var6);
BlockHarvestUtils.queueOnBreakImpactInteraction(var7, var3, var9, var5.index(), var8);
}
class="kw">public class="kw">static void explodeFallingBlock(
@Nonnull World var0, @Nonnull BlockType var1, @Nonnull Vector3d var2, @Nonnull RotationTuple var3, @Nonnull Store<EntityStore> var4
) {
ExplosionConfig var5 = var1.getExplosionConfig();
if (var5 != null) {
var0.execute(
() -> ExplosionUtils.performExplosion(
ExplodeInteraction.DAMAGE_SOURCE_EXPLOSION, var2, new Rotation3f(0.0F, 0.0F, 0.0F), var5, null, var4, var0.getChunkStore().getStore()
)
);
}
}
}