SetGameModeEffect class
Пакет: com.hypixel.hytale.builtin.triggervolumes.effect.builtin
Файл: com/hypixel/hytale/builtin/triggervolumes/effect/builtin/SetGameModeEffect.java
extends: TriggerEffect
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Store |
var2 |
|
Ref |
var3 |
|
Player |
var4 |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.triggervolumes.effect.builtin;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerContext;
class="kw">import com.hypixel.hytale.builtin.triggervolumes.effect.TriggerEffect;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.protocol.GameMode;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.movement.MovementManager;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">public class SetGameModeEffect class="kw">extends TriggerEffect {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<SetGameModeEffect> CODEC = BuilderCodec.builder(SetGameModeEffect.class, SetGameModeEffect::new, BASE_CODEC)
.append(new KeyedCodec<>("GameMode", new EnumCodec<>(GameMode.class), false), (var0, var1) -> var0.gameMode = var1, var0 -> var0.gameMode)
.add()
.build();
@Nonnull
class="kw">private GameMode gameMode = GameMode.Adventure;
class="kw">public SetGameModeEffect() {
}
@Override
class="kw">public void execute(@Nonnull TriggerContext var1) {
Store var2 = var1.getStore();
Ref var3 = var1.getEntityRef();
Player var4 = var2.getComponent(var3, Player.getComponentType());
if (var4 != null && var2.getComponent(var3, PlayerRef.getComponentType()) != null) {
if (var2.getComponent(var3, MovementManager.getComponentType()) != null) {
if (this.gameMode != null && var4.getGameMode() != this.gameMode) {
Player.setGameMode(var3, this.gameMode, var2);
}
}
}
}
}