From bb017c83c103f3c5c12156c0e61055204379225c Mon Sep 17 00:00:00 2001 From: Igor Michalski <65646893+igoyek@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:12:02 +0100 Subject: [PATCH 1/5] primary implementation (to be fixed) Took 1 hour 0 minutes --- .../implementation/PluginConfiguration.java | 2 + .../feature/signeditor/SignEditCommand.java | 60 +++++++++++++++++++ .../core/translation/Translation.java | 8 +++ .../implementation/ENTranslation.java | 11 ++++ .../implementation/PLTranslation.java | 11 ++++ 5 files changed, 92 insertions(+) create mode 100644 eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditCommand.java 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 11cf299f2..81f8f40d8 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 @@ -14,6 +14,8 @@ import com.eternalcode.core.feature.teleportrequest.TeleportRequestSettings; import java.util.LinkedHashMap; import java.util.Set; + +import com.eternalcode.multification.notice.Notice; import net.dzikoysk.cdn.entity.Contextual; import net.dzikoysk.cdn.entity.Description; import net.dzikoysk.cdn.entity.Exclude; diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditCommand.java new file mode 100644 index 000000000..24947ddbe --- /dev/null +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditCommand.java @@ -0,0 +1,60 @@ +package com.eternalcode.core.feature.signeditor; + +import com.eternalcode.core.notice.NoticeService; +import dev.rollczi.litecommands.annotations.argument.Arg; +import dev.rollczi.litecommands.annotations.command.Command; +import dev.rollczi.litecommands.annotations.context.Context; +import dev.rollczi.litecommands.annotations.execute.Execute; +import dev.rollczi.litecommands.annotations.join.Join; +import dev.rollczi.litecommands.annotations.permission.Permission; +import net.kyori.adventure.text.minimessage.MiniMessage; +import org.bukkit.block.Block; +import org.bukkit.block.Sign; +import org.bukkit.block.sign.Side; +import org.bukkit.block.sign.SignSide; +import org.bukkit.entity.Player; + +@Command(name = "signedit setline") +@Permission("eternalcode.signedit") +public class SignEditCommand { + + private final NoticeService noticeService; + private final MiniMessage miniMessage; + + public SignEditCommand(NoticeService noticeService, MiniMessage miniMessage) { + this.noticeService = noticeService; + this.miniMessage = miniMessage; + } + + @Execute + void execute(@Context Player player, @Arg Integer index, @Join String text) { + Block targetBlock = player.getTargetBlock(null, 5); + + if (!(targetBlock.getState() instanceof Sign sign)) { + this.noticeService.create() + .player(player.getUniqueId()) + .notice(translation -> translation.signEdit().noSignFound()) + .send(); + return; + } + + SignSide frontSide = sign.getSide(Side.FRONT); + if (index < 0 || index >= frontSide.getLines().length) { + this.noticeService.create() + .player(player.getUniqueId()) + .notice(translation -> translation.signEdit().invalidIndex()) + .send(); + return; + } + + frontSide.setLine(index, this.miniMessage.deserialize(text).toString()); + sign.update(); + + this.noticeService.create() + .player(player.getUniqueId()) + .placeholder("{INDEX}", index.toString()) + .placeholder("{TEXT}", text) + .notice(translation -> translation.signEdit().lineSet()) + .send(); + } +} diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java index 8b1ed970b..c78037681 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java @@ -473,4 +473,12 @@ interface JailSection { Notice jailCannotUseCommand(); } + + SignEditSection signEdit(); + + interface SignEditSection { + Notice noSignFound(); + Notice invalidIndex(); + Notice lineSet(); + } } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java index 0abcc395c..52ff7de6c 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java @@ -922,4 +922,15 @@ public static class ENJailSection implements JailSection { @Description({" ", "# {PLAYER} - Player who has been detained", "# {REMAINING_TIME} - Time of detention", "# {DETAINED_BY} - Player who detained the player"}) public Notice jailListPlayerEntry = Notice.chat("{PLAYER} ({REMAINING_TIME}) detained by {DETAINED_BY} !"); } + + @Description({ " ", "# Ta sekcja odpowiada za wiadomości dotyczące edycji tabliczek"}) + public PLTranslation.SignEditor signEditor = new PLTranslation.SignEditor(); + + @Getter + @Contextual + public static class SignEditor { + public Notice noSignFound = Notice.chat("Sign not found!"); + public Notice invalidIndex = Notice.chat("Invalid index!"); + public Notice lineSet = Notice.chat("Line {LINE} set to {TEXT}"); + } } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java index d8fa66581..f50dd1f67 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java @@ -941,4 +941,15 @@ public static class PLJailSection implements JailSection { @Description({" ", "# {PLAYER} - Gracz który jest uwięziony, {DETAINED_BY} - Gracz który uwięził gracza, {REMAINING_TIME} - Czas pozostały do uwolnienia"}) public Notice jailListPlayerEntry = Notice.chat("Gracz {PLAYER} został uwięziony przez {DETAINED_BY} na czas {REMAINING_TIME} !"); } + + @Description({ " ", "# Ta sekcja odpowiada za wiadomości dotyczące edycji tabliczek"}) + public SignEditor signEditor = new SignEditor(); + + @Getter + @Contextual + public static class SignEditor { + public Notice noSignFound = Notice.chat("Nie odnaleziono tabliczki!"); + public Notice invalidIndex = Notice.chat("Nieprawidłowy indeks!"); + public Notice lineSet = Notice.chat("Ustawiono linię {LINE} na {TEXT}"); + } } From aa76ccb403a6fecbc7bb4f1942b4f37134ce3d54 Mon Sep 17 00:00:00 2001 From: Igor Michalski <65646893+igoyek@users.noreply.github.com> Date: Wed, 22 Jan 2025 20:31:27 +0100 Subject: [PATCH 2/5] Update command name Took 11 minutes --- .../eternalcode/core/feature/signeditor/SignEditCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditCommand.java index 24947ddbe..69a4fbf1e 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditCommand.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditCommand.java @@ -14,7 +14,7 @@ import org.bukkit.block.sign.SignSide; import org.bukkit.entity.Player; -@Command(name = "signedit setline") +@Command(name = "signedit") @Permission("eternalcode.signedit") public class SignEditCommand { From e3fe988e97da2dd24a97f406f7e8e37e73ccab89 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Thu, 23 Jan 2025 19:16:44 +0100 Subject: [PATCH 3/5] Refactor messages, add compatibility for non-side-based sing's --- ...ditCommand.java => SignEditorCommand.java} | 30 ++++----- .../signeditor/SignSideEditorCommand.java | 63 +++++++++++++++++++ .../messages/ENSignEditorMessages.java | 15 +++++ .../messages/PLSignEditorMessages.java | 15 +++++ .../messages/SignEditorMessages.java | 9 +++ .../core/translation/Translation.java | 9 +-- .../implementation/ENTranslation.java | 12 +--- .../implementation/PLTranslation.java | 11 +--- 8 files changed, 124 insertions(+), 40 deletions(-) rename eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/{SignEditCommand.java => SignEditorCommand.java} (60%) create mode 100644 eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignSideEditorCommand.java create mode 100644 eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/ENSignEditorMessages.java create mode 100644 eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/PLSignEditorMessages.java create mode 100644 eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/SignEditorMessages.java diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditorCommand.java similarity index 60% rename from eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditCommand.java rename to eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditorCommand.java index 69a4fbf1e..5a69f6607 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditCommand.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditorCommand.java @@ -1,5 +1,7 @@ package com.eternalcode.core.feature.signeditor; +import com.eternalcode.core.compatibility.Compatibility; +import com.eternalcode.core.compatibility.Version; import com.eternalcode.core.notice.NoticeService; import dev.rollczi.litecommands.annotations.argument.Arg; import dev.rollczi.litecommands.annotations.command.Command; @@ -10,51 +12,49 @@ import net.kyori.adventure.text.minimessage.MiniMessage; import org.bukkit.block.Block; import org.bukkit.block.Sign; -import org.bukkit.block.sign.Side; -import org.bukkit.block.sign.SignSide; import org.bukkit.entity.Player; -@Command(name = "signedit") -@Permission("eternalcode.signedit") -public class SignEditCommand { +@Command(name = "signeditor") +@Permission("eternalcode.signeditor") +@Compatibility(to = @Version(minor = 19, patch = 4)) +public class SignEditorCommand { private final NoticeService noticeService; private final MiniMessage miniMessage; - public SignEditCommand(NoticeService noticeService, MiniMessage miniMessage) { + public SignEditorCommand(NoticeService noticeService, MiniMessage miniMessage) { this.noticeService = noticeService; this.miniMessage = miniMessage; } - @Execute - void execute(@Context Player player, @Arg Integer index, @Join String text) { + @Execute(name = "setline") + void execute(@Context Player player, @Arg int index, @Join String text) { Block targetBlock = player.getTargetBlock(null, 5); if (!(targetBlock.getState() instanceof Sign sign)) { this.noticeService.create() .player(player.getUniqueId()) - .notice(translation -> translation.signEdit().noSignFound()) + .notice(translation -> translation.signEditor().noSignFound()) .send(); return; } - SignSide frontSide = sign.getSide(Side.FRONT); - if (index < 0 || index >= frontSide.getLines().length) { + if (index < 0 || index >= sign.getLines().length) { this.noticeService.create() .player(player.getUniqueId()) - .notice(translation -> translation.signEdit().invalidIndex()) + .notice(translation -> translation.signEditor().invalidIndex()) .send(); return; } - frontSide.setLine(index, this.miniMessage.deserialize(text).toString()); + sign.setLine(index, this.miniMessage.deserialize(text).toString()); sign.update(); this.noticeService.create() .player(player.getUniqueId()) - .placeholder("{INDEX}", index.toString()) + .placeholder("{INDEX}", String.valueOf(index)) .placeholder("{TEXT}", text) - .notice(translation -> translation.signEdit().lineSet()) + .notice(translation -> translation.signEditor().lineSet()) .send(); } } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignSideEditorCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignSideEditorCommand.java new file mode 100644 index 000000000..81dfa2daa --- /dev/null +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignSideEditorCommand.java @@ -0,0 +1,63 @@ +package com.eternalcode.core.feature.signeditor; + +import com.eternalcode.core.compatibility.Compatibility; +import com.eternalcode.core.compatibility.Version; +import com.eternalcode.core.notice.NoticeService; +import dev.rollczi.litecommands.annotations.argument.Arg; +import dev.rollczi.litecommands.annotations.command.Command; +import dev.rollczi.litecommands.annotations.context.Context; +import dev.rollczi.litecommands.annotations.execute.Execute; +import dev.rollczi.litecommands.annotations.join.Join; +import dev.rollczi.litecommands.annotations.permission.Permission; +import net.kyori.adventure.text.minimessage.MiniMessage; +import org.bukkit.block.Block; +import org.bukkit.block.Sign; +import org.bukkit.block.sign.Side; +import org.bukkit.block.sign.SignSide; +import org.bukkit.entity.Player; + +@Command(name = "signeditor") +@Permission("eternalcode.signeditor") +@Compatibility(from = @Version(minor = 20, patch = 0)) +public class SignSideEditorCommand { + + private final NoticeService noticeService; + private final MiniMessage miniMessage; + + public SignSideEditorCommand(NoticeService noticeService, MiniMessage miniMessage) { + this.noticeService = noticeService; + this.miniMessage = miniMessage; + } + + @Execute(name = "setline") + void execute(@Context Player player, @Arg Side side, @Arg int index, @Join String text) { + Block targetBlock = player.getTargetBlock(null, 5); + + if (!(targetBlock.getState() instanceof Sign sign)) { + this.noticeService.create() + .player(player.getUniqueId()) + .notice(translation -> translation.signEditor().noSignFound()) + .send(); + return; + } + + SignSide signSide = sign.getSide(side); + if (index < 0 || index >= signSide.getLines().length) { + this.noticeService.create() + .player(player.getUniqueId()) + .notice(translation -> translation.signEditor().invalidIndex()) + .send(); + return; + } + + signSide.setLine(index, this.miniMessage.deserialize(text).toString()); + sign.update(); + + this.noticeService.create() + .player(player.getUniqueId()) + .placeholder("{INDEX}", String.valueOf(index)) + .placeholder("{TEXT}", text) + .notice(translation -> translation.signEditor().lineSet()) + .send(); + } +} diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/ENSignEditorMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/ENSignEditorMessages.java new file mode 100644 index 000000000..348896e4b --- /dev/null +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/ENSignEditorMessages.java @@ -0,0 +1,15 @@ +package com.eternalcode.core.feature.signeditor.messages; + +import com.eternalcode.multification.notice.Notice; +import lombok.Getter; +import lombok.experimental.Accessors; +import net.dzikoysk.cdn.entity.Contextual; + +@Getter +@Accessors(fluent = true) +@Contextual +public class ENSignEditorMessages implements SignEditorMessages { + public Notice noSignFound = Notice.chat("Sign not found, please look at the sign!"); + public Notice invalidIndex = Notice.chat("Invalid index!"); + public Notice lineSet = Notice.chat("Line {LINE} set to {TEXT}"); +} diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/PLSignEditorMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/PLSignEditorMessages.java new file mode 100644 index 000000000..bc1e54882 --- /dev/null +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/PLSignEditorMessages.java @@ -0,0 +1,15 @@ +package com.eternalcode.core.feature.signeditor.messages; + +import com.eternalcode.multification.notice.Notice; +import lombok.Getter; +import lombok.experimental.Accessors; +import net.dzikoysk.cdn.entity.Contextual; + +@Getter +@Accessors(fluent = true) +@Contextual +public class PLSignEditorMessages implements SignEditorMessages{ + public Notice noSignFound = Notice.chat("Nie odnaleziono tabliczki, proszę spojrzeć na tabliczkę!"); + public Notice invalidIndex = Notice.chat("Nieprawidłowy indeks!"); + public Notice lineSet = Notice.chat("Ustawiono linię {LINE} na {TEXT}"); +} diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/SignEditorMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/SignEditorMessages.java new file mode 100644 index 000000000..b0e28dd92 --- /dev/null +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/SignEditorMessages.java @@ -0,0 +1,9 @@ +package com.eternalcode.core.feature.signeditor.messages; + +import com.eternalcode.multification.notice.Notice; + +public interface SignEditorMessages { + Notice noSignFound(); + Notice invalidIndex(); + Notice lineSet(); +} diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java index 7767b0b7b..0e19edc32 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/Translation.java @@ -2,6 +2,7 @@ import com.eternalcode.core.configuration.contextual.ConfigItem; import com.eternalcode.core.feature.language.Language; +import com.eternalcode.core.feature.signeditor.messages.SignEditorMessages; import com.eternalcode.core.feature.warp.WarpInventoryItem; import com.eternalcode.multification.notice.Notice; import org.bukkit.Material; @@ -482,11 +483,5 @@ interface JailSection { } - SignEditSection signEdit(); - - interface SignEditSection { - Notice noSignFound(); - Notice invalidIndex(); - Notice lineSet(); - } + SignEditorMessages signEditor(); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java index d90af4d69..445984757 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/ENTranslation.java @@ -2,6 +2,8 @@ import com.eternalcode.core.configuration.contextual.ConfigItem; import com.eternalcode.core.feature.language.Language; +import com.eternalcode.core.feature.signeditor.messages.PLSignEditorMessages; +import com.eternalcode.core.feature.signeditor.messages.SignEditorMessages; import com.eternalcode.core.feature.warp.WarpInventoryItem; import com.eternalcode.core.translation.AbstractTranslation; import com.eternalcode.multification.bukkit.notice.BukkitNotice; @@ -933,13 +935,5 @@ public static class ENJailSection implements JailSection { } @Description({ " ", "# Ta sekcja odpowiada za wiadomości dotyczące edycji tabliczek"}) - public PLTranslation.SignEditor signEditor = new PLTranslation.SignEditor(); - - @Getter - @Contextual - public static class SignEditor { - public Notice noSignFound = Notice.chat("Sign not found!"); - public Notice invalidIndex = Notice.chat("Invalid index!"); - public Notice lineSet = Notice.chat("Line {LINE} set to {TEXT}"); - } + public PLSignEditorMessages signEditor = new PLSignEditorMessages(); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java index 0d7e5c3d1..70ce57b5b 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/translation/implementation/PLTranslation.java @@ -2,6 +2,7 @@ import com.eternalcode.core.configuration.contextual.ConfigItem; import com.eternalcode.core.feature.language.Language; +import com.eternalcode.core.feature.signeditor.messages.PLSignEditorMessages; import com.eternalcode.core.feature.warp.WarpInventoryItem; import com.eternalcode.core.translation.AbstractTranslation; import com.eternalcode.multification.bukkit.notice.BukkitNotice; @@ -955,13 +956,5 @@ public static class PLJailSection implements JailSection { } @Description({ " ", "# Ta sekcja odpowiada za wiadomości dotyczące edycji tabliczek"}) - public SignEditor signEditor = new SignEditor(); - - @Getter - @Contextual - public static class SignEditor { - public Notice noSignFound = Notice.chat("Nie odnaleziono tabliczki!"); - public Notice invalidIndex = Notice.chat("Nieprawidłowy indeks!"); - public Notice lineSet = Notice.chat("Ustawiono linię {LINE} na {TEXT}"); - } + public PLSignEditorMessages signEditor = new PLSignEditorMessages(); } From 45a19e7bb419b808a20b04f39c213838245ce845 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Thu, 23 Jan 2025 19:23:29 +0100 Subject: [PATCH 4/5] Use Block#getTargetBlockExact --- .../eternalcode/core/feature/signeditor/SignEditorCommand.java | 2 +- .../core/feature/signeditor/SignSideEditorCommand.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditorCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditorCommand.java index 5a69f6607..23b1219f9 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditorCommand.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignEditorCommand.java @@ -29,7 +29,7 @@ public SignEditorCommand(NoticeService noticeService, MiniMessage miniMessage) { @Execute(name = "setline") void execute(@Context Player player, @Arg int index, @Join String text) { - Block targetBlock = player.getTargetBlock(null, 5); + Block targetBlock = player.getTargetBlockExact(5); if (!(targetBlock.getState() instanceof Sign sign)) { this.noticeService.create() diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignSideEditorCommand.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignSideEditorCommand.java index 81dfa2daa..473174f5e 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignSideEditorCommand.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/SignSideEditorCommand.java @@ -31,7 +31,7 @@ public SignSideEditorCommand(NoticeService noticeService, MiniMessage miniMessag @Execute(name = "setline") void execute(@Context Player player, @Arg Side side, @Arg int index, @Join String text) { - Block targetBlock = player.getTargetBlock(null, 5); + Block targetBlock = player.getTargetBlockExact(5); if (!(targetBlock.getState() instanceof Sign sign)) { this.noticeService.create() From c6fcdfdd6c751260e32534b5abebbc3863fd901b Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Thu, 23 Jan 2025 19:25:04 +0100 Subject: [PATCH 5/5] Fix index placeholder. --- .../core/feature/signeditor/messages/ENSignEditorMessages.java | 2 +- .../core/feature/signeditor/messages/PLSignEditorMessages.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/ENSignEditorMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/ENSignEditorMessages.java index 348896e4b..f8bf44461 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/ENSignEditorMessages.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/ENSignEditorMessages.java @@ -11,5 +11,5 @@ public class ENSignEditorMessages implements SignEditorMessages { public Notice noSignFound = Notice.chat("Sign not found, please look at the sign!"); public Notice invalidIndex = Notice.chat("Invalid index!"); - public Notice lineSet = Notice.chat("Line {LINE} set to {TEXT}"); + public Notice lineSet = Notice.chat("Line {INDEX} set to {TEXT}"); } diff --git a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/PLSignEditorMessages.java b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/PLSignEditorMessages.java index bc1e54882..4d2805b32 100644 --- a/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/PLSignEditorMessages.java +++ b/eternalcore-core/src/main/java/com/eternalcode/core/feature/signeditor/messages/PLSignEditorMessages.java @@ -11,5 +11,5 @@ public class PLSignEditorMessages implements SignEditorMessages{ public Notice noSignFound = Notice.chat("Nie odnaleziono tabliczki, proszę spojrzeć na tabliczkę!"); public Notice invalidIndex = Notice.chat("Nieprawidłowy indeks!"); - public Notice lineSet = Notice.chat("Ustawiono linię {LINE} na {TEXT}"); + public Notice lineSet = Notice.chat("Ustawiono linię {INDEX} na {TEXT}"); }