diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 7c0be0c..d493ce1 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,7 +5,7 @@
-
+
@@ -106,51 +106,51 @@
- {
+ "keyToString": {
+ "Downloaded.Files.Path.Enabled": "false",
+ "Gradle.Build EntityLib.executor": "Run",
+ "Gradle.EntityLib [dependencies].executor": "Run",
+ "Gradle.EntityLib [publish].executor": "Run",
+ "Gradle.EntityLib [runServer] (1).executor": "Run",
+ "Gradle.EntityLib [runServer].executor": "Run",
+ "Gradle.EntityLib:code-gen [:code-gen:Main.main()].executor": "Run",
+ "Gradle.EntityLib:test-plugin [cleanAllRunTaskCaches].executor": "Run",
+ "Gradle.EntityLib:test-plugin [cleanCustomServiceCaches].executor": "Run",
+ "Gradle.EntityLib:test-plugin [cleanPaperCache].executor": "Run",
+ "Gradle.EntityLib:test-plugin [cleanPaperPluginsCache].executor": "Run",
+ "Gradle.EntityLib:test-plugin [publish].executor": "Run",
+ "Gradle.EntityLib:test-plugin [runServer].executor": "Run",
+ "Gradle.EntityLib:test-plugin [shadowJar].executor": "Run",
+ "JAR Application.Unnamed.executor": "Run",
+ "Repository.Attach.Annotations": "false",
+ "Repository.Attach.JavaDocs": "false",
+ "Repository.Attach.Sources": "false",
+ "RunOnceActivity.OpenProjectViewOnStart": "true",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "WebServerToolWindowFactoryState": "false",
+ "git-widget-placeholder": "master",
+ "ignore.virus.scanning.warn.message": "true",
+ "jdk.selected.JAVA_MODULE": "corretto-17",
+ "kotlin-language-version-configured": "true",
+ "last_opened_file_path": "/home/tofaa/Github/EntityLib/model-engine-addon",
+ "node.js.detected.package.eslint": "true",
+ "node.js.detected.package.tslint": "true",
+ "node.js.selected.package.eslint": "(autodetect)",
+ "node.js.selected.package.tslint": "(autodetect)",
+ "nodejs_package_manager_path": "npm",
+ "project.structure.last.edited": "Modules",
+ "project.structure.proportion": "0.15",
+ "project.structure.side.proportion": "0.2",
+ "settings.editor.selected.configurable": "preferences.editor",
+ "vue.rearranger.settings.migration": "true"
},
- "keyToStringList": {
- "kotlin-gradle-user-dirs": [
- "/home/tofaa/.gradle"
+ "keyToStringList": {
+ "kotlin-gradle-user-dirs": [
+ "/home/tofaa/.gradle"
]
}
-}]]>
+}
@@ -406,6 +406,8 @@
+
+
diff --git a/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java b/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java
index ad21f86..b75735e 100644
--- a/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java
+++ b/api/src/main/java/me/tofaa/entitylib/wrapper/WrapperEntity.java
@@ -17,6 +17,7 @@ import org.jetbrains.annotations.Nullable;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.function.Consumer;
public class WrapperEntity implements Tickable, TrackedEntity {
@@ -280,6 +281,20 @@ public class WrapperEntity implements Tickable, TrackedEntity {
return entityMeta;
}
+ public T getEntityMeta(@NotNull Class metaClass) {
+ return metaClass.cast(entityMeta);
+ }
+
+ public void consumeEntityMeta(@NotNull Class metaClass, Consumer consumer) {
+ T meta = getEntityMeta(metaClass);
+ consumer.accept(meta);
+ }
+
+ public void consumeMeta(Consumer consumer) {
+ consumer.accept(entityMeta);
+ }
+
+
public @NotNull UUID getUuid() {
return uuid;
}