diff --git a/runelite-api/src/main/java/net/runelite/api/Model.java b/runelite-api/src/main/java/net/runelite/api/Model.java index f588db588b..a707707878 100644 --- a/runelite-api/src/main/java/net/runelite/api/Model.java +++ b/runelite-api/src/main/java/net/runelite/api/Model.java @@ -29,12 +29,13 @@ import java.util.List; import net.runelite.api.model.Triangle; import net.runelite.api.model.Vertex; -public class Model +public class Model extends Renderable { private final net.runelite.rs.api.Model model; public Model(net.runelite.rs.api.Model model) { + super(model); this.model = model; } diff --git a/runelite-api/src/main/java/net/runelite/api/Node.java b/runelite-api/src/main/java/net/runelite/api/Node.java index 3cc6bad0ae..630769f0d3 100644 --- a/runelite-api/src/main/java/net/runelite/api/Node.java +++ b/runelite-api/src/main/java/net/runelite/api/Node.java @@ -68,7 +68,7 @@ public class Node if (node instanceof net.runelite.rs.api.Renderable) { - return new Renderable((net.runelite.rs.api.Renderable) node); + return Renderable.of((net.runelite.rs.api.Renderable) node); } if (node instanceof net.runelite.rs.api.WidgetNode) diff --git a/runelite-api/src/main/java/net/runelite/api/Renderable.java b/runelite-api/src/main/java/net/runelite/api/Renderable.java index 6ce81eaa5c..fcb48045a8 100644 --- a/runelite-api/src/main/java/net/runelite/api/Renderable.java +++ b/runelite-api/src/main/java/net/runelite/api/Renderable.java @@ -36,11 +36,22 @@ public class Renderable extends Node public Model getModel() { - return new Model(renderable.getModel()); + net.runelite.rs.api.Model model = renderable.getModel(); + return model != null ? new Model(model) : null; } public static Renderable of(net.runelite.rs.api.Renderable renderable) { - return (Renderable) Node.of(renderable); + if (renderable == null) + { + return null; + } + + if (renderable instanceof net.runelite.rs.api.Model) + { + return new Model((net.runelite.rs.api.Model) renderable); + } + + return new Renderable(renderable); } } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/Model.java b/runescape-api/src/main/java/net/runelite/rs/api/Model.java index 0e391eaa05..1a719ec116 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/Model.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/Model.java @@ -27,7 +27,7 @@ package net.runelite.rs.api; import net.runelite.mapping.Import; -public interface Model +public interface Model extends Renderable { @Import("verticesX") int[] getVerticesX();