diff --git a/pom.xml b/pom.xml
index 5e44fc481b0a742e69185ba99dfb1e12842e9ec6..797f18d5ec292e16149f07f101a175d67fbd87c4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
 
 	<groupId>com.ticxo.megmolang</groupId>
 	<artifactId>Meg-Molang</artifactId>
-	<version>R1.0.0</version>
+	<version>R1.0.1</version>
 
 	<properties>
 		<maven.compiler.source>16</maven.compiler.source>
@@ -67,7 +67,7 @@
 		<dependency>
 			<groupId>com.ticxo.modelengine</groupId>
 			<artifactId>api</artifactId>
-			<version>R3.1.1</version>
+			<version>R3.1.5</version>
 			<scope>provided</scope>
 		</dependency>
 
diff --git a/src/main/java/com/ticxo/megml/ModelQuery.java b/src/main/java/com/ticxo/megml/ModelQuery.java
index 57a010360a135251fd0983fb2668936ee19d5261..a1e66a3a526d509200ed0bfff7d57f8c4d205ab3 100644
--- a/src/main/java/com/ticxo/megml/ModelQuery.java
+++ b/src/main/java/com/ticxo/megml/ModelQuery.java
@@ -1,7 +1,7 @@
 package com.ticxo.megml;
 
 import com.bedrockk.molang.runtime.MoParams;
-import com.ticxo.modelengine.api.animation.AnimationProperty;
+import com.ticxo.modelengine.api.animation.property.IAnimationProperty;
 import com.ticxo.modelengine.api.entity.BaseEntity;
 import com.ticxo.modelengine.api.model.ModeledEntity;
 import org.bukkit.attribute.Attribute;
@@ -19,7 +19,7 @@ public class ModelQuery {
 
 	private static final Vector ZERO = new Vector();
 
-	public static final Map<String, BiFunction<MoParams, AnimationProperty, Object>> MODEL_QUERY = new HashMap<>() {
+	public static final Map<String, BiFunction<MoParams, IAnimationProperty, Object>> MODEL_QUERY = new HashMap<>() {
 		{
 			put("anim_time", 		(params, property) -> property.getTime());
 			put("body_y_rotation", 	(params, property) -> getBase(property).getYBodyRot());
@@ -41,18 +41,18 @@ public class ModelQuery {
 		return attr == null ? 0 : attr.getValue();
 	}
 
-	private static Object livingOrZero(AnimationProperty property, Function<LivingEntity, Object> function) {
+	private static Object livingOrZero(IAnimationProperty property, Function<LivingEntity, Object> function) {
 		if(getBase(property).getOriginal() instanceof LivingEntity living) {
 			return function.apply(living);
 		}
 		return 0;
 	}
 
-	private static BaseEntity<?> getBase(AnimationProperty property) {
+	private static BaseEntity<?> getBase(IAnimationProperty property) {
 		return getModel(property).getBase();
 	}
 
-	private static ModeledEntity getModel(AnimationProperty property) {
+	private static ModeledEntity getModel(IAnimationProperty property) {
 		return property.getModel().getModeledEntity();
 	}
 
diff --git a/src/main/java/com/ticxo/megml/QueryData.java b/src/main/java/com/ticxo/megml/QueryData.java
index df1a041f61f3908fbd641224a26563a78ace9904..43fa72cd4b895f826a1d5d1bc1cc978e08a341d8 100644
--- a/src/main/java/com/ticxo/megml/QueryData.java
+++ b/src/main/java/com/ticxo/megml/QueryData.java
@@ -1,8 +1,8 @@
 package com.ticxo.megml;
 
 import com.bedrockk.molang.Expression;
-import com.ticxo.modelengine.api.animation.AnimationProperty;
 import com.ticxo.modelengine.api.animation.keyframe.IKeyframeData;
+import com.ticxo.modelengine.api.animation.property.IAnimationProperty;
 import lombok.RequiredArgsConstructor;
 
 import java.util.List;
@@ -14,7 +14,7 @@ public class QueryData implements IKeyframeData {
 	private final List<Expression> script;
 
 	@Override
-	public double getValue(AnimationProperty property) {
+	public double getValue(IAnimationProperty property) {
 		var runtime = manager.getOrCreateRuntime(property);
 		try {
 			var value = runtime.execute(script);
diff --git a/src/main/java/com/ticxo/megml/RuntimeManager.java b/src/main/java/com/ticxo/megml/RuntimeManager.java
index 748f9864f0f40c2f921db899daca5fca59871961..bf72dc40902c5b4f6b1754dc42ce6fa8c99944a9 100644
--- a/src/main/java/com/ticxo/megml/RuntimeManager.java
+++ b/src/main/java/com/ticxo/megml/RuntimeManager.java
@@ -3,7 +3,7 @@ package com.ticxo.megml;
 import com.bedrockk.molang.MoLang;
 import com.bedrockk.molang.runtime.MoLangRuntime;
 import com.bedrockk.molang.runtime.struct.QueryStruct;
-import com.ticxo.modelengine.api.animation.AnimationProperty;
+import com.ticxo.modelengine.api.animation.property.IAnimationProperty;
 import org.bukkit.scheduler.BukkitRunnable;
 
 import java.util.Map;
@@ -11,7 +11,7 @@ import java.util.concurrent.ConcurrentHashMap;
 
 public class RuntimeManager extends BukkitRunnable {
 
-	private final Map<AnimationProperty, MoLangRuntime> runtimes = new ConcurrentHashMap<>();
+	private final Map<IAnimationProperty, MoLangRuntime> runtimes = new ConcurrentHashMap<>();
 
 	@Override
 	public void run() {
@@ -21,7 +21,7 @@ public class RuntimeManager extends BukkitRunnable {
 		}
 	}
 
-	public MoLangRuntime getOrCreateRuntime(AnimationProperty property) {
+	public MoLangRuntime getOrCreateRuntime(IAnimationProperty property) {
 		return runtimes.computeIfAbsent(property, p -> {
 			var runtime = MoLang.createRuntime();
 			runtime.getEnvironment().getStructs().put("query", new QueryStruct<>(p, ModelQuery.MODEL_QUERY));