From 0176d862333f119dd1f784d9c43f556bcb4d6f35 Mon Sep 17 00:00:00 2001
From: xSquishyLiam <56977759+xSquishyLiam@users.noreply.github.com>
Date: Fri, 26 Sep 2025 04:05:48 +0100
Subject: [PATCH] cleaner config.yml (guess i never pushed this)
---
.idea/workspace.xml | 98 ++++++++++++++-----
build.gradle.kts | 2 +-
.../geysermodelengine/GeyserModelEngine.java | 6 +-
.../managers/model/EntityTaskManager.java | 2 +-
.../ModelHandler/BetterModelHandler.java | 2 +-
.../BetterModelPropertyHandler.java | 7 +-
.../ModelEnginePropertyHandler.java | 7 +-
.../taskshandler/BetterModelTaskHandler.java | 3 +-
.../taskshandler/ModelEngineTaskHandler.java | 2 +-
.../BedrockMountControlRunnable.java | 6 +-
src/main/resources/config.yml | 27 ++---
11 files changed, 108 insertions(+), 54 deletions(-)
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 3efe439..93e4eaf 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,12 +5,16 @@
-
+
+
+
-
-
+
+
+
+
@@ -64,7 +68,7 @@
-
+
@@ -82,26 +86,28 @@
- {
- "keyToString": {
- "Gradle.Build GeyserModelEngine.executor": "Run",
- "Gradle.Download Sources.executor": "Run",
- "Gradle.GeyserModelEngine [build].executor": "Run",
- "Gradle.GeyserModelEngine [jar].executor": "Run",
- "Maven.GeyserModelEngine [install...].executor": "Run",
- "Maven.GeyserModelEngine [install].executor": "Run",
- "ModuleVcsDetector.initialDetectionPerformed": "true",
- "RunOnceActivity.ShowReadmeOnStart": "true",
- "RunOnceActivity.git.unshallow": "true",
- "git-widget-placeholder": "bettermodel-support-dev",
- "kotlin-language-version-configured": "true",
- "last_opened_file_path": "D:/Coding/Forks/Minecraft/GeyserModelEngine",
- "project.structure.last.edited": "Project",
- "project.structure.proportion": "0.0",
- "project.structure.side.proportion": "0.2",
- "settings.editor.selected.configurable": "reference.settings.project.maven.runner"
+
+}]]>
@@ -112,6 +118,50 @@
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ false
+ false
+
+
@@ -159,6 +209,8 @@
+
+
diff --git a/build.gradle.kts b/build.gradle.kts
index c3db598..3106b64 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -29,7 +29,7 @@ dependencies {
compileOnly(files("libs/geyserutils-spigot-1.0-SNAPSHOT.jar"))
compileOnly("org.geysermc.floodgate:api:2.2.4-SNAPSHOT")
- implementation("com.github.retrooper:packetevents-spigot:2.9.5")
+ implementation("com.github.retrooper:packetevents-spigot:2.9.6")
implementation("org.bstats:bstats-bukkit:3.0.2")
implementation("org.reflections:reflections:0.10.2")
diff --git a/src/main/java/re/imc/geysermodelengine/GeyserModelEngine.java b/src/main/java/re/imc/geysermodelengine/GeyserModelEngine.java
index 7b2f283..ef5a964 100644
--- a/src/main/java/re/imc/geysermodelengine/GeyserModelEngine.java
+++ b/src/main/java/re/imc/geysermodelengine/GeyserModelEngine.java
@@ -65,7 +65,7 @@ public class GeyserModelEngine extends JavaPlugin {
}
private void loadBStats() {
- if (configManager.getConfig().getBoolean("bstats", true)) new Metrics(this, 26981);
+ if (configManager.getConfig().getBoolean("metrics.bstats", true)) new Metrics(this, 26981);
}
private void loadManagers() {
@@ -78,9 +78,9 @@ public class GeyserModelEngine extends JavaPlugin {
}
private void loadRunnables() {
- this.schedulerPool = Executors.newScheduledThreadPool(configManager.getConfig().getInt("thread-pool-size", 4));
+ this.schedulerPool = Executors.newScheduledThreadPool(configManager.getConfig().getInt("models.thread-pool-size", 4));
- Bukkit.getAsyncScheduler().runAtFixedRate(this, new UpdateTaskRunnable(this), 10, configManager.getConfig().getLong("entity-position-update-period", 35), TimeUnit.MILLISECONDS);
+ Bukkit.getAsyncScheduler().runAtFixedRate(this, new UpdateTaskRunnable(this), 10, configManager.getConfig().getLong("models.entity-position-update-period", 35), TimeUnit.MILLISECONDS);
Bukkit.getAsyncScheduler().runAtFixedRate(this, new BedrockMountControlRunnable(this), 1, 1, TimeUnit.MILLISECONDS);
}
diff --git a/src/main/java/re/imc/geysermodelengine/managers/model/EntityTaskManager.java b/src/main/java/re/imc/geysermodelengine/managers/model/EntityTaskManager.java
index 4af61f7..50942eb 100644
--- a/src/main/java/re/imc/geysermodelengine/managers/model/EntityTaskManager.java
+++ b/src/main/java/re/imc/geysermodelengine/managers/model/EntityTaskManager.java
@@ -62,7 +62,7 @@ public class EntityTaskManager {
boolean firstJoined = !plugin.getModelManager().getPlayerJoinedCache().contains(onlinePlayer.getUniqueId());
if (firstJoined) {
- task.sendEntityData(model, onlinePlayer, plugin.getConfigManager().getConfig().getInt("join-send-delay") / 50);
+ task.sendEntityData(model, onlinePlayer, plugin.getConfigManager().getConfig().getInt("models.join-send-delay") / 50);
} else {
task.sendEntityData(model, onlinePlayer, 5);
}
diff --git a/src/main/java/re/imc/geysermodelengine/managers/model/ModelHandler/BetterModelHandler.java b/src/main/java/re/imc/geysermodelengine/managers/model/ModelHandler/BetterModelHandler.java
index b3d1a1f..e19735a 100644
--- a/src/main/java/re/imc/geysermodelengine/managers/model/ModelHandler/BetterModelHandler.java
+++ b/src/main/java/re/imc/geysermodelengine/managers/model/ModelHandler/BetterModelHandler.java
@@ -1,7 +1,6 @@
package re.imc.geysermodelengine.managers.model.ModelHandler;
import kr.toxicity.model.api.tracker.EntityTracker;
-import kr.toxicity.model.api.tracker.EntityTrackerRegistry;
import kr.toxicity.model.api.tracker.Tracker;
import org.bukkit.Bukkit;
import org.bukkit.entity.Entity;
@@ -24,6 +23,7 @@ public class BetterModelHandler implements ModelHandler {
this.plugin = plugin;
}
+ //TODO fix dupe issue - dupe happens when server restart
@Override
public void createModel(Object... objects) {
Entity entitySource = (Entity) objects[0];
diff --git a/src/main/java/re/imc/geysermodelengine/managers/model/PropertyHandler/BetterModelPropertyHandler.java b/src/main/java/re/imc/geysermodelengine/managers/model/PropertyHandler/BetterModelPropertyHandler.java
index dc4a23f..e457d69 100644
--- a/src/main/java/re/imc/geysermodelengine/managers/model/PropertyHandler/BetterModelPropertyHandler.java
+++ b/src/main/java/re/imc/geysermodelengine/managers/model/PropertyHandler/BetterModelPropertyHandler.java
@@ -11,7 +11,6 @@ import org.jetbrains.annotations.NotNull;
import re.imc.geysermodelengine.GeyserModelEngine;
import re.imc.geysermodelengine.managers.model.entity.BetterModelEntityData;
import re.imc.geysermodelengine.managers.model.entity.EntityData;
-import re.imc.geysermodelengine.managers.model.entity.ModelEngineEntityData;
import re.imc.geysermodelengine.util.BooleanPacker;
import java.awt.*;
@@ -111,13 +110,13 @@ public class BetterModelPropertyHandler implements PropertyHandler {
int i = 0;
for (Integer integer : BooleanPacker.mapBooleansToInts(boneUpdates)) {
- intUpdates.put(plugin.getConfigManager().getConfig().getString("namespace") + ":bone" + i, integer);
+ intUpdates.put(plugin.getConfigManager().getConfig().getString("models.namespace") + ":bone" + i, integer);
i++;
}
i = 0;
for (Integer integer : BooleanPacker.mapBooleansToInts(animUpdates)) {
- intUpdates.put(plugin.getConfigManager().getConfig().getString("namespace") + ":anim" + i, integer);
+ intUpdates.put(plugin.getConfigManager().getConfig().getString("models.namespace") + ":anim" + i, integer);
i++;
}
@@ -130,7 +129,7 @@ public class BetterModelPropertyHandler implements PropertyHandler {
}
}
- if (plugin.getConfigManager().getConfig().getBoolean("debug")) plugin.getLogger().info(animUpdates.toString());
+ if (plugin.getConfigManager().getConfig().getBoolean("options.debug")) plugin.getLogger().info(animUpdates.toString());
List list = new ArrayList<>(boneUpdates.keySet());
Collections.sort(list);
diff --git a/src/main/java/re/imc/geysermodelengine/managers/model/PropertyHandler/ModelEnginePropertyHandler.java b/src/main/java/re/imc/geysermodelengine/managers/model/PropertyHandler/ModelEnginePropertyHandler.java
index e70d1a0..4afdc6d 100644
--- a/src/main/java/re/imc/geysermodelengine/managers/model/PropertyHandler/ModelEnginePropertyHandler.java
+++ b/src/main/java/re/imc/geysermodelengine/managers/model/PropertyHandler/ModelEnginePropertyHandler.java
@@ -3,7 +3,6 @@ package re.imc.geysermodelengine.managers.model.PropertyHandler;
import com.ticxo.modelengine.api.animation.BlueprintAnimation;
import com.ticxo.modelengine.api.animation.handler.AnimationHandler;
import com.ticxo.modelengine.api.generator.blueprint.BlueprintBone;
-import com.ticxo.modelengine.api.model.ActiveModel;
import com.ticxo.modelengine.api.model.bone.ModelBone;
import com.ticxo.modelengine.api.model.render.DisplayRenderer;
import me.zimzaza4.geyserutils.spigot.api.EntityUtils;
@@ -130,13 +129,13 @@ public class ModelEnginePropertyHandler implements PropertyHandler {
int i = 0;
for (Integer integer : BooleanPacker.mapBooleansToInts(boneUpdates)) {
- intUpdates.put(plugin.getConfigManager().getConfig().getString("namespace") + ":bone" + i, integer);
+ intUpdates.put(plugin.getConfigManager().getConfig().getString("models.namespace") + ":bone" + i, integer);
i++;
}
i = 0;
for (Integer integer : BooleanPacker.mapBooleansToInts(animUpdates)) {
- intUpdates.put(plugin.getConfigManager().getConfig().getString("namespace") + ":anim" + i, integer);
+ intUpdates.put(plugin.getConfigManager().getConfig().getString("models.namespace") + ":anim" + i, integer);
i++;
}
@@ -149,7 +148,7 @@ public class ModelEnginePropertyHandler implements PropertyHandler {
}
}
- if (plugin.getConfigManager().getConfig().getBoolean("debug")) plugin.getLogger().info(animUpdates.toString());
+ if (plugin.getConfigManager().getConfig().getBoolean("options.debug")) plugin.getLogger().info(animUpdates.toString());
List list = new ArrayList<>(boneUpdates.keySet());
Collections.sort(list);
diff --git a/src/main/java/re/imc/geysermodelengine/managers/model/taskshandler/BetterModelTaskHandler.java b/src/main/java/re/imc/geysermodelengine/managers/model/taskshandler/BetterModelTaskHandler.java
index ae57efc..18c91fd 100644
--- a/src/main/java/re/imc/geysermodelengine/managers/model/taskshandler/BetterModelTaskHandler.java
+++ b/src/main/java/re/imc/geysermodelengine/managers/model/taskshandler/BetterModelTaskHandler.java
@@ -58,7 +58,6 @@ public class BetterModelTaskHandler implements TaskHandler {
entityData.teleportToModel();
-
if (entitySource.isDead() || tracker.forRemoval()) {
removed = true;
entity.remove();
@@ -96,7 +95,7 @@ public class BetterModelTaskHandler implements TaskHandler {
public void sendEntityData(EntityData entityData, Player player, int delay) {
BetterModelEntityData betterModelEntityData = (BetterModelEntityData) entityData;
- EntityUtils.setCustomEntity(player, betterModelEntityData.getEntity().getEntityId(), plugin.getConfigManager().getConfig().getString("namespace") + ":" + betterModelEntityData.getTracker().name().toLowerCase());
+ EntityUtils.setCustomEntity(player, betterModelEntityData.getEntity().getEntityId(), plugin.getConfigManager().getConfig().getString("models.namespace") + ":" + betterModelEntityData.getTracker().name().toLowerCase());
plugin.getSchedulerPool().schedule(() -> {
entityData.getEntity().sendSpawnPacket(Collections.singletonList(player));
diff --git a/src/main/java/re/imc/geysermodelengine/managers/model/taskshandler/ModelEngineTaskHandler.java b/src/main/java/re/imc/geysermodelengine/managers/model/taskshandler/ModelEngineTaskHandler.java
index 282040b..dc11348 100644
--- a/src/main/java/re/imc/geysermodelengine/managers/model/taskshandler/ModelEngineTaskHandler.java
+++ b/src/main/java/re/imc/geysermodelengine/managers/model/taskshandler/ModelEngineTaskHandler.java
@@ -95,7 +95,7 @@ public class ModelEngineTaskHandler implements TaskHandler {
public void sendEntityData(EntityData entityData, Player player, int delay) {
ModelEngineEntityData modelEngineEntityData = (ModelEngineEntityData) entityData;
- EntityUtils.setCustomEntity(player, modelEngineEntityData.getEntity().getEntityId(), plugin.getConfigManager().getConfig().getString("namespace") + ":" + modelEngineEntityData.getActiveModel().getBlueprint().getName().toLowerCase());
+ EntityUtils.setCustomEntity(player, modelEngineEntityData.getEntity().getEntityId(), plugin.getConfigManager().getConfig().getString("models.namespace") + ":" + modelEngineEntityData.getActiveModel().getBlueprint().getName().toLowerCase());
plugin.getSchedulerPool().schedule(() -> {
entityData.getEntity().sendSpawnPacket(Collections.singletonList(player));
diff --git a/src/main/java/re/imc/geysermodelengine/runnables/BedrockMountControlRunnable.java b/src/main/java/re/imc/geysermodelengine/runnables/BedrockMountControlRunnable.java
index 7693197..a0f8906 100644
--- a/src/main/java/re/imc/geysermodelengine/runnables/BedrockMountControlRunnable.java
+++ b/src/main/java/re/imc/geysermodelengine/runnables/BedrockMountControlRunnable.java
@@ -9,9 +9,9 @@ import io.papermc.paper.threadedregions.scheduler.ScheduledTask;
import org.apache.commons.lang3.tuple.Pair;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
-import org.geysermc.floodgate.api.FloodgateApi;
import re.imc.geysermodelengine.GeyserModelEngine;
+import java.util.UUID;
import java.util.function.Consumer;
public class BedrockMountControlRunnable implements Consumer {
@@ -24,8 +24,8 @@ public class BedrockMountControlRunnable implements Consumer {
@Override
public void accept(ScheduledTask scheduledTask) {
- for (Player player : Bukkit.getOnlinePlayers()) {
- if (!FloodgateApi.getInstance().isFloodgatePlayer(player.getUniqueId())) continue;
+ for (UUID playerUUID : plugin.getModelManager().getPlayerJoinedCache()) {
+ Player player = Bukkit.getPlayer(playerUUID);
float pitch = player.getLocation().getPitch();
Pair seat = plugin.getModelManager().getDriversCache().get(player.getUniqueId());
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index ff07ed8..0afb197 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -1,13 +1,18 @@
-bstats: true
+metrics:
+ bstats: true
-namespace: "modelengine"
-data-send-delay: 5
-entity-view-distance: 50
-join-send-delay: 20
-entity-position-update-period: 35
-thread-pool-size: 4
-model-entity-type: BAT # must be a living entity
-enable-part-visibility-models:
- - example
+models:
+ namespace: "modelengine"
+ data-send-delay: 5
+ entity-view-distance: 50
+ join-send-delay: 20
+ entity-position-update-period: 35
+ thread-pool-size: 4
+ model-entity-type: BAT # must be a living entity
+ enable-part-visibility-models:
+ - example
-debug: false
\ No newline at end of file
+options:
+ debug: false
+ resource-pack:
+ auto-load: true
\ No newline at end of file