GameModeTypeState class
Пакет: com.hypixel.hytale.server.core.modules.entity.gamemode
Файл: com/hypixel/hytale/server/core/modules/entity/gamemode/GameModeTypeState.java
Поля (48)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
var1 |
|
String |
var10 |
|
EntityEffect |
var11 |
|
EffectControllerComponent |
var12 |
|
ClientCameraView |
var13 |
|
Player |
var2 |
|
PersistentGameModeType |
var2 |
|
Spectating |
var2 |
|
Player |
var3 |
|
Player |
var3 |
|
PlayerRef |
var3 |
|
PersistentGameModeType |
var3 |
|
GameModeType |
var3 |
|
InteractionManager |
var3 |
|
int |
var3 |
|
Map |
var3 |
|
Map |
var3 |
|
PlayerRef |
var4 |
|
PlayerRef |
var4 |
|
boolean |
var4 |
|
MovementConfig |
var4 |
|
GameModeType |
var4 |
|
MovementConfig |
var4 |
|
Boolean |
var4 |
|
RootInteraction |
var4 |
|
EffectControllerComponent |
var4 |
|
CollisionResultComponent |
var4 |
|
MovementStatesComponent |
var4 |
|
boolean |
var4 |
|
boolean |
var4 |
|
boolean |
var5 |
|
boolean |
var5 |
|
MovementManager |
var5 |
|
MovementManager |
var5 |
|
MovementManager |
var5 |
|
Boolean |
var5 |
|
InteractionContext |
var5 |
|
Interactions |
var5 |
|
Interactions |
var5 |
|
Boolean |
var6 |
|
MovementManager |
var6 |
|
VoiceModule |
var6 |
|
InteractionChain |
var6 |
|
Interactions |
var6 |
|
HudComponent[] |
var7 |
|
VoiceModule |
var7 |
|
String |
var8 |
|
VoiceModule |
var9 |
Методы (66)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
void |
applyvoid apply(@Nonnull Ref<EntityStore> var0, @Nullable GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) |
static |
void |
applyInteractionOverridesvoid applyInteractionOverrides(@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) |
abstract |
|
applyInteractionOverrides applyInteractionOverrides(var0, var1, var2) |
static |
<T extends Component<EntityStore>> void |
applyMarker<T extends Component<EntityStore>> void applyMarker(@Nonnull Ref<EntityStore> var0,
@Nullable Boolean var1,
@Nonnull ComponentAccessor<EntityStore> var2,
@Nonnull ComponentType<EntityStore, T> var3,
@Nonnull T var4) |
static |
void |
applyMarkersvoid applyMarkers(@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) |
abstract |
|
applyMarkers applyMarkers(var0, var1, var2) |
abstract |
|
applyMarkers applyMarkers(var0, var4, var2) |
static |
void |
applyMovementvoid applyMovement(@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull Player var2, @Nonnull ComponentAccessor<EntityStore> var3) |
abstract |
|
applyMovement applyMovement(var0, var1, var3, var2) |
static |
void |
applyMovementStatesvoid applyMovementStates(@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull Player var2, @Nonnull ComponentAccessor<EntityStore> var3) |
abstract |
|
applyMovementStates applyMovementStates(var0, var1, var2, var3) |
|
|
if if(var1 != null) |
|
|
if if(var3 != null) |
|
|
if if(var5) |
|
|
if if(var6 != null) |
|
|
if if(var7 != null && var4 != null) |
|
|
if if(var8 != null && var4 != null) |
|
|
if if(var9 != null) |
|
|
if if(var10 != null) |
|
|
if if(var1 != null) |
|
|
if if(var3 != null) |
|
|
if if(var4 != null) |
|
|
if if(var7 != null) |
|
|
if if(var2 != null) |
|
|
if if(!var4) |
|
|
if if(var3 != null) |
|
|
if if(var6 != null) |
|
|
if if(var4 != null) |
|
|
if if(var3 != null) |
|
|
if if(var4 != null) |
|
|
if if(var2 == null) |
|
|
if if(var4 != null) |
|
|
if if(var1 != null) |
|
|
if if(var3 != null) |
|
|
if if(var4 != null) |
|
|
if if(var3 != Integer.MIN_VALUE) |
|
|
if if(var4 != null) |
|
|
if if(var3 != null) |
|
|
if if(var5 == null) |
|
|
if if(var5 != null) |
|
|
if if(var3 != null) |
|
|
if if(var4) |
|
|
if if(var1 != null) |
|
|
if if(var1) |
static |
boolean |
isFollowingTargetboolean isFollowingTarget(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) |
static |
boolean |
isNoClipForcedboolean isNoClipForced(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) |
static |
void |
reassertvoid reassert(@Nonnull Ref<EntityStore> var0, @Nonnull Player var1, @Nonnull ComponentAccessor<EntityStore> var2) |
static |
void |
reassertMovementvoid reassertMovement(@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull Player var2, @Nonnull ComponentAccessor<EntityStore> var3) |
abstract |
|
reassertMovement reassertMovement(var0, var4, var1, var2) |
static |
void |
removeEntityEffectvoid removeEntityEffect(@Nonnull Ref<EntityStore> var0, @Nullable GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) |
abstract |
|
removeEntityEffect removeEntityEffect(var0, var1, var2) |
static |
void |
removeInteractionOverridesvoid removeInteractionOverrides(@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) |
abstract |
|
removeInteractionOverrides removeInteractionOverrides(var0, var1, var2) |
static |
void |
resetToBaselinevoid resetToBaseline(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) |
static |
void |
runInteractionsOnEntervoid runInteractionsOnEnter(@Nonnull Ref<EntityStore> var0, @Nullable String var1, @Nonnull ComponentAccessor<EntityStore> var2) |
static |
void |
setFlyingIfChangedvoid setFlyingIfChanged(@Nonnull Ref<EntityStore> var0, @Nonnull Player var1, boolean var2, @Nonnull ComponentAccessor<EntityStore> var3) |
abstract |
|
setFlyingIfChanged setFlyingIfChanged(var0, var3, false, var2) |
abstract |
|
setFlyingIfChanged setFlyingIfChanged(var0, var2, false, var1) |
abstract |
|
setFlyingIfChanged setFlyingIfChanged(var0, var2, var4, var3) |
static |
<T extends Component<EntityStore>> void |
setMarker<T extends Component<EntityStore>> void setMarker(@Nonnull Ref<EntityStore> var0, boolean var1, @Nonnull ComponentAccessor<EntityStore> var2, @Nonnull ComponentType<EntityStore, T> var3, @Nonnull T var4) |
abstract |
|
setMarker setMarker(var0, var1, var2, var3, var4) |
static |
void |
setTriggerBlockProcessingvoid setTriggerBlockProcessing(@Nonnull Ref<EntityStore> var0, @Nonnull Player var1, boolean var2, @Nonnull ComponentAccessor<EntityStore> var3) |
abstract |
|
setTriggerBlockProcessing setTriggerBlockProcessing(var0, var3, var6, var2) |
abstract |
|
setTriggerBlockProcessing setTriggerBlockProcessing(var0, var3, true, var2) |
abstract |
|
setTriggerBlockProcessing setTriggerBlockProcessing(var0, var2, true, var1) |
static |
void |
unapplyvoid unapply(@Nonnull Ref<EntityStore> var0, @Nullable GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.entity.gamemode;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.protocol.AnimationSlot;
class="kw">import com.hypixel.hytale.protocol.ClientCameraView;
class="kw">import com.hypixel.hytale.protocol.GameMode;
class="kw">import com.hypixel.hytale.protocol.InteractionType;
class="kw">import com.hypixel.hytale.protocol.packets.camera.SetServerCamera;
class="kw">import com.hypixel.hytale.protocol.packets.interface_.HudComponent;
class="kw">import com.hypixel.hytale.server.core.asset.type.entityeffect.config.EntityEffect;
class="kw">import com.hypixel.hytale.server.core.asset.type.gamemode.GameModeType;
class="kw">import com.hypixel.hytale.server.core.entity.AnimationUtils;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionChain;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionContext;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionManager;
class="kw">import com.hypixel.hytale.server.core.entity.effect.EffectControllerComponent;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.movement.MovementConfig;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.movement.MovementManager;
class="kw">import com.hypixel.hytale.server.core.entity.movement.MovementStatesComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.CollisionResultComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.Intangible;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.Invulnerable;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PersistentGameModeType;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PreventEmotes;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PreventInventoryAccess;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.Spectating;
class="kw">import com.hypixel.hytale.server.core.modules.entity.spectator.SpectatingHud;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.InteractionModule;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.Interactions;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.RootInteraction;
class="kw">import com.hypixel.hytale.server.core.modules.voice.VoiceModule;
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 java.util.Arrays;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class="kw">final class GameModeTypeState {
class="kw">private GameModeTypeState() {
}
class="kw">public class="kw">static void apply(@Nonnull Ref<EntityStore> var0, @Nullable GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) {
if (var1 != null) {
Player var3 = var2.getComponent(var0, Player.getComponentType());
if (var3 != null) {
PlayerRef var4 = var2.getComponent(var0, PlayerRef.getComponentType());
boolean var5 = Boolean.TRUE.equals(var1.getPreventEmotes()) && !var2.getArchetype(var0).contains(PreventEmotes.getComponentType());
applyMovement(var0, var1, var3, var2);
applyMarkers(var0, var1, var2);
if (var5) {
AnimationUtils.stopAnimation(var0, AnimationSlot.Emote, true, var2);
}
if (var1.isSpectator() && !var2.getArchetype(var0).contains(Spectating.getComponentType())) {
var2.putComponent(var0, Spectating.getComponentType(), new Spectating());
}
if (var1.isSpectator() && var4 != null && var3.getHudManager().getCustomHud("Spectating") == null) {
var3.getHudManager().addCustomHud(var4, new SpectatingHud(var4));
}
applyInteractionOverrides(var0, var1, var2);
Boolean var6 = var1.getTriggerBlocks();
if (var6 != null) {
setTriggerBlockProcessing(var0, var3, var6, var2);
}
HudComponent[] var7 = var1.getHudComponents();
if (var7 != null && var4 != null) {
var3.getHudManager().setVisibleHudComponents(var4, Set.copyOf(Arrays.asList(var7)));
}
String var8 = var1.getVoiceChannel();
if (var8 != null && var4 != null) {
VoiceModule var9 = VoiceModule.get();
if (var9 != null) {
var9.setPlayerVoiceChannel(var4.getUuid(), var8);
}
}
ClientCameraView var13 = var1.getLockedCameraView();
if (var13 != null && var4 != null && !isFollowingTarget(var0, var2)) {
var4.getPacketHandler().writeNoCache(new SetServerCamera(var13, true, null));
}
String var10 = var1.getEntityEffectId();
if (var10 != null) {
EntityEffect var11 = EntityEffect.getAssetMap().getAsset(var10);
EffectControllerComponent var12 = var2.getComponent(var0, EffectControllerComponent.getComponentType());
if (var11 != null && var12 != null && !var12.hasEffect(var11)) {
var12.addEffect(var0, var11, var2);
}
}
}
}
}
class="kw">public class="kw">static void unapply(@Nonnull Ref<EntityStore> var0, @Nullable GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) {
if (var1 != null) {
Player var3 = var2.getComponent(var0, Player.getComponentType());
if (var3 != null) {
PlayerRef var4 = var2.getComponent(var0, PlayerRef.getComponentType());
boolean var5 = var3.getGameMode() == GameMode.Creative;
if (var1.getMovementConfigId() != null) {
MovementManager var6 = var2.getComponent(var0, MovementManager.getComponentType());
if (var6 != null && var6.getDefaultSettings() != null && var4 != null) {
var6.resetDefaultsAndUpdate(var0, var2);
}
}
if (var1.getFlying() != null && !var5) {
setFlyingIfChanged(var0, var3, false, var2);
}
if (var1.getNoClip() != null && var3.isNoClip()) {
var3.setNoClip(var0, false, false, var2);
}
if (var1.getInvulnerable() != null) {
setMarker(var0, var5, var2, Invulnerable.getComponentType(), Invulnerable.INSTANCE);
}
if (var1.getIntangible() != null) {
setMarker(var0, false, var2, Intangible.getComponentType(), Intangible.INSTANCE);
}
if (var1.getPreventInventoryAccess() != null) {
setMarker(var0, false, var2, PreventInventoryAccess.getComponentType(), PreventInventoryAccess.INSTANCE);
}
if (var1.getPreventEmotes() != null) {
setMarker(var0, false, var2, PreventEmotes.getComponentType(), PreventEmotes.INSTANCE);
}
removeInteractionOverrides(var0, var1, var2);
if (var1.isSpectator()) {
var2.tryRemoveComponent(var0, Spectating.getComponentType());
if (var4 != null) {
var3.getHudManager().removeCustomHud(var4, "Spectating");
}
}
if (var1.getTriggerBlocks() != null) {
setTriggerBlockProcessing(var0, var3, true, var2);
}
if (var1.getHudComponents() != null && var4 != null) {
var3.getHudManager().resetVisibleHudComponents(var4);
}
if (var1.getVoiceChannel() != null && var4 != null) {
VoiceModule var7 = VoiceModule.get();
if (var7 != null) {
var7.setPlayerVoiceChannel(var4.getUuid(), null);
}
}
removeEntityEffect(var0, var1, var2);
}
}
}
class="kw">public class="kw">static void resetToBaseline(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) {
Player var2 = var1.getComponent(var0, Player.getComponentType());
if (var2 != null) {
PlayerRef var3 = var1.getComponent(var0, PlayerRef.getComponentType());
boolean var4 = var2.getGameMode() == GameMode.Creative;
MovementManager var5 = var1.getComponent(var0, MovementManager.getComponentType());
if (var5 != null && var5.getDefaultSettings() != null && var3 != null) {
var5.resetDefaultsAndUpdate(var0, var1);
}
if (!var4) {
setFlyingIfChanged(var0, var2, false, var1);
}
if (var2.isNoClip()) {
var2.setNoClip(var0, false, false, var1);
}
setMarker(var0, var4, var1, Invulnerable.getComponentType(), Invulnerable.INSTANCE);
setMarker(var0, false, var1, Intangible.getComponentType(), Intangible.INSTANCE);
setMarker(var0, false, var1, PreventInventoryAccess.getComponentType(), PreventInventoryAccess.INSTANCE);
setMarker(var0, false, var1, PreventEmotes.getComponentType(), PreventEmotes.INSTANCE);
var1.tryRemoveComponent(var0, Spectating.getComponentType());
setTriggerBlockProcessing(var0, var2, true, var1);
if (var3 != null) {
var2.getHudManager().resetVisibleHudComponents(var3);
var2.getHudManager().removeCustomHud(var3, "Spectating");
VoiceModule var6 = VoiceModule.get();
if (var6 != null) {
var6.setPlayerVoiceChannel(var3.getUuid(), null);
}
}
}
}
class="kw">public class="kw">static void applyMovement(
@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull Player var2, @Nonnull ComponentAccessor<EntityStore> var3
) {
MovementConfig var4 = resolveMovementConfig(var1);
if (var4 != null) {
MovementManager var5 = var3.getComponent(var0, MovementManager.getComponentType());
if (var5 != null && var5.getSettings() != null) {
var5.applyConfigAndUpdate(var4, var0, var3);
}
}
applyMovementStates(var0, var1, var2, var3);
}
class="kw">public class="kw">static void reassert(@Nonnull Ref<EntityStore> var0, @Nonnull Player var1, @Nonnull ComponentAccessor<EntityStore> var2) {
PersistentGameModeType var3 = var2.getComponent(var0, PersistentGameModeType.getComponentType());
if (var3 != null) {
GameModeType var4 = GameModeType.getAssetMap().getAsset(var3.getGameModeTypeId());
if (var4 != null) {
reassertMovement(var0, var4, var1, var2);
applyMarkers(var0, var4, var2);
}
}
}
class="kw">public class="kw">static boolean isNoClipForced(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) {
PersistentGameModeType var2 = var1.getComponent(var0, PersistentGameModeType.getComponentType());
if (var2 == null) {
class="kw">return false;
}
GameModeType var3 = GameModeType.getAssetMap().getAsset(var2.getGameModeTypeId());
class="kw">return var3 != null && Boolean.TRUE.equals(var3.getNoClip());
}
class="kw">private class="kw">static void reassertMovement(
@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull Player var2, @Nonnull ComponentAccessor<EntityStore> var3
) {
MovementConfig var4 = resolveMovementConfig(var1);
if (var4 != null && var4.getFly() != null) {
MovementManager var5 = var3.getComponent(var0, MovementManager.getComponentType());
if (var5 != null && var5.getSettings() != null && var5.getSettings().fly != var4.getFly()) {
var5.applyConfigAndUpdate(var4, var0, var3);
}
}
applyMovementStates(var0, var1, var2, var3);
}
class="kw">private class="kw">static void applyMovementStates(
@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull Player var2, @Nonnull ComponentAccessor<EntityStore> var3
) {
Boolean var4 = var1.getFlying();
if (var4 != null) {
setFlyingIfChanged(var0, var2, var4, var3);
}
Boolean var5 = var1.getNoClip();
if (var5 != null && var2.isNoClip() != var5) {
var2.setNoClip(var0, var5, false, var3);
}
}
@Nullable
class="kw">private class="kw">static MovementConfig resolveMovementConfig(@Nonnull GameModeType var0) {
String var1 = var0.getMovementConfigId();
class="kw">return var1 == null ? null : MovementConfig.getAssetMap().getAsset(var1);
}
class="kw">private class="kw">static void applyMarkers(@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) {
applyMarker(var0, var1.getInvulnerable(), var2, Invulnerable.getComponentType(), Invulnerable.INSTANCE);
applyMarker(var0, var1.getIntangible(), var2, Intangible.getComponentType(), Intangible.INSTANCE);
applyMarker(var0, var1.getPreventInventoryAccess(), var2, PreventInventoryAccess.getComponentType(), PreventInventoryAccess.INSTANCE);
applyMarker(var0, var1.getPreventEmotes(), var2, PreventEmotes.getComponentType(), PreventEmotes.INSTANCE);
}
class="kw">public class="kw">static void runInteractionsOnEnter(@Nonnull Ref<EntityStore> var0, @Nullable String var1, @Nonnull ComponentAccessor<EntityStore> var2) {
if (var1 != null) {
InteractionManager var3 = var2.getComponent(var0, InteractionModule.get().getInteractionManagerComponent());
if (var3 != null) {
RootInteraction var4 = RootInteraction.getRootInteractionOrUnknown(var1);
if (var4 != null) {
InteractionContext var5 = InteractionContext.forInteraction(var3, var0, InteractionType.GameModeSwap, var2);
InteractionChain var6 = var3.initChain(InteractionType.GameModeSwap, var5, var4, true);
var3.queueExecuteChain(var6);
}
}
}
}
class="kw">private class="kw">static void removeEntityEffect(@Nonnull Ref<EntityStore> var0, @Nullable GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) {
if (var1 != null && var1.getEntityEffectId() != null) {
int var3 = EntityEffect.getAssetMap().getIndex(var1.getEntityEffectId());
if (var3 != Integer.MIN_VALUE) {
EffectControllerComponent var4 = var2.getComponent(var0, EffectControllerComponent.getComponentType());
if (var4 != null && var4.hasEffect(var3)) {
var4.removeEffect(var0, var3, var2);
}
}
}
}
class="kw">private class="kw">static void setTriggerBlockProcessing(
@Nonnull Ref<EntityStore> var0, @Nonnull Player var1, boolean var2, @Nonnull ComponentAccessor<EntityStore> var3
) {
CollisionResultComponent var4 = var3.getComponent(var0, CollisionResultComponent.getComponentType());
if (var4 != null) {
var1.configTriggerBlockProcessing(var2, var2, var4);
}
}
class="kw">private class="kw">static void setFlyingIfChanged(@Nonnull Ref<EntityStore> var0, @Nonnull Player var1, boolean var2, @Nonnull ComponentAccessor<EntityStore> var3) {
MovementStatesComponent var4 = var3.getComponent(var0, MovementStatesComponent.getComponentType());
if (var4 != null && var4.getMovementStates().flying != var2) {
var1.setFlying(var0, var2, var3);
}
}
class="kw">private class="kw">static boolean isFollowingTarget(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) {
Spectating var2 = var1.getComponent(var0, Spectating.getComponentType());
class="kw">return var2 != null && var2.getTargetRef() != null;
}
class="kw">private class="kw">static void applyInteractionOverrides(@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) {
Map var3 = var1.getInteractionOverrides();
boolean var4 = Boolean.TRUE.equals(var1.getOverrideAllInteractions());
if (var3 != null && !var3.isEmpty() || var4) {
Interactions var5 = var2.getComponent(var0, Interactions.getComponentType());
Interactions var6 = var5 != null ? var5 : new Interactions();
if (var3 != null) {
var3.forEach(var6::setInteractionId);
}
var6.setOverrideAll(var4);
if (var5 == null) {
var2.putComponent(var0, Interactions.getComponentType(), var6);
}
}
}
class="kw">private class="kw">static void removeInteractionOverrides(@Nonnull Ref<EntityStore> var0, @Nonnull GameModeType var1, @Nonnull ComponentAccessor<EntityStore> var2) {
Map var3 = var1.getInteractionOverrides();
boolean var4 = Boolean.TRUE.equals(var1.getOverrideAllInteractions());
if (var3 != null && !var3.isEmpty() || var4) {
Interactions var5 = var2.getComponent(var0, Interactions.getComponentType());
if (var5 != null) {
if (var3 != null) {
var3.forEach((var1x, var2x) -> {
if (var2x.equals(var5.getInteractionId(var1x))) {
var5.removeInteractionId(var1x);
}
});
}
if (var4) {
var5.setOverrideAll(false);
}
if (var5.isEmpty()) {
var2.tryRemoveComponent(var0, Interactions.getComponentType());
}
}
}
}
class="kw">private class="kw">static <T class="kw">extends Component<EntityStore>> void applyMarker(
@Nonnull Ref<EntityStore> var0,
@Nullable Boolean var1,
@Nonnull ComponentAccessor<EntityStore> var2,
@Nonnull ComponentType<EntityStore, T> var3,
@Nonnull T var4
) {
if (var1 != null) {
setMarker(var0, var1, var2, var3, var4);
}
}
class="kw">private class="kw">static <T class="kw">extends Component<EntityStore>> void setMarker(
@Nonnull Ref<EntityStore> var0, boolean var1, @Nonnull ComponentAccessor<EntityStore> var2, @Nonnull ComponentType<EntityStore, T> var3, @Nonnull T var4
) {
if (var1) {
if (!var2.getArchetype(var0).contains(var3)) {
var2.putComponent(var0, var3, var4);
}
} else if (var2.getArchetype(var0).contains(var3)) {
var2.tryRemoveComponent(var0, var3);
}
}
}