Class ProgWidgetEntityAttack

java.lang.Object
me.desht.pneumaticcraft.common.progwidgets.ProgWidget
me.desht.pneumaticcraft.common.progwidgets.ProgWidgetEntityAttack
All Implemented Interfaces:
IProgWidgetBase, IAreaProvider, IEntityProvider, IMaxActions, IProgWidget

public class ProgWidgetEntityAttack extends ProgWidget implements IAreaProvider, IEntityProvider, IMaxActions
  • Constructor Details

    • ProgWidgetEntityAttack

      public ProgWidgetEntityAttack()
  • Method Details

    • addErrors

      public void addErrors(List<net.minecraft.network.chat.Component> curInfo, List<IProgWidget> widgets)
      Specified by:
      addErrors in interface IProgWidget
      Overrides:
      addErrors in class ProgWidget
    • hasStepInput

      public boolean hasStepInput()
      Description copied from interface: IProgWidget
      Can this widget connect to a widget above?
      Specified by:
      hasStepInput in interface IProgWidget
      Returns:
      true if it can, false otherwise
    • getWidgetAI

      public net.minecraft.world.entity.ai.goal.Goal getWidgetAI(IDroneBase drone, IProgWidget widget)
      Description copied from interface: IProgWidget
      Get the AI for this progwidget
      Specified by:
      getWidgetAI in interface IProgWidget
      Overrides:
      getWidgetAI in class ProgWidget
      Parameters:
      drone - the drone
      widget - will be 'this' most of the time, but not when controlled externally (e.g. ComputerCraft)
      Returns:
      widget AI
    • getWidgetTargetAI

      public net.minecraft.world.entity.ai.goal.Goal getWidgetTargetAI(IDroneBase drone, IProgWidget widget)
      Description copied from interface: IProgWidget
      Get the targeting AI for this progwidget
      Specified by:
      getWidgetTargetAI in interface IProgWidget
      Overrides:
      getWidgetTargetAI in class ProgWidget
      Parameters:
      drone - the drone
      widget - Will be 'this' most of the time, but not when controlled externally (e.g. ComputerCraft)
      Returns:
      widget targeting AI
    • returnType

      public ProgWidgetType<?> returnType()
      Description copied from interface: IProgWidget
      For parameter widgets that are added onto the left or right of another widget, get the type of the widget being connected to.
      Specified by:
      returnType in interface IProgWidget
      Returns:
      the widget being connected to, or null if this widget isn't a parameter widget.
    • getParameters

      public List<ProgWidgetType<?>> getParameters()
      Description copied from interface: IProgWidget
      Get the types of the widgets which connect to this widget on the right, in order (top to bottom). Note that the length of the widget array returned by IProgWidget.getConnectedParameters() will be double the length of this list, since these widgets can be added on both the right (whitelist) and left (blacklist) sides.
      Specified by:
      getParameters in interface IProgWidget
      Returns:
      a list of widget types, or an empty list if no widgets can be added to the side of this widget
    • getTexture

      public net.minecraft.resources.ResourceLocation getTexture()
      Specified by:
      getTexture in interface IProgWidget
    • getValidEntities

      public List<net.minecraft.world.entity.Entity> getValidEntities(net.minecraft.world.level.Level world)
      Specified by:
      getValidEntities in interface IEntityProvider
    • isEntityValid

      public boolean isEntityValid(net.minecraft.world.entity.Entity entity)
      Specified by:
      isEntityValid in interface IEntityProvider
    • getEntityFilters

      public me.desht.pneumaticcraft.common.progwidgets.EntityFilterPair<ProgWidgetEntityAttack> getEntityFilters()
    • getArea

      public void getArea(Set<net.minecraft.core.BlockPos> area)
      Specified by:
      getArea in interface IAreaProvider
    • getArea

      public static void getArea(Set<net.minecraft.core.BlockPos> area, ProgWidgetArea whitelistWidget, ProgWidgetArea blacklistWidget)
    • getDifficulty

      public IProgWidget.WidgetDifficulty getDifficulty()
      Specified by:
      getDifficulty in interface IProgWidget
    • getColor

      public net.minecraft.world.item.DyeColor getColor()
      Specified by:
      getColor in interface IProgWidget
    • setMaxActions

      public void setMaxActions(int maxActions)
      Specified by:
      setMaxActions in interface IMaxActions
    • getMaxActions

      public int getMaxActions()
      Specified by:
      getMaxActions in interface IMaxActions
    • setUseMaxActions

      public void setUseMaxActions(boolean useMaxActions)
      Specified by:
      setUseMaxActions in interface IMaxActions
    • useMaxActions

      public boolean useMaxActions()
      Specified by:
      useMaxActions in interface IMaxActions
    • setCheckSight

      public void setCheckSight(boolean checkSight)
    • isCheckSight

      public boolean isCheckSight()
    • writeToNBT

      public void writeToNBT(net.minecraft.nbt.CompoundTag tag)
      Description copied from interface: IProgWidget
      At least do tag.putString("name", getTypeID().toString());

      Note that the base implementation ProgWidget does this.

      Specified by:
      writeToNBT in interface IProgWidget
      Overrides:
      writeToNBT in class ProgWidget
      Parameters:
      tag - NBT tag to write to
    • readFromNBT

      public void readFromNBT(net.minecraft.nbt.CompoundTag tag)
      Specified by:
      readFromNBT in interface IProgWidget
      Overrides:
      readFromNBT in class ProgWidget
    • writeToPacket

      public void writeToPacket(net.minecraft.network.FriendlyByteBuf buf)
      Specified by:
      writeToPacket in interface IProgWidget
      Overrides:
      writeToPacket in class ProgWidget
    • readFromPacket

      public void readFromPacket(net.minecraft.network.FriendlyByteBuf buf)
      Specified by:
      readFromPacket in interface IProgWidget
      Overrides:
      readFromPacket in class ProgWidget