From 3b27cc3b30612391c889d312629e4d0beb9ab79f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= Date: Thu, 22 Oct 2026 18:09:55 +0200 Subject: [PATCH 1/6] Init --- buildSrc/src/main/kotlin/Versions.kt | 2 +- .../implementation/PluginConfiguration.java | 8 +++++++ .../core/feature/itemedit/ItemEditConfig.java | 19 +++++++++++++++ .../feature/itemedit/ItemEditSettings.java | 9 ++++++++ .../feature/itemedit/ItemLoreCommand.java | 23 ++++++++++++++++++- .../feature/itemedit/ItemNameCommand.java | 23 ++++++++++++++++++- .../itemedit/messages/ENItemEditMessages.java | 6 +++++ .../itemedit/messages/ItemEditMessages.java | 4 ++++ .../itemedit/messages/PLItemEditMessages.java | 6 +++++ eternalcore-plugin/build.gradle.kts | 2 +- 10 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditConfig.java create mode 100644 eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditSettings.java diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index ca2578aa7..b63f54f74 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -35,7 +35,7 @@ object Versions { const val XSERIES = "13.7.1" - const val LUCKPERMS = "5.5.0" + const val LUCKPERMS = "5.5.71" const val BSTATS = "3.2.1" diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/configuration/implementation/PluginConfiguration.java b/eternalcore-core/src/main/java/com/eternalcode/core/configuration/implementation/PluginConfiguration.java index fa75a4282..b310b01c3 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/configuration/implementation/PluginConfiguration.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/configuration/implementation/PluginConfiguration.java @@ -3,6 +3,8 @@ import com.eternalcode.core.configuration.AbstractConfigurationFile; import com.eternalcode.core.database.DatabaseConfig; import com.eternalcode.core.database.DatabaseSettings; +import com.eternalcode.core.feature.itemedit.ItemEditConfig; +import com.eternalcode.core.feature.itemedit.ItemEditSettings; import com.eternalcode.core.teleport.settings.TeleportConfig; import com.eternalcode.core.teleport.settings.TeleportSettings; import com.eternalcode.core.util.date.DateConfig; @@ -216,6 +218,12 @@ public static class Format extends OkaeriConfig { @Comment("# Settings for automatic message broadcasting") AutoMessageConfig autoMessage = new AutoMessageConfig(); + @Bean(proxied = ItemEditSettings.class) + @Comment("") + @Comment("# Auto Message Configuration") + @Comment("# Settings for automatic message broadcasting") + ItemEditConfig itemEditConfig = new ItemEditConfig(); + @Bean(proxied = JailSettings.class) @Comment("") @Comment("# Jail Configuration") diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditConfig.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditConfig.java new file mode 100644 index 000000000..b14c5f9c2 --- /dev/null +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditConfig.java @@ -0,0 +1,19 @@ +package com.eternalcode.core.feature.itemedit; + +import eu.okaeri.configs.OkaeriConfig; +import eu.okaeri.configs.annotation.Comment; +import java.util.Collections; +import java.util.List; +import lombok.Getter; +import lombok.experimental.Accessors; + +@Getter +@Accessors(fluent = true) +public class ItemEditConfig extends OkaeriConfig implements ItemEditSettings { + @Comment("# Blacklist words that cannot be added to the item lore using /ItemLore command. Leave empty if none") + public List itemLoreBlacklistWords = Collections.singletonList("DUPA"); + + @Comment("# Blacklist words that cannot be added to the item lore using /itemname command. Leave empty if none") + public List itemNameBlacklistWords = Collections.singletonList("DUPA"); + +} diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditSettings.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditSettings.java new file mode 100644 index 000000000..7da08af02 --- /dev/null +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditSettings.java @@ -0,0 +1,9 @@ +package com.eternalcode.core.feature.itemedit; + +import java.util.List; + +public interface ItemEditSettings { + + List itemLoreBlacklistWords(); + List itemNameBlacklistWords(); +} diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java index 7e88aa2da..50ce3e477 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java @@ -23,11 +23,13 @@ class ItemLoreCommand { private final NoticeService noticeService; private final MiniMessage miniMessage; + private final ItemEditSettings itemEditSettings; @Inject - ItemLoreCommand(NoticeService noticeService, MiniMessage miniMessage) { + ItemLoreCommand(NoticeService noticeService, MiniMessage miniMessage, ItemEditSettings itemEditSettings) { this.noticeService = noticeService; this.miniMessage = miniMessage; + this.itemEditSettings = itemEditSettings; } @Execute @@ -48,6 +50,25 @@ void execute(@Sender Player player, @Arg(ItemLoreArgument.KEY) int line, @Join S lore.add(""); } + + List blacklistedWords = this.itemEditSettings.itemLoreBlacklistWords(); + + if (blacklistedWords != null) { + String lowerCaseCommandText = text.toLowerCase(); + + for (String word : blacklistedWords) { + String lowerCaseBlacklistedWord = word.toLowerCase(); + if (lowerCaseCommandText.contains(lowerCaseBlacklistedWord)) { + this.noticeService.create() + .notice(translation -> translation.itemEdit().itemLoreWordCannotBeUsed()) + .player(player.getUniqueId()) + .placeholder("{WORD}", word) + .send(); + return; + } + } + } + lore.set(line, AdventureUtil.SECTION_SERIALIZER.serialize(AdventureUtil.resetItalic(this.miniMessage.deserialize(text)))); itemMeta.setLore(lore); diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java index dcdd42425..666ea2b5d 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java @@ -9,6 +9,7 @@ import dev.rollczi.litecommands.annotations.execute.Execute; import dev.rollczi.litecommands.annotations.join.Join; import dev.rollczi.litecommands.annotations.permission.Permission; +import java.util.List; import net.kyori.adventure.text.minimessage.MiniMessage; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -20,11 +21,13 @@ class ItemNameCommand { private final NoticeService noticeService; private final MiniMessage miniMessage; + private final ItemEditSettings itemEditSettings; @Inject - ItemNameCommand(NoticeService noticeService, MiniMessage miniMessage) { + ItemNameCommand(NoticeService noticeService, MiniMessage miniMessage, ItemEditSettings itemEditSettings) { this.noticeService = noticeService; this.miniMessage = miniMessage; + this.itemEditSettings = itemEditSettings; } @Execute @@ -37,6 +40,24 @@ void execute(@Sender Player player, @Join String name) { return; } + List blacklistedWords = this.itemEditSettings.itemNameBlacklistWords(); + + if (blacklistedWords != null) { + String lowerCaseCommandText = name.toLowerCase(); + + for (String word : blacklistedWords) { + String lowerCaseBlacklistedWord = word.toLowerCase(); + if (lowerCaseCommandText.contains(lowerCaseBlacklistedWord)) { + this.noticeService.create() + .notice(translation -> translation.itemEdit().itemNameWordCannotBeUsed()) + .player(player.getUniqueId()) + .placeholder("{WORD}", word) + .send(); + return; + } + } + } + ItemMeta itemMeta = itemStack.getItemMeta(); String serialized = AdventureUtil.SECTION_SERIALIZER.serialize(this.miniMessage.deserialize(name)); diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ENItemEditMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ENItemEditMessages.java index 968fcfcbe..b4b7230dc 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ENItemEditMessages.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ENItemEditMessages.java @@ -38,4 +38,10 @@ public class ENItemEditMessages extends OkaeriConfig implements ItemEditMessages @Comment(" ") Notice invalidLoreLine = Notice.chat("✘ Invalid lore line number!"); + + @Comment({" ", "# {WORD} - Explicit word that cannot be used"}) + Notice itemLoreWordCannotBeUsed = Notice.chat("✘ This word: \"{WORD}\" cannot be used with this item lore command!"); + + @Comment({" ", "# {WORD} - Explicit word that cannot be used"}) + Notice itemNameWordCannotBeUsed = Notice.chat("✘ This word: \"{WORD}\" cannot be used with this item lore command!"); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ItemEditMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ItemEditMessages.java index e828aaa90..d41dc38ca 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ItemEditMessages.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ItemEditMessages.java @@ -20,4 +20,8 @@ public interface ItemEditMessages { // Validation Notice noLore(); Notice invalidLoreLine(); + + // Blacklist + Notice itemLoreWordCannotBeUsed(); + Notice itemNameWordCannotBeUsed(); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java index de44e089a..6d9d50ac1 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java @@ -42,4 +42,10 @@ public class PLItemEditMessages extends OkaeriConfig implements ItemEditMessages @Comment(" ") Notice invalidLoreLine = Notice.chat("✘ Nieprawidłowy numer linii opisu!"); + + @Comment({" ", "# {WORD} - Słowo znajdujące się na czarnej liście zakazanych słów"}) + Notice itemLoreWordCannotBeUsed = Notice.chat("✘ Nie możesz użyć: \"{WORD}\" w tej komendzie!"); + + @Comment({" ", "# {WORD} - Słowo znajdujące się na czarnej liście zakazanych słów"}) + Notice itemNameWordCannotBeUsed = Notice.chat("✘ Nie możesz użyć: \"{WORD}\" w tej komendzie!"); } diff --git a/eternalcore-plugin/build.gradle.kts b/eternalcore-plugin/build.gradle.kts index 195d60b43..18bf255a7 100644 --- a/eternalcore-plugin/build.gradle.kts +++ b/eternalcore-plugin/build.gradle.kts @@ -49,7 +49,7 @@ tasks { languageVersion.set(JavaLanguageVersion.of(25)) }) - minecraftVersion("1.21.11") + minecraftVersion("26.3") downloadPlugins.modrinth("luckperms", "v${Versions.LUCKPERMS}-bukkit") downloadPlugins.modrinth("placeholderapi", Versions.PLACEHOLDER_API) } From 28f31195994bebefa082dc7ebd468a7998d690b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= Date: Thu, 22 Oct 2026 18:15:56 +0200 Subject: [PATCH 2/6] Change messages for PL --- .../core/feature/itemedit/messages/PLItemEditMessages.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java index 6d9d50ac1..8182aa9dd 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java @@ -44,8 +44,8 @@ public class PLItemEditMessages extends OkaeriConfig implements ItemEditMessages Notice invalidLoreLine = Notice.chat("✘ Nieprawidłowy numer linii opisu!"); @Comment({" ", "# {WORD} - Słowo znajdujące się na czarnej liście zakazanych słów"}) - Notice itemLoreWordCannotBeUsed = Notice.chat("✘ Nie możesz użyć: \"{WORD}\" w tej komendzie!"); + Notice itemLoreWordCannotBeUsed = Notice.chat("✘ Słowo: \"{WORD}\" nie może być użyte z komendą itemlore!"); @Comment({" ", "# {WORD} - Słowo znajdujące się na czarnej liście zakazanych słów"}) - Notice itemNameWordCannotBeUsed = Notice.chat("✘ Nie możesz użyć: \"{WORD}\" w tej komendzie!"); + Notice itemNameWordCannotBeUsed = Notice.chat("✘ Słowo: \"{WORD}\" nie może być użyte z komendą itemname!"); } From 3536e2640f65c6a44e597d40edf1a1c824df1aa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= Date: Sun, 25 Oct 2026 13:51:39 +0100 Subject: [PATCH 3/6] Add permission to bypass blaklists --- .../core/feature/itemedit/ItemLoreCommand.java | 10 +++++++++- .../core/feature/itemedit/ItemNameCommand.java | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java index 50ce3e477..6ec45cd8b 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java @@ -1,6 +1,7 @@ package com.eternalcode.core.feature.itemedit; import com.eternalcode.annotations.scan.command.DescriptionDocs; +import com.eternalcode.annotations.scan.permission.PermissionDocs; import com.eternalcode.commons.adventure.AdventureUtil; import com.eternalcode.core.injector.annotations.Inject; import com.eternalcode.core.notice.NoticeService; @@ -18,6 +19,11 @@ import org.bukkit.inventory.meta.ItemMeta; @Command(name = "itemlore") +@PermissionDocs( + name = "Item lore blacklist bypass permission", + permission = ItemLoreCommand.ITEM_LORE_BYPASS_PERMISSION, + description = "Permission that allows user to use blacklisted words in /itemlore command" +) @Permission("eternalcore.itemlore") class ItemLoreCommand { @@ -25,6 +31,8 @@ class ItemLoreCommand { private final MiniMessage miniMessage; private final ItemEditSettings itemEditSettings; + static final String ITEM_LORE_BYPASS_PERMISSION = "eternalcore.itemname.bypass"; + @Inject ItemLoreCommand(NoticeService noticeService, MiniMessage miniMessage, ItemEditSettings itemEditSettings) { this.noticeService = noticeService; @@ -53,7 +61,7 @@ void execute(@Sender Player player, @Arg(ItemLoreArgument.KEY) int line, @Join S List blacklistedWords = this.itemEditSettings.itemLoreBlacklistWords(); - if (blacklistedWords != null) { + if (blacklistedWords != null && !player.hasPermission(ITEM_LORE_BYPASS_PERMISSION)) { String lowerCaseCommandText = text.toLowerCase(); for (String word : blacklistedWords) { diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java index 666ea2b5d..d09a580d8 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java @@ -1,6 +1,7 @@ package com.eternalcode.core.feature.itemedit; import com.eternalcode.annotations.scan.command.DescriptionDocs; +import com.eternalcode.annotations.scan.permission.PermissionDocs; import com.eternalcode.commons.adventure.AdventureUtil; import com.eternalcode.core.injector.annotations.Inject; import com.eternalcode.core.notice.NoticeService; @@ -16,9 +17,16 @@ import org.bukkit.inventory.meta.ItemMeta; @Command(name = "itemname", aliases = { "itemrename" }) +@PermissionDocs( + name = "Item Name blacklist bypass permission", + permission = ItemNameCommand.ITEM_NAME_BYPASS_PERMISSION, + description = "Permission that allows user to use blacklisted words in /itemname command" +) @Permission("eternalcore.itemname") class ItemNameCommand { + static final String ITEM_NAME_BYPASS_PERMISSION = "eternalcore.itemname.bypass"; + private final NoticeService noticeService; private final MiniMessage miniMessage; private final ItemEditSettings itemEditSettings; @@ -42,7 +50,7 @@ void execute(@Sender Player player, @Join String name) { List blacklistedWords = this.itemEditSettings.itemNameBlacklistWords(); - if (blacklistedWords != null) { + if (blacklistedWords != null && !player.hasPermission(ITEM_NAME_BYPASS_PERMISSION)) { String lowerCaseCommandText = name.toLowerCase(); for (String word : blacklistedWords) { From 4b52c10b954cbe3355d2dd8713f3ce26b97f574a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= Date: Sun, 25 Oct 2026 14:17:17 +0100 Subject: [PATCH 4/6] Follow @Pawelusze review --- .../configuration/implementation/PluginConfiguration.java | 4 ++-- .../eternalcode/core/feature/itemedit/ItemLoreCommand.java | 2 +- .../eternalcode/core/feature/itemedit/ItemNameCommand.java | 2 +- .../core/feature/itemedit/messages/ENItemEditMessages.java | 4 ++-- .../core/feature/itemedit/messages/ItemEditMessages.java | 4 ++-- .../core/feature/itemedit/messages/PLItemEditMessages.java | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/configuration/implementation/PluginConfiguration.java b/eternalcore-core/src/main/java/com/eternalcode/core/configuration/implementation/PluginConfiguration.java index b310b01c3..ed3c67410 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/configuration/implementation/PluginConfiguration.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/configuration/implementation/PluginConfiguration.java @@ -220,8 +220,8 @@ public static class Format extends OkaeriConfig { @Bean(proxied = ItemEditSettings.class) @Comment("") - @Comment("# Auto Message Configuration") - @Comment("# Settings for automatic message broadcasting") + @Comment("# Item Edit Configuration") + @Comment("# Settings for itemlore and itemname command") ItemEditConfig itemEditConfig = new ItemEditConfig(); @Bean(proxied = JailSettings.class) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java index 6ec45cd8b..1a53d2033 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java @@ -68,7 +68,7 @@ void execute(@Sender Player player, @Arg(ItemLoreArgument.KEY) int line, @Join S String lowerCaseBlacklistedWord = word.toLowerCase(); if (lowerCaseCommandText.contains(lowerCaseBlacklistedWord)) { this.noticeService.create() - .notice(translation -> translation.itemEdit().itemLoreWordCannotBeUsed()) + .notice(translation -> translation.itemEdit().itemLoreBlacklistedWord()) .player(player.getUniqueId()) .placeholder("{WORD}", word) .send(); diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java index d09a580d8..04a909f63 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemNameCommand.java @@ -57,7 +57,7 @@ void execute(@Sender Player player, @Join String name) { String lowerCaseBlacklistedWord = word.toLowerCase(); if (lowerCaseCommandText.contains(lowerCaseBlacklistedWord)) { this.noticeService.create() - .notice(translation -> translation.itemEdit().itemNameWordCannotBeUsed()) + .notice(translation -> translation.itemEdit().itemNameBlacklistedWord()) .player(player.getUniqueId()) .placeholder("{WORD}", word) .send(); diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ENItemEditMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ENItemEditMessages.java index b4b7230dc..9cc5b65c1 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ENItemEditMessages.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ENItemEditMessages.java @@ -40,8 +40,8 @@ public class ENItemEditMessages extends OkaeriConfig implements ItemEditMessages Notice invalidLoreLine = Notice.chat("✘ Invalid lore line number!"); @Comment({" ", "# {WORD} - Explicit word that cannot be used"}) - Notice itemLoreWordCannotBeUsed = Notice.chat("✘ This word: \"{WORD}\" cannot be used with this item lore command!"); + Notice itemLoreBlacklistedWord = Notice.chat("✘ This word: \"{WORD}\" cannot be used with this item lore command!"); @Comment({" ", "# {WORD} - Explicit word that cannot be used"}) - Notice itemNameWordCannotBeUsed = Notice.chat("✘ This word: \"{WORD}\" cannot be used with this item lore command!"); + Notice itemNameBlacklistedWord = Notice.chat("✘ This word: \"{WORD}\" cannot be used with this item lore command!"); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ItemEditMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ItemEditMessages.java index d41dc38ca..5e74ffd72 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ItemEditMessages.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/ItemEditMessages.java @@ -22,6 +22,6 @@ public interface ItemEditMessages { Notice invalidLoreLine(); // Blacklist - Notice itemLoreWordCannotBeUsed(); - Notice itemNameWordCannotBeUsed(); + Notice itemLoreBlacklistedWord(); + Notice itemNameBlacklistedWord(); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java index 8182aa9dd..40bcfe4ad 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/messages/PLItemEditMessages.java @@ -44,8 +44,8 @@ public class PLItemEditMessages extends OkaeriConfig implements ItemEditMessages Notice invalidLoreLine = Notice.chat("✘ Nieprawidłowy numer linii opisu!"); @Comment({" ", "# {WORD} - Słowo znajdujące się na czarnej liście zakazanych słów"}) - Notice itemLoreWordCannotBeUsed = Notice.chat("✘ Słowo: \"{WORD}\" nie może być użyte z komendą itemlore!"); + Notice itemLoreBlacklistedWord = Notice.chat("✘ Słowo: \"{WORD}\" nie może być użyte z komendą itemlore!"); @Comment({" ", "# {WORD} - Słowo znajdujące się na czarnej liście zakazanych słów"}) - Notice itemNameWordCannotBeUsed = Notice.chat("✘ Słowo: \"{WORD}\" nie może być użyte z komendą itemname!"); + Notice itemNameBlacklistedWord = Notice.chat("✘ Słowo: \"{WORD}\" nie może być użyte z komendą itemname!"); } From 0b00f4b3a4c3de6c2c5c5ba181c506f58fd13ac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= Date: Sun, 25 Oct 2026 14:19:42 +0100 Subject: [PATCH 5/6] Add more swear words that I'm not proud off --- .../core/feature/itemedit/ItemEditConfig.java | 35 ++++++++++++++++--- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditConfig.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditConfig.java index b14c5f9c2..8945faafc 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditConfig.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemEditConfig.java @@ -2,7 +2,7 @@ import eu.okaeri.configs.OkaeriConfig; import eu.okaeri.configs.annotation.Comment; -import java.util.Collections; +import java.util.Arrays; import java.util.List; import lombok.Getter; import lombok.experimental.Accessors; @@ -11,9 +11,36 @@ @Accessors(fluent = true) public class ItemEditConfig extends OkaeriConfig implements ItemEditSettings { @Comment("# Blacklist words that cannot be added to the item lore using /ItemLore command. Leave empty if none") - public List itemLoreBlacklistWords = Collections.singletonList("DUPA"); + public List itemLoreBlacklistWords = Arrays.asList( + "DUPA", + "KURWA", + "CHUJ", + "PIERDOL", + "SUKA", + "KUPA", + "FUCK", + "SHIT", + "BITCH", + "ASS", + "FAGGOT", + "BASTARD", + "KYS" + ); @Comment("# Blacklist words that cannot be added to the item lore using /itemname command. Leave empty if none") - public List itemNameBlacklistWords = Collections.singletonList("DUPA"); - + public List itemNameBlacklistWords = Arrays.asList( + "DUPA", + "KURWA", + "CHUJ", + "PIERDOL", + "SUKA", + "KUPA", + "FUCK", + "SHIT", + "BITCH", + "ASS", + "FAGGOT", + "BASTARD", + "KYS" + ); } From 99d21f19bb53acfb4cf519de1670bbed55246532 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wojtas?= Date: Sun, 25 Oct 2026 14:25:00 +0100 Subject: [PATCH 6/6] change itemlore permission --- .../com/eternalcode/core/feature/itemedit/ItemLoreCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java index 1a53d2033..a429eec07 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/itemedit/ItemLoreCommand.java @@ -31,7 +31,7 @@ class ItemLoreCommand { private final MiniMessage miniMessage; private final ItemEditSettings itemEditSettings; - static final String ITEM_LORE_BYPASS_PERMISSION = "eternalcore.itemname.bypass"; + static final String ITEM_LORE_BYPASS_PERMISSION = "eternalcore.itemlore.bypass"; @Inject ItemLoreCommand(NoticeService noticeService, MiniMessage miniMessage, ItemEditSettings itemEditSettings) {