Interface MovementBehaviour

All Known Implementing Classes:
BasinMovementBehaviour, BellMovementBehaviour, BlazeBurnerMovementBehaviour, BlockBreakingMovementBehaviour, CampfireMovementBehaviour, ContactMovementBehaviour, ContraptionControlsMovement, ControlsMovementBehaviour, DeployerMovementBehaviour, DispenserMovementBehaviour, DrillMovementBehaviour, DropperMovementBehaviour, FluidTankMovementBehavior, FunnelMovementBehaviour, HarvesterMovementBehaviour, HauntedBellMovementBehaviour, PloughMovementBehaviour, PortableStorageInterfaceMovement, RollerMovementBehaviour, SawMovementBehaviour, SeatMovementBehaviour, SlidingDoorMovementBehaviour, StabilizedBearingMovementBehaviour

public interface MovementBehaviour
MovementBehaviors, also known as Actors, provide behavior to blocks mounted on contraptions. Blocks may be associated with a behavior through REGISTRY.
  • Field Details

  • Method Details

    • movementBehaviour

      static <B extends net.minecraft.world.level.block.Block> com.tterrag.registrate.util.nullness.NonNullConsumer<? super B> movementBehaviour(MovementBehaviour behaviour)
      Creates a consumer that will register a behavior to a block. Useful for Registrate.
    • isActive

      default boolean isActive(MovementContext context)
    • tick

      default void tick(MovementContext context)
    • startMoving

      default void startMoving(MovementContext context)
    • visitNewPosition

      default void visitNewPosition(MovementContext context, net.minecraft.core.BlockPos pos)
    • getActiveAreaOffset

      default net.minecraft.world.phys.Vec3 getActiveAreaOffset(MovementContext context)
    • canBeDisabledVia

      @Nullable default @Nullable net.minecraft.world.item.ItemStack canBeDisabledVia(MovementContext context)
    • onDisabledByControls

      default void onDisabledByControls(MovementContext context)
    • mustTickWhileDisabled

      default boolean mustTickWhileDisabled()
    • dropItem

      @ScheduledForRemoval(inVersion="1.21.1+ Port") @Deprecated(since="6.0.9", forRemoval=true) default void dropItem(MovementContext context, net.minecraft.world.item.ItemStack stack)
      Deprecated, for removal: This API element is subject to removal in a future version.
      since 6.0.9 - use collectOrDropItem(MovementContext, ItemStack) instead. No behaviours altered, simply a rename to reflect that we do collect items when applicable before considering dropping the remainder into the world.
    • collectOrDropItem

      default void collectOrDropItem(MovementContext context, net.minecraft.world.item.ItemStack stack)
    • onSpeedChanged

      default void onSpeedChanged(MovementContext context, net.minecraft.world.phys.Vec3 oldMotion, net.minecraft.world.phys.Vec3 motion)
    • stopMoving

      default void stopMoving(MovementContext context)
    • cancelStall

      default void cancelStall(MovementContext context)
    • writeExtraData

      default void writeExtraData(MovementContext context)
    • disableBlockEntityRendering

      default boolean disableBlockEntityRendering()
    • renderInContraption

      default void renderInContraption(MovementContext context, VirtualRenderWorld renderWorld, ContraptionMatrices matrices, net.minecraft.client.renderer.MultiBufferSource buffer)
    • createVisual

      @Nullable default @Nullable ActorVisual createVisual(dev.engine_room.flywheel.api.visualization.VisualizationContext visualizationContext, VirtualRenderWorld simulationWorld, MovementContext movementContext)