From e4f09b85e91384e28ae758d46c61eb20ea4e7646 Mon Sep 17 00:00:00 2001
From: padrewin <97427230+padrewin@users.noreply.github.com>
Date: Mon, 27 Jan 2025 15:46:47 +0200
Subject: [PATCH 1/2] Update pom.xml
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 14d5d76..635e17d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
dev.padrewin
colddev
- 1.4.7
+ 1.4.8
jar
ColdDev
From f1da3f712719112d66a460f82866707d502b8404 Mon Sep 17 00:00:00 2001
From: padrewin <97427230+padrewin@users.noreply.github.com>
Date: Mon, 27 Jan 2025 15:46:49 +0200
Subject: [PATCH 2/2] Update CommentedConfigurationSection.java
---
.../config/CommentedConfigurationSection.java | 38 ++++++++++++++++---
1 file changed, 32 insertions(+), 6 deletions(-)
diff --git a/src/main/java/dev/padrewin/colddev/config/CommentedConfigurationSection.java b/src/main/java/dev/padrewin/colddev/config/CommentedConfigurationSection.java
index d95df2a..40ae4c8 100644
--- a/src/main/java/dev/padrewin/colddev/config/CommentedConfigurationSection.java
+++ b/src/main/java/dev/padrewin/colddev/config/CommentedConfigurationSection.java
@@ -30,17 +30,43 @@ public void set(String path, Object value, String... comments) {
}
public void addComments(String... comments) {
- for (String comment : comments)
- this.set(CommentedFileConfiguration.COMMENT_KEY_PREFIX + this.commentsCounter.getAndIncrement(), " " + comment);
+ Set existingComments = new LinkedHashSet<>();
+ for (String key : this.config.getKeys(false)) {
+ if (key.startsWith(CommentedFileConfiguration.COMMENT_KEY_PREFIX)) {
+ Object value = this.config.get(key);
+ if (value instanceof String) {
+ existingComments.add(((String) value).trim());
+ }
+ }
+ }
+
+ for (String comment : comments) {
+ if (!existingComments.contains(comment.trim())) {
+ this.set(CommentedFileConfiguration.COMMENT_KEY_PREFIX + this.commentsCounter.getAndIncrement(), " " + comment);
+ }
+ }
}
public void addPathedComments(String path, String... comments) {
- if (!this.contains(path)) {
- int subpathIndex = path.lastIndexOf('.');
- String subpath = subpathIndex == -1 ? "" : path.substring(0, subpathIndex) + '.';
+ if (this.contains(path)) return; // Dacă `path` există, evităm duplicarea.
+
+ Set existingComments = new LinkedHashSet<>();
+ int subpathIndex = path.lastIndexOf('.');
+ String subpath = subpathIndex == -1 ? "" : path.substring(0, subpathIndex) + '.';
+
+ for (String key : this.config.getKeys(false)) {
+ if (key.startsWith(CommentedFileConfiguration.COMMENT_KEY_PREFIX)) {
+ Object value = this.config.get(key);
+ if (value instanceof String) {
+ existingComments.add(((String) value).trim());
+ }
+ }
+ }
- for (String comment : comments)
+ for (String comment : comments) {
+ if (!existingComments.contains(comment.trim())) {
this.set(subpath + CommentedFileConfiguration.COMMENT_KEY_PREFIX + this.commentsCounter.getAndIncrement(), " " + comment);
+ }
}
}