ParticleSpawnCommand class
Пакет: com.hypixel.hytale.server.core.asset.type.particle.commands
Файл: com/hypixel/hytale/server/core/asset/type/particle/commands/ParticleSpawnCommand.java
extends: AbstractTargetPlayerCommand
Поля (6)
| Модификаторы | Тип | Имя |
|---|---|---|
|
SpatialResource |
var10 |
|
List |
var11 |
|
ParticleSystem |
var7 |
|
Player |
var7 |
|
TransformComponent |
var8 |
|
Vector3d |
var9 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public |
ParticleSpawnPageCommandpublic ParticleSpawnPageCommand() |
|
protected void |
executeprotected void execute(@Nonnull CommandContext var1,
@Nullable Ref<EntityStore> var2,
@Nonnull Ref<EntityStore> var3,
@Nonnull PlayerRef var4,
@Nonnull World var5,
@Nonnull Store<EntityStore> var6) |
abstract |
|
super super("spawn", "server.commands.particle.spawn.desc") |
abstract |
|
super super("server.commands.particle.spawn.page.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.particle.commands;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.spatial.SpatialResource;
class="kw">import com.hypixel.hytale.server.core.asset.type.particle.config.ParticleSystem;
class="kw">import com.hypixel.hytale.server.core.asset.type.particle.pages.ParticleSpawnPage;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.RequiredArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractTargetPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.ParticleUtil;
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 java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class ParticleSpawnCommand class="kw">extends AbstractTargetPlayerCommand {
@Nonnull
class="kw">private class="kw">final RequiredArg<ParticleSystem> particleSystemArg = this.withRequiredArg(
"particle", "server.commands.particle.spawn.particle.desc", ArgTypes.PARTICLE_SYSTEM
);
class="kw">public ParticleSpawnCommand() {
super("spawn", "server.commands.particle.spawn.desc");
this.addUsageVariant(new ParticleSpawnCommand.ParticleSpawnPageCommand());
}
@Override
class="kw">protected void execute(
@Nonnull CommandContext var1,
@Nullable Ref<EntityStore> var2,
@Nonnull Ref<EntityStore> var3,
@Nonnull PlayerRef var4,
@Nonnull World var5,
@Nonnull Store<EntityStore> var6
) {
ParticleSystem var7 = this.particleSystemArg.get(var1);
TransformComponent var8 = var6.getComponent(var3, TransformComponent.getComponentType());
assert var8 != null;
Vector3d var9 = var8.getPosition();
SpatialResource var10 = var6.getResource(EntityModule.get().getPlayerSpatialResourceType());
List var11 = SpatialResource.getThreadLocalReferenceList();
var10.getSpatialStructure().collect(var9, 75.0, var11);
ParticleUtil.spawnParticleEffect(var7.getId(), var9, var8.getRotation(), var11, var6);
}
class="kw">private class="kw">static class ParticleSpawnPageCommand class="kw">extends AbstractTargetPlayerCommand {
class="kw">public ParticleSpawnPageCommand() {
super("server.commands.particle.spawn.page.desc");
}
@Override
class="kw">protected void execute(
@Nonnull CommandContext var1,
@Nullable Ref<EntityStore> var2,
@Nonnull Ref<EntityStore> var3,
@Nonnull PlayerRef var4,
@Nonnull World var5,
@Nonnull Store<EntityStore> var6
) {
Player var7 = var6.getComponent(var3, Player.getComponentType());
assert var7 != null;
var7.getPageManager().openCustomPage(var3, var6, new ParticleSpawnPage(var4));
}
}
}