From b8f4be839113f6ef56383752689ebd86f7c024fe Mon Sep 17 00:00:00 2001
From: xSquishyLiam <56977759+xSquishyLiam@users.noreply.github.com>
Date: Sat, 13 Dec 2025 23:42:18 +0000
Subject: [PATCH] added a floodgate hook option, defaults to true _yes will be
doing versioning from now on)
---
.idea/workspace.xml | 13 ++++++++++++-
paper/build.gradle.kts | 11 ++++++++++-
.../re/imc/geysermodelengine/GeyserModelEngine.java | 5 ++++-
.../geysermodelengine/hooks/FloodgateAPIHook.java | 8 +++-----
.../propertyhandler/ModelEnginePropertyHandler.java | 4 +++-
paper/src/main/resources/config.yml | 4 +++-
paper/src/main/resources/paper-plugin.yml | 2 +-
7 files changed, 36 insertions(+), 11 deletions(-)
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 8797656..274c5a3 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -11,7 +11,7 @@
-
+
@@ -31,6 +31,17 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/paper/build.gradle.kts b/paper/build.gradle.kts
index 73239ab..f4e67cf 100644
--- a/paper/build.gradle.kts
+++ b/paper/build.gradle.kts
@@ -4,7 +4,7 @@ plugins {
}
group = "re.imc"
-version = "1.0.0"
+version = "1.0.1"
repositories {
mavenCentral()
@@ -58,4 +58,13 @@ tasks.shadowJar {
tasks.build {
dependsOn("shadowJar")
+}
+
+tasks.processResources {
+ val props = mapOf("version" to version)
+ inputs.properties(props)
+ filteringCharset = "UTF-8"
+ filesMatching("paper-plugin.yml") {
+ expand(props)
+ }
}
\ No newline at end of file
diff --git a/paper/src/main/java/re/imc/geysermodelengine/GeyserModelEngine.java b/paper/src/main/java/re/imc/geysermodelengine/GeyserModelEngine.java
index 95507ab..edc1384 100644
--- a/paper/src/main/java/re/imc/geysermodelengine/GeyserModelEngine.java
+++ b/paper/src/main/java/re/imc/geysermodelengine/GeyserModelEngine.java
@@ -35,6 +35,7 @@ public class GeyserModelEngine extends JavaPlugin {
PacketEvents.getAPI().load();
// CommandAPI.onLoad(new CommandAPIPaperConfig(this));
+ preLoadManagers();
}
@Override
@@ -68,9 +69,11 @@ public class GeyserModelEngine extends JavaPlugin {
if (this.configManager.getConfig().getBoolean("metrics.bstats", true)) new Metrics(this, 26981);
}
- private void loadManagers() {
+ private void preLoadManagers() {
this.configManager = new ConfigManager(this);
+ }
+ private void loadManagers() {
this.commandManager = new CommandManager(this);
this.modelManager = new ModelManager(this);
diff --git a/paper/src/main/java/re/imc/geysermodelengine/hooks/FloodgateAPIHook.java b/paper/src/main/java/re/imc/geysermodelengine/hooks/FloodgateAPIHook.java
index fa0b0a4..b192306 100644
--- a/paper/src/main/java/re/imc/geysermodelengine/hooks/FloodgateAPIHook.java
+++ b/paper/src/main/java/re/imc/geysermodelengine/hooks/FloodgateAPIHook.java
@@ -9,15 +9,13 @@ public class FloodgateAPIHook {
private static FloodgateApi floodgateAPI;
public static void loadHook(GeyserModelEngine plugin) {
- if (Bukkit.getPluginManager().getPlugin("floodgate") == null) {
- plugin.getLogger().info("floodgate hook not enabled!");
+ if (Bukkit.getPluginManager().getPlugin("floodgate") == null || !plugin.getConfigManager().getConfig().getBoolean("options.hooks.floodgate", true)) {
+ plugin.getLogger().info("Floodgate hook disabled!");
return;
}
floodgateAPI = FloodgateApi.getInstance();
-
- plugin.getLogger().info("Hooking into floodgate!");
-
+ plugin.getLogger().info("Floodgate hook enabled!");
}
public static FloodgateApi getAPI() {
diff --git a/paper/src/main/java/re/imc/geysermodelengine/managers/model/propertyhandler/ModelEnginePropertyHandler.java b/paper/src/main/java/re/imc/geysermodelengine/managers/model/propertyhandler/ModelEnginePropertyHandler.java
index 6a98566..95e8353 100644
--- a/paper/src/main/java/re/imc/geysermodelengine/managers/model/propertyhandler/ModelEnginePropertyHandler.java
+++ b/paper/src/main/java/re/imc/geysermodelengine/managers/model/propertyhandler/ModelEnginePropertyHandler.java
@@ -95,6 +95,8 @@ public class ModelEnginePropertyHandler implements PropertyHandler {
if (anim.isOverride() && anim.getLoopMode() == BlueprintAnimation.LoopMode.ONCE) {
break;
}
+
+ plugin.getLogger().info(animId);
}
}
@@ -121,8 +123,8 @@ public class ModelEnginePropertyHandler implements PropertyHandler {
if (boneUpdates.isEmpty() && animUpdates.isEmpty()) return;
Map intUpdates = new HashMap<>();
- int i = 0;
+ int i = 0;
for (Integer integer : BooleanPacker.mapBooleansToInts(boneUpdates)) {
intUpdates.put(plugin.getConfigManager().getConfig().getString("models.namespace") + ":bone" + i, integer);
i++;
diff --git a/paper/src/main/resources/config.yml b/paper/src/main/resources/config.yml
index 32d3d21..a4da727 100644
--- a/paper/src/main/resources/config.yml
+++ b/paper/src/main/resources/config.yml
@@ -10,4 +10,6 @@ models:
thread-pool-size: 4
options:
- debug: false
\ No newline at end of file
+ debug: false
+ hooks:
+ floodgate: true # Recommended method
\ No newline at end of file
diff --git a/paper/src/main/resources/paper-plugin.yml b/paper/src/main/resources/paper-plugin.yml
index 61af711..9374450 100644
--- a/paper/src/main/resources/paper-plugin.yml
+++ b/paper/src/main/resources/paper-plugin.yml
@@ -1,6 +1,6 @@
main: re.imc.geysermodelengine.GeyserModelEngine
name: GeyserModelEngine
-version: '1.0.0'
+version: '${version}'
api-version: '1.21'
authors: