Class Model

    • Field Detail

    • Method Detail

      • animate

        public void animate​(int animationId,
                            int animationFrame,
                            int stanceId,
                            int stanceFrame)
      • projectTriangles

        public abstract java.util.List<Triangle> projectTriangles()
      • projectTrianglesWithin

        public abstract java.util.List<Triangle> projectTrianglesWithin​(java.awt.Shape viewport)
      • getHeight

        public abstract int getHeight()
      • projectConvexHull

        @Nullable
        public java.awt.Polygon projectConvexHull()
      • render

        public void render​(java.awt.Graphics2D g2d)
        Description copied from interface: Renderable
        Renders this entity onto the given Graphics2D, use is discouraged
        Specified by:
        render in interface Renderable
      • render

        public void render​(javafx.scene.canvas.GraphicsContext gc)
        Description copied from interface: Renderable
        Renders this entity onto the given GraphicsContext
        Specified by:
        render in interface Renderable
      • isVisible

        public boolean isVisible()
        Description copied from interface: Interactable
        Whether the entity is visible
        Specified by:
        isVisible in interface Interactable
        Returns:
        true if visible, and false if not visible
      • getVisibility

        public final double getVisibility()
        Description copied from interface: Interactable
        Returns a rough estimate of how visible this entity is as a percent (0 to 100)
        Specified by:
        getVisibility in interface Interactable
      • getInteractionPoint

        public final InteractablePoint getInteractionPoint​(java.awt.Point origin)
        Description copied from interface: Interactable
        Gets a point within the entity that can be interacted with. Takes into account the direction of movement from the origin point.
        Specified by:
        getInteractionPoint in interface Interactable
      • contains

        public final boolean contains​(java.awt.Point point)
        Description copied from interface: Interactable
        Checks if the projected bounds of this entity contains the Point provided.
        Specified by:
        contains in interface Interactable
        Returns:
      • click

        public final boolean click()
        Description copied from interface: Interactable
        Clicks this entity in an interactable point
        Specified by:
        click in interface Interactable
        Returns:
        true if successfully clicked
      • interact

        public final boolean interact​(java.util.regex.Pattern action,
                                      java.util.regex.Pattern target)
        Description copied from interface: Interactable
        Attempts to match action and target using Matcher.find() and then interacts with the appropriate menu item
        Specified by:
        interact in interface Interactable
        Parameters:
        action - The pattern to match the action with, if null it's ignored
        target - The pattern to match the target with, if null it's ignored
      • getPosition

        @Nullable
        public final Coordinate getPosition​(Coordinate regionBase)
        Description copied from interface: LocatableEntity
        Gets the position using the region base as the coordinate to offset from. For optimization.
        Specified by:
        getPosition in interface LocatableEntity
        Parameters:
        regionBase - The Coordinate base of the loaded region
      • getArea

        @Nullable
        public Area.Rectangular getArea​(Coordinate regionBase)
        Description copied from interface: LocatableEntity
        Gets the area using the region base as the coordinate to offset from. For optimization.
        Specified by:
        getArea in interface LocatableEntity
        Parameters:
        regionBase - The Coordinate base of the loaded region
      • getHighPrecisionOrientation

        public final int getHighPrecisionOrientation()
        Description copied from interface: Rotatable
        For internal usage only. Subject to removal without notice.
        Specified by:
        getHighPrecisionOrientation in interface Rotatable
      • getOrientationAsAngle

        public int getOrientationAsAngle()
        Description copied from interface: Rotatable
        Gets the current orientation as an angle.
        Specified by:
        getOrientationAsAngle in interface Rotatable
      • isFacing

        public boolean isFacing​(Locatable locatable)
        Description copied from interface: Rotatable
        Checks if this rotatable entity is facing a locatable object
        Specified by:
        isFacing in interface Rotatable
      • getAnimationId

        public final int getAnimationId()
        Description copied from interface: Animable
        Gets the entities current animation id
        Specified by:
        getAnimationId in interface Animable
        Returns:
        the current animation id, or if unavailable -1
      • getBoundingModel

        @Nullable
        public abstract BoundingModel getBoundingModel()
        Gets the BoundingModel of this model.
      • projectBoundingRectangle

        @Deprecated
        public final InteractableRectangle projectBoundingRectangle()
        Deprecated.
        Gets a bounding rectangle of the model.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getDefaultColors

        public abstract java.util.Set<java.awt.Color> getDefaultColors()
        Gets a list of colors that are used by default on the models polygons. These are sometimes replaced before being rendered and these substitutions can be retrieved from GameObjectDefinition#getColorSubstitutions and NpcDefinition#getColorSubstitutions.
      • getModel

        public Model getModel()
        Description copied from interface: Modeled
        Gets the polygon-based model of the entity
        Specified by:
        getModel in interface Modeled
        Returns:
        the entities model, otherwise the backup if set, if neither are available null
      • setBackupModel

        public void setBackupModel​(int[] frontBottomLeft,
                                   int[] backTopRight)
        Description copied from interface: Modeled
        Sets a backup model to be used when the model isn't available.
        Specified by:
        setBackupModel in interface Modeled
      • setBackupModel

        public void setBackupModel​(com.runemate.game.api.hybrid.util.collections.Pair<int[],​int[]> values)
        Description copied from interface: Modeled
        Sets a pair of points to be used to create a backup model when the in-game model isn't available
        Specified by:
        setBackupModel in interface Modeled
      • setForcedModel

        public void setForcedModel​(int[] frontBottomLeft,
                                   int[] backTopRight)
        Description copied from interface: Modeled
        Sets a model to be used regardless of whether the in-game model is available.
        Specified by:
        setForcedModel in interface Modeled
      • setForcedModel

        public void setForcedModel​(com.runemate.game.api.hybrid.util.collections.Pair<int[],​int[]> values)
        Description copied from interface: Modeled
        Sets a pair of points to be used to create a model regardless of whether the in-game model is available
        Specified by:
        setForcedModel in interface Modeled
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object