From f95d4af24ffc02260a636d938db7908d16491e29 Mon Sep 17 00:00:00 2001 From: Tantrum90 Date: Fri, 15 May 2026 03:34:25 +0200 Subject: [PATCH] Saves the default attribute-defaults.yml resource to the plugin data folder when it is missing. This prevents the display attribute defaults loader from logging: "No attribute defaults file found. Skipping." Existing user configuration is not overwritten. Upgraded Gradle-wrapper version to 9.5.0 --- gradle/wrapper/gradle-wrapper.properties | 4 +-- .../holograms/api/DecentHolograms.java | 30 +++++++++++++++++-- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c61a118f7..5e4927100 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists +zipStorePath=wrapper/dists \ No newline at end of file diff --git a/plugin/src/main/java/eu/decentsoftware/holograms/api/DecentHolograms.java b/plugin/src/main/java/eu/decentsoftware/holograms/api/DecentHolograms.java index 60a285f75..6fca4a3dd 100644 --- a/plugin/src/main/java/eu/decentsoftware/holograms/api/DecentHolograms.java +++ b/plugin/src/main/java/eu/decentsoftware/holograms/api/DecentHolograms.java @@ -71,6 +71,9 @@ void enable() { Settings.reload(); Lang.reload(); + // Save the default display attribute configuration if it does not exist. + saveDefaultAttributeDefaults(); + PluginManager pluginManager = Bukkit.getPluginManager(); this.integrationAvailabilityService = new IntegrationAvailabilityService(plugin, pluginManager); this.integrationAvailabilityService.initialize(); @@ -94,7 +97,6 @@ void enable() { setupMetrics(); checkForUpdates(); - BungeeUtils.init(); } @@ -125,6 +127,8 @@ public void reload() { Settings.reload(); Lang.reload(); + // Save the default display attribute configuration if it was deleted or is missing. + saveDefaultAttributeDefaults(); this.animationManager.reload(); this.hologramManager.reload(); this.featureManager.reload(); @@ -135,6 +139,27 @@ public void reload() { EventFactory.fireReloadEvent(); } + /** + * Saves attribute-defaults.yml from the plugin jar to the plugin data folder + * if the file does not already exist. + * This prevents the warning: + * "No attribute defaults file found. Skipping." + */ + private void saveDefaultAttributeDefaults() { + File file = new File(plugin.getDataFolder(), "attribute-defaults.yml"); + + if (file.exists()) { + return; + } + + try { + plugin.saveResource("attribute-defaults.yml", false); + Log.info("Saved default attribute-defaults.yml."); + } catch (IllegalArgumentException e) { + Log.warn("Could not save attribute-defaults.yml because it was not found inside the plugin jar."); + } + } + private void initializeNmsAdapter() { try { nmsAdapter = new NmsAdapterFactory().createNmsAdapter(Version.CURRENT); @@ -185,5 +210,4 @@ public File getDataFolder() { public Logger getLogger() { return plugin.getLogger(); } - -} +} \ No newline at end of file