Class BuilderSupport

java.lang.Object
com.hypixel.hytale.server.npc.asset.builder.BuilderSupport

public class BuilderSupport extends Object
  • Field Details

    • builderManager

      private final BuilderManager builderManager
    • npcEntity

      @Nonnull private final NPCEntity npcEntity
    • holder

      private final Holder<EntityStore> holder
    • executionContext

      private final ExecutionContext executionContext
    • requireLeashPosition

      private boolean requireLeashPosition
    • flagSlotMapper

      private final SlotMapper flagSlotMapper
    • beaconSlotMapper

      private final SlotMapper beaconSlotMapper
    • targetSlotMapper

      private final SlotMapper targetSlotMapper
    • positionSlotMapper

      private final SlotMapper positionSlotMapper
    • timerSlotMapper

      private final ReferenceSlotMapper<Timer> timerSlotMapper
    • searchRaySlotMapper

      private final SlotMapper searchRaySlotMapper
    • parameterSlotMapper

      private final SlotMapper parameterSlotMapper
    • instructionSlotMappings

      @Nonnull private final it.unimi.dsi.fastutil.objects.Object2IntMap<String> instructionSlotMappings
    • instructionNameMappings

      private final it.unimi.dsi.fastutil.ints.Int2ObjectMap<String> instructionNameMappings
    • instructions

      private final List<Instruction> instructions
    • playerBlockEventSlotMapper

      private EventSlotMapper<BlockEventType> playerBlockEventSlotMapper
    • npcBlockEventSlotMapper

      private EventSlotMapper<BlockEventType> npcBlockEventSlotMapper
    • playerEntityEventSlotMapper

      private EventSlotMapper<EntityEventType> playerEntityEventSlotMapper
    • npcEntityEventSlotMapper

      private EventSlotMapper<EntityEventType> npcEntityEventSlotMapper
    • globalScope

      private Scope globalScope
    • currentComponentIndex

      private int currentComponentIndex
    • componentIndexStack

      private it.unimi.dsi.fastutil.ints.IntStack componentIndexStack
    • componentIndexSource

      private int componentIndexSource
    • currentAttackIndex

      private int currentAttackIndex
    • componentLocalStateMachines

      private it.unimi.dsi.fastutil.ints.Int2IntMap componentLocalStateMachines
    • localStateMachineAutoResetStates

      private BitSet localStateMachineAutoResetStates
    • stateHelper

      private final StateMappingHelper stateHelper
    • modifiedStateMap

      private List<Map.Entry<StateMappingHelper,StatePair[]>> modifiedStateMap
    • blackboardBlockSets

      private it.unimi.dsi.fastutil.ints.IntSet blackboardBlockSets
    • blockSensorResetBlockSets

      private it.unimi.dsi.fastutil.ints.IntSet blockSensorResetBlockSets
    • requiresAttitudeOverrideMemory

      private boolean requiresAttitudeOverrideMemory
    • trackInteractions

      private boolean trackInteractions
    • currentInstructionContext

      private InstructionType currentInstructionContext
    • currentComponentContext

      private ComponentContext currentComponentContext
    • sensorScope

      @Nonnull private final StdScope sensorScope
    • roleBuilder

      @Nonnull private final Builder<?> roleBuilder
    • roleStats

      private final RoleStats roleStats
    • stateEvaluator

      private StateEvaluator stateEvaluator
    • valueStoreBuilder

      private ValueStore.Builder valueStoreBuilder
    • stateStack

      private final ArrayDeque<String> stateStack
  • Constructor Details

  • Method Details

    • getBuilderManager

      public BuilderManager getBuilderManager()
    • getEntity

      @Nonnull public NPCEntity getEntity()
    • getHolder

      public Holder<EntityStore> getHolder()
    • getExecutionContext

      public ExecutionContext getExecutionContext()
    • getParentSpawnable

      @Nonnull public Builder<?> getParentSpawnable()
    • setScope

      public void setScope(Scope scope)
    • setGlobalScope

      public void setGlobalScope(Scope scope)
    • getGlobalScope

      public Scope getGlobalScope()
    • setRequireLeashPosition

      public void setRequireLeashPosition()
    • getFlagSlot

      public int getFlagSlot(String name)
    • getTimerByName

      public Timer getTimerByName(String name)
    • getBeaconMessageSlot

      public int getBeaconMessageSlot(String name)
    • getTargetSlot

      public int getTargetSlot(String name)
    • getAlarm

      public Alarm getAlarm(String name)
    • getTargetSlotMappings

      @Nullable public it.unimi.dsi.fastutil.objects.Object2IntMap<String> getTargetSlotMappings()
    • getTargetSlotToNameMap

      @Nullable public it.unimi.dsi.fastutil.ints.Int2ObjectMap<String> getTargetSlotToNameMap()
    • getPositionSlot

      public int getPositionSlot(String name)
    • getParameterSlot

      public int getParameterSlot(String name)
    • getSearchRaySlot

      public int getSearchRaySlot(String name)
    • allocatePositionSlots

      @Nullable public Vector3d[] allocatePositionSlots()
    • requiresLeashPosition

      public boolean requiresLeashPosition()
    • getStateEvaluator

      public StateEvaluator getStateEvaluator()
    • setStateEvaluator

      public void setStateEvaluator(StateEvaluator stateEvaluator)
    • allocateFlags

      public boolean[] allocateFlags()
    • allocateTimers

      @Nullable public Tickable[] allocateTimers()
    • allocateSearchRayPositionSlots

      @Nullable public Vector3d[] allocateSearchRayPositionSlots()
    • getSensorScope

      @Nonnull public StdScope getSensorScope()
    • setToNewComponent

      public void setToNewComponent()
    • addComponentLocalStateMachine

      public void addComponentLocalStateMachine(int defaultState)
    • getComponentIndex

      public int getComponentIndex()
    • popComponent

      public void popComponent()
    • hasComponentLocalStateMachines

      public boolean hasComponentLocalStateMachines()
    • getComponentLocalStateMachines

      public it.unimi.dsi.fastutil.ints.Int2IntMap getComponentLocalStateMachines()
    • setLocalStateMachineAutoReset

      public void setLocalStateMachineAutoReset()
    • getLocalStateMachineAutoResetStates

      public BitSet getLocalStateMachineAutoResetStates()
    • getStateHelper

      public StateMappingHelper getStateHelper()
    • getBeaconSlotMappings

      @Nullable public it.unimi.dsi.fastutil.objects.Object2IntMap<String> getBeaconSlotMappings()
    • hasBlockEventSupport

      public boolean hasBlockEventSupport()
    • getPlayerBlockEventSlotMapper

      public EventSlotMapper<BlockEventType> getPlayerBlockEventSlotMapper()
    • getNPCBlockEventSlotMapper

      public EventSlotMapper<BlockEventType> getNPCBlockEventSlotMapper()
    • hasEntityEventSupport

      public boolean hasEntityEventSupport()
    • getPlayerEntityEventSlotMapper

      public EventSlotMapper<EntityEventType> getPlayerEntityEventSlotMapper()
    • getNPCEntityEventSlotMapper

      public EventSlotMapper<EntityEventType> getNPCEntityEventSlotMapper()
    • getInstructionSlot

      public int getInstructionSlot(@Nullable String name)
    • putInstruction

      public void putInstruction(int slot, Instruction instruction)
    • getInstructionSlotMappings

      @Nonnull public Instruction[] getInstructionSlotMappings()
    • setModifiedStateMap

      public void setModifiedStateMap(@Nonnull StateMappingHelper helper, @Nonnull StatePair[] map)
    • getMappedStatePair

      @Nonnull public StatePair getMappedStatePair(int index)
    • popModifiedStateMap

      public void popModifiedStateMap()
    • requireBlockTypeBlackboard

      public void requireBlockTypeBlackboard(int blockSet)
    • registerBlockSensorResetAction

      public void registerBlockSensorResetAction(int blockSet)
    • requiresBlockTypeBlackboard

      public boolean requiresBlockTypeBlackboard()
    • getBlockTypeBlackboardBlockSets

      @Nonnull public it.unimi.dsi.fastutil.ints.IntList getBlockTypeBlackboardBlockSets()
    • getBlockEventSlot

      public int getBlockEventSlot(BlockEventType type, int blockSet, double maxRange, boolean player)
    • getBlockChangeSets

      @Nullable public it.unimi.dsi.fastutil.ints.IntSet getBlockChangeSets(BlockEventType type)
    • getEntityEventSlot

      public int getEntityEventSlot(EntityEventType type, int npcGroup, double maxRange, boolean player)
    • getEventNPCGroups

      @Nullable public it.unimi.dsi.fastutil.ints.IntSet getEventNPCGroups(EntityEventType type)
    • requireAttitudeOverrideMemory

      public void requireAttitudeOverrideMemory()
    • trackInteractions

      public void trackInteractions()
    • isTrackInteractions

      public boolean isTrackInteractions()
    • requiresAttitudeOverrideMemory

      public boolean requiresAttitudeOverrideMemory()
    • setCurrentInstructionContext

      public void setCurrentInstructionContext(InstructionType context)
    • getCurrentInstructionContext

      public InstructionType getCurrentInstructionContext()
    • getCurrentComponentContext

      public ComponentContext getCurrentComponentContext()
    • setCurrentComponentContext

      public void setCurrentComponentContext(ComponentContext currentComponentContext)
    • getRoleStats

      public RoleStats getRoleStats()
    • getNextAttackIndex

      public int getNextAttackIndex()
    • getValueStoreStringSlot

      public int getValueStoreStringSlot(String name)
    • getValueStoreIntSlot

      public int getValueStoreIntSlot(String name)
    • getValueStoreDoubleSlot

      public int getValueStoreDoubleSlot(String name)
    • getValueStoreBuilder

      public ValueStore.Builder getValueStoreBuilder()
    • getCurrentStateName

      @Nullable public String getCurrentStateName()
    • pushCurrentStateName

      public void pushCurrentStateName(@Nonnull String currentStateName)
    • popCurrentStateName

      public void popCurrentStateName()
    • allocatePositionSlots

      @Nullable private static Vector3d[] allocatePositionSlots(@Nonnull SlotMapper mapper)