SeatingInteraction class
Пакет: com.hypixel.hytale.builtin.mounts.interactions
Файл: com/hypixel/hytale/builtin/mounts/interactions/SeatingInteraction.java
extends: SimpleBlockInteraction
Поля (9)
| Модификаторы | Тип | Имя |
|---|---|---|
|
BlockPosition |
var10 |
|
Vector3d |
var11 |
|
BlockMountAPI.BlockMountResult |
var12 |
|
int |
var14 |
|
String |
var15 |
|
int |
var16 |
|
BlockSoundSet |
var17 |
|
Ref |
var8 |
|
PlayerRef |
var9 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var9 != null) |
|
|
if if(var12 == BlockMountAPI.DidNotMount.ALREADY_MOUNTED) |
|
|
if if(var15 != null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.mounts.interactions;
class="kw">import com.hypixel.hytale.builtin.mounts.BlockMountAPI;
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.math.vector.Vector3iUtil;
class="kw">import com.hypixel.hytale.protocol.BlockPosition;
class="kw">import com.hypixel.hytale.protocol.BlockSoundEvent;
class="kw">import com.hypixel.hytale.protocol.InteractionType;
class="kw">import com.hypixel.hytale.protocol.SoundCategory;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocksound.config.BlockSoundSet;
class="kw">import com.hypixel.hytale.server.core.asset.type.soundevent.config.SoundEvent;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionContext;
class="kw">import com.hypixel.hytale.server.core.inventory.ItemStack;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.CooldownHandler;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.client.SimpleBlockInteraction;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.SoundUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3i;
class="kw">public class SeatingInteraction class="kw">extends SimpleBlockInteraction {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<SeatingInteraction> CODEC = BuilderCodec.builder(
SeatingInteraction.class, SeatingInteraction::new, SimpleBlockInteraction.CODEC
)
.documentation("Arranges perfect seating accommodations")
.build();
class="kw">public SeatingInteraction() {
}
@Override
class="kw">protected void interactWithBlock(
@Nonnull World var1,
@Nonnull CommandBuffer<EntityStore> var2,
@Nonnull InteractionType var3,
@Nonnull InteractionContext var4,
@Nullable ItemStack var5,
@Nonnull Vector3i var6,
@Nonnull CooldownHandler var7
) {
Ref var8 = var4.getEntity();
PlayerRef var9 = var2.getComponent(var8, PlayerRef.getComponentType());
if (var9 != null) {
BlockPosition var10 = var4.getMetaStore().getMetaObject(TARGET_BLOCK_RAW);
Vector3d var11 = new Vector3d(var10.x + 0.5, var10.y + 0.5, var10.z + 0.5);
BlockMountAPI.BlockMountResult var12 = BlockMountAPI.mountOnBlock(var8, var2, var6, var11);
if (var12 == BlockMountAPI.DidNotMount.ALREADY_MOUNTED) {
int var14 = SoundEvent.getAssetMap().getIndex("SFX_Creative_Play_Add_Mask");
SoundUtil.playSoundEvent2d(var8, var14, SoundCategory.SFX, var2);
} else if (var12 class="kw">instanceof BlockMountAPI.Mounted var13) {
BlockSoundSet var17 = BlockSoundSet.getAssetMap().getAsset(var13.blockType().getBlockSoundSetIndex());
String var15 = var17 == null ? null : var17.getSoundEventIds().getOrDefault(BlockSoundEvent.Walk, null);
if (var15 != null) {
int var16 = SoundEvent.getAssetMap().getIndex(var15);
SoundUtil.playSoundEvent3dToPlayer(var8, var16, SoundCategory.SFX, Vector3iUtil.toVector3d(var6), var2);
}
} else {
var9.sendMessage(Message.translation("server.interactions.didNotMount").param("state", var12.toString()));
}
}
}
@Override
class="kw">protected void simulateInteractWithBlock(
@Nonnull InteractionType var1, @Nonnull InteractionContext var2, @Nullable ItemStack var3, @Nonnull World var4, @Nonnull Vector3i var5
) {
}
}