Class InteractionChain

java.lang.Object
com.hypixel.hytale.server.core.entity.InteractionChain
All Implemented Interfaces:
ChainSyncStorage

public class InteractionChain extends Object implements ChainSyncStorage
  • Field Details

    • LOGGER

      private static final com.hypixel.hytale.logger.HytaleLogger LOGGER
    • NULL_FORK_ID

      private static final long NULL_FORK_ID
    • type

      private final InteractionType type
    • baseType

      private InteractionType baseType
    • chainData

      private final InteractionChainData chainData
    • chainId

      private int chainId
    • forkedChainId

      private final ForkedChainId forkedChainId
    • baseForkedChainId

      private final ForkedChainId baseForkedChainId
    • predicted

      private boolean predicted
    • context

      private final InteractionContext context
    • forkedChains

      @Nonnull private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<InteractionChain> forkedChains
    • tempForkedChainData

      @Nonnull private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<InteractionChain.TempChain> tempForkedChainData
    • forkedChainsMap

      @Nonnull private final it.unimi.dsi.fastutil.longs.Long2LongMap forkedChainsMap
    • newForks

      @Nonnull private final List<InteractionChain> newForks
    • initialRootInteraction

      @Nonnull private final RootInteraction initialRootInteraction
    • rootInteraction

      private RootInteraction rootInteraction
    • operationCounter

      private int operationCounter
    • callStack

      @Nonnull private final List<InteractionChain.CallState> callStack
    • simulatedCallStack

      private int simulatedCallStack
    • requiresClient

      private final boolean requiresClient
    • simulatedOperationCounter

      private int simulatedOperationCounter
    • simulatedRootInteraction

      private RootInteraction simulatedRootInteraction
    • operationIndex

      private int operationIndex
    • operationIndexOffset

      private int operationIndexOffset
    • clientOperationIndex

      private int clientOperationIndex
    • interactions

      @Nonnull private final List<InteractionEntry> interactions
    • tempSyncData

      @Nonnull private final List<InteractionSyncData> tempSyncData
    • tempSyncDataOffset

      private int tempSyncDataOffset
    • timestamp

      private long timestamp
    • waitingForServerFinished

      private long waitingForServerFinished
    • waitingForClientFinished

      private long waitingForClientFinished
    • clientState

      private InteractionState clientState
    • serverState

      private InteractionState serverState
    • finalState

      private InteractionState finalState
    • onCompletion

      @Nullable private Runnable onCompletion
    • sentInitial

      private boolean sentInitial
    • desynced

      private boolean desynced
    • timeShift

      private float timeShift
    • firstRun

      private boolean firstRun
    • isFirstRun

      private boolean isFirstRun
    • completed

      private boolean completed
    • preTicked

      private boolean preTicked
    • skipChainOnClick

      boolean skipChainOnClick
  • Constructor Details

  • Method Details

    • getType

      public InteractionType getType()
    • getChainId

      public int getChainId()
    • getForkedChainId

      public ForkedChainId getForkedChainId()
    • getBaseForkedChainId

      public ForkedChainId getBaseForkedChainId()
    • getInitialRootInteraction

      @Nonnull public RootInteraction getInitialRootInteraction()
    • isPredicted

      public boolean isPredicted()
    • getContext

      public InteractionContext getContext()
    • getChainData

      public InteractionChainData getChainData()
    • getServerState

      public InteractionState getServerState()
    • requiresClient

      public boolean requiresClient()
    • getRootInteraction

      public RootInteraction getRootInteraction()
    • getSimulatedRootInteraction

      public RootInteraction getSimulatedRootInteraction()
    • getOperationCounter

      public int getOperationCounter()
    • setOperationCounter

      public void setOperationCounter(int operationCounter)
    • getSimulatedOperationCounter

      public int getSimulatedOperationCounter()
    • setSimulatedOperationCounter

      public void setSimulatedOperationCounter(int simulatedOperationCounter)
    • wasPreTicked

      public boolean wasPreTicked()
    • setPreTicked

      public void setPreTicked(boolean preTicked)
    • getOperationIndex

      public int getOperationIndex()
    • nextOperationIndex

      public void nextOperationIndex()
    • getClientOperationIndex

      public int getClientOperationIndex()
    • findForkedChain

      @Nullable public InteractionChain findForkedChain(@Nonnull ForkedChainId chainId, @Nullable InteractionChainData data)
    • getForkedChain

      public InteractionChain getForkedChain(@Nonnull ForkedChainId chainId)
    • putForkedChain

      public void putForkedChain(@Nonnull ForkedChainId chainId, @Nonnull InteractionChain chain)
    • getTempForkedChain

      @Nullable public InteractionChain.TempChain getTempForkedChain(@Nonnull ForkedChainId chainId)
    • removeTempForkedChain

      @Nullable InteractionChain.TempChain removeTempForkedChain(@Nonnull ForkedChainId chainId, InteractionChain forkChain)
    • hasSentInitial

      public boolean hasSentInitial()
    • setSentInitial

      public void setSentInitial(boolean sentInitial)
    • getTimeShift

      public float getTimeShift()
    • setTimeShift

      public void setTimeShift(float timeShift)
    • consumeFirstRun

      public boolean consumeFirstRun()
    • isFirstRun

      public boolean isFirstRun()
    • setFirstRun

      public void setFirstRun(boolean firstRun)
    • getCallDepth

      public int getCallDepth()
    • getSimulatedCallDepth

      public int getSimulatedCallDepth()
    • pushRoot

      public void pushRoot(RootInteraction nextInteraction, boolean simulate)
    • popRoot

      public void popRoot()
    • getTimeInSeconds

      public float getTimeInSeconds()
    • setOnCompletion

      public void setOnCompletion(Runnable onCompletion)
    • onCompletion

      void onCompletion(CooldownHandler cooldownHandler, boolean isRemote)
    • updateServerState

      void updateServerState()
    • updateSimulatedState

      void updateSimulatedState()
    • getClientState

      public InteractionState getClientState()
      Specified by:
      getClientState in interface ChainSyncStorage
    • setClientState

      public void setClientState(InteractionState state)
      Specified by:
      setClientState in interface ChainSyncStorage
    • getOrCreateInteractionEntry

      @Nonnull public InteractionEntry getOrCreateInteractionEntry(int index)
    • getInteraction

      @Nullable public InteractionEntry getInteraction(int index)
      Specified by:
      getInteraction in interface ChainSyncStorage
    • removeInteractionEntry

      public void removeInteractionEntry(@Nonnull InteractionManager interactionManager, int index)
    • putInteractionSyncData

      public void putInteractionSyncData(int index, InteractionSyncData data)
      Specified by:
      putInteractionSyncData in interface ChainSyncStorage
    • clearInteractionSyncData

      public void clearInteractionSyncData(int operationIndex)
      Specified by:
      clearInteractionSyncData in interface ChainSyncStorage
    • removeInteractionSyncData

      @Nullable public InteractionSyncData removeInteractionSyncData(int index)
    • updateSyncPosition

      public void updateSyncPosition(int index)
      Specified by:
      updateSyncPosition in interface ChainSyncStorage
    • isSyncDataOutOfOrder

      public boolean isSyncDataOutOfOrder(int index)
      Specified by:
      isSyncDataOutOfOrder in interface ChainSyncStorage
    • syncFork

      public void syncFork(@Nonnull Ref<EntityStore> ref, @Nonnull InteractionManager manager, @Nonnull SyncInteractionChain packet)
      Specified by:
      syncFork in interface ChainSyncStorage
    • copyTempFrom

      public void copyTempFrom(@Nonnull InteractionChain.TempChain temp)
    • forkedIdToIndex

      private static long forkedIdToIndex(@Nonnull ForkedChainId chainId)
    • setChainId

      public void setChainId(int chainId)
    • getBaseType

      public InteractionType getBaseType()
    • setBaseType

      public void setBaseType(InteractionType baseType)
    • getForkedChains

      @Nonnull public it.unimi.dsi.fastutil.longs.Long2ObjectMap<InteractionChain> getForkedChains()
    • getTempForkedChainData

      @Nonnull public it.unimi.dsi.fastutil.longs.Long2ObjectMap<InteractionChain.TempChain> getTempForkedChainData()
    • getTimestamp

      public long getTimestamp()
    • setTimestamp

      public void setTimestamp(long timestamp)
    • getWaitingForServerFinished

      public long getWaitingForServerFinished()
    • setWaitingForServerFinished

      public void setWaitingForServerFinished(long waitingForServerFinished)
    • getWaitingForClientFinished

      public long getWaitingForClientFinished()
    • setWaitingForClientFinished

      public void setWaitingForClientFinished(long waitingForClientFinished)
    • setServerState

      public void setServerState(InteractionState serverState)
    • getFinalState

      public InteractionState getFinalState()
    • setFinalState

      public void setFinalState(InteractionState finalState)
    • setPredicted

      void setPredicted(boolean predicted)
    • flagDesync

      public void flagDesync()
    • isDesynced

      public boolean isDesynced()
    • getNewForks

      @Nonnull public List<InteractionChain> getNewForks()
    • toString

      @Nonnull public String toString()
      Overrides:
      toString in class Object