Add MiniMessage support for legacy color conversion in NPC Text script and implement entity tracking in ScriptApi
All checks were successful
Build JStom / build (push) Successful in 1m23s
All checks were successful
Build JStom / build (push) Successful in 1m23s
This commit is contained in:
@@ -4,6 +4,7 @@ import net.minestom.server.MinecraftServer;
|
||||
import net.minestom.server.event.Event;
|
||||
import net.minestom.server.event.EventNode;
|
||||
import net.minestom.server.entity.EntityType;
|
||||
import net.minestom.server.entity.Entity;
|
||||
import org.graalvm.polyglot.Value;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -15,6 +16,7 @@ import java.lang.reflect.Modifier;
|
||||
|
||||
public class ScriptApi {
|
||||
private final List<EventNode<Event>> registeredNodes = new ArrayList<>();
|
||||
private final List<Entity> trackedEntities = new ArrayList<>();
|
||||
private static final Map<String, EntityType> entityTypes = new HashMap<>();
|
||||
|
||||
static {
|
||||
@@ -71,12 +73,28 @@ public class ScriptApi {
|
||||
}
|
||||
}
|
||||
|
||||
public void track(Entity entity) {
|
||||
if (entity != null) {
|
||||
synchronized (trackedEntities) {
|
||||
trackedEntities.add(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void cleanup() {
|
||||
System.out.println("[JStom] Cleaning up " + registeredNodes.size() + " event nodes...");
|
||||
for (var node : registeredNodes) {
|
||||
MinecraftServer.getGlobalEventHandler().removeChild(node);
|
||||
}
|
||||
registeredNodes.clear();
|
||||
|
||||
System.out.println("[JStom] Removing " + trackedEntities.size() + " tracked entities...");
|
||||
synchronized (trackedEntities) {
|
||||
for (Entity entity : trackedEntities) {
|
||||
entity.remove();
|
||||
}
|
||||
trackedEntities.clear();
|
||||
}
|
||||
}
|
||||
|
||||
public void log(String message) {
|
||||
|
||||
Reference in New Issue
Block a user