From fdb05ba07695396d3d0abc786245705d6c59c829 Mon Sep 17 00:00:00 2001 From: RappyTV Date: Fri, 18 Aug 2023 15:25:07 +0200 Subject: [PATCH 1/6] Reduce sound object creation --- .../com/rappytv/toolwarn/v1_12_2/TbwSoundImpl.java | 13 +++++++++---- .../com/rappytv/toolwarn/v1_16_5/TbwSoundImpl.java | 13 +++++++++---- .../com/rappytv/toolwarn/v1_17_1/TbwSoundImpl.java | 13 +++++++++---- .../com/rappytv/toolwarn/v1_18_2/TbwSoundImpl.java | 13 +++++++++---- .../com/rappytv/toolwarn/v1_19_2/TbwSoundImpl.java | 13 +++++++++---- .../com/rappytv/toolwarn/v1_19_3/TbwSoundImpl.java | 13 +++++++++---- .../com/rappytv/toolwarn/v1_19_4/TbwSoundImpl.java | 13 +++++++++---- .../com/rappytv/toolwarn/v1_20_1/TbwSoundImpl.java | 13 +++++++++---- .../com/rappytv/toolwarn/v1_8_9/TbwSoundImpl.java | 13 +++++++++---- 9 files changed, 81 insertions(+), 36 deletions(-) diff --git a/game-runner/src/v1_12_2/java/com/rappytv/toolwarn/v1_12_2/TbwSoundImpl.java b/game-runner/src/v1_12_2/java/com/rappytv/toolwarn/v1_12_2/TbwSoundImpl.java index 5a86299..824ee4e 100644 --- a/game-runner/src/v1_12_2/java/com/rappytv/toolwarn/v1_12_2/TbwSoundImpl.java +++ b/game-runner/src/v1_12_2/java/com/rappytv/toolwarn/v1_12_2/TbwSoundImpl.java @@ -10,20 +10,25 @@ @Implements(ITbwSounds.class) public class TbwSoundImpl implements ITbwSounds { + private final ResourceLocation plingSound = ResourceLocation.create("minecraft", "block.note.pling"); + private final ResourceLocation levelUpSound = ResourceLocation.create("minecraft", "entity.player.levelup"); + private final ResourceLocation glassBreakSound = ResourceLocation.create("minecraft", "block.glass.break"); + private final ResourceLocation anvilUseSound = ResourceLocation.create("minecraft", "block.anvil.use"); + @Override public ResourceLocation getPlingSound() { - return ResourceLocation.create("minecraft", "block.note.pling"); + return plingSound; } @Override public ResourceLocation getLevelUpSound() { - return ResourceLocation.create("minecraft", "entity.player.levelup"); + return levelUpSound; } @Override public @NotNull ResourceLocation getGlassBreakSound() { - return ResourceLocation.create("minecraft", "block.glass.break"); + return glassBreakSound; } @Override public ResourceLocation getAnvilUseSound() { - return ResourceLocation.create("minecraft", "block.anvil.use"); + return anvilUseSound; } } diff --git a/game-runner/src/v1_16_5/java/com/rappytv/toolwarn/v1_16_5/TbwSoundImpl.java b/game-runner/src/v1_16_5/java/com/rappytv/toolwarn/v1_16_5/TbwSoundImpl.java index b48e29f..5fdc009 100644 --- a/game-runner/src/v1_16_5/java/com/rappytv/toolwarn/v1_16_5/TbwSoundImpl.java +++ b/game-runner/src/v1_16_5/java/com/rappytv/toolwarn/v1_16_5/TbwSoundImpl.java @@ -10,20 +10,25 @@ @Implements(ITbwSounds.class) public class TbwSoundImpl implements ITbwSounds { + private final ResourceLocation plingSound = ResourceLocation.create("minecraft", "block.note_block.pling"); + private final ResourceLocation levelUpSound = ResourceLocation.create("minecraft", "entity.player.levelup"); + private final ResourceLocation glassBreakSound = ResourceLocation.create("minecraft", "block.glass.break"); + private final ResourceLocation anvilUseSound = ResourceLocation.create("minecraft", "block.anvil.use"); + @Override public ResourceLocation getPlingSound() { - return ResourceLocation.create("minecraft", "block.note_block.pling"); + return plingSound; } @Override public ResourceLocation getLevelUpSound() { - return ResourceLocation.create("minecraft", "entity.player.levelup"); + return levelUpSound; } @Override public @NotNull ResourceLocation getGlassBreakSound() { - return ResourceLocation.create("minecraft", "block.glass.break"); + return glassBreakSound; } @Override public ResourceLocation getAnvilUseSound() { - return ResourceLocation.create("minecraft", "block.anvil.use"); + return anvilUseSound; } } diff --git a/game-runner/src/v1_17_1/java/com/rappytv/toolwarn/v1_17_1/TbwSoundImpl.java b/game-runner/src/v1_17_1/java/com/rappytv/toolwarn/v1_17_1/TbwSoundImpl.java index 9d747c5..ebb2032 100644 --- a/game-runner/src/v1_17_1/java/com/rappytv/toolwarn/v1_17_1/TbwSoundImpl.java +++ b/game-runner/src/v1_17_1/java/com/rappytv/toolwarn/v1_17_1/TbwSoundImpl.java @@ -11,20 +11,25 @@ @Implements(ITbwSounds.class) public class TbwSoundImpl implements ITbwSounds { + private final ResourceLocation plingSound = ResourceLocation.create("minecraft", "block.note_block.pling"); + private final ResourceLocation levelUpSound = ResourceLocation.create("minecraft", "entity.player.levelup"); + private final ResourceLocation glassBreakSound = ResourceLocation.create("minecraft", "block.glass.break"); + private final ResourceLocation anvilUseSound = ResourceLocation.create("minecraft", "block.anvil.use"); + @Override public ResourceLocation getPlingSound() { - return ResourceLocation.create("minecraft", "block.note_block.pling"); + return plingSound; } @Override public ResourceLocation getLevelUpSound() { - return ResourceLocation.create("minecraft", "entity.player.levelup"); + return levelUpSound; } @Override public @NotNull ResourceLocation getGlassBreakSound() { - return ResourceLocation.create("minecraft", "block.glass.break"); + return glassBreakSound; } @Override public ResourceLocation getAnvilUseSound() { - return ResourceLocation.create("minecraft", "block.anvil.use"); + return anvilUseSound; } } diff --git a/game-runner/src/v1_18_2/java/com/rappytv/toolwarn/v1_18_2/TbwSoundImpl.java b/game-runner/src/v1_18_2/java/com/rappytv/toolwarn/v1_18_2/TbwSoundImpl.java index 24d2207..6d25e6f 100644 --- a/game-runner/src/v1_18_2/java/com/rappytv/toolwarn/v1_18_2/TbwSoundImpl.java +++ b/game-runner/src/v1_18_2/java/com/rappytv/toolwarn/v1_18_2/TbwSoundImpl.java @@ -10,20 +10,25 @@ @Implements(ITbwSounds.class) public class TbwSoundImpl implements ITbwSounds { + private final ResourceLocation plingSound = ResourceLocation.create("minecraft", "block.note_block.pling"); + private final ResourceLocation levelUpSound = ResourceLocation.create("minecraft", "entity.player.levelup"); + private final ResourceLocation glassBreakSound = ResourceLocation.create("minecraft", "block.glass.break"); + private final ResourceLocation anvilUseSound = ResourceLocation.create("minecraft", "block.anvil.use"); + @Override public ResourceLocation getPlingSound() { - return ResourceLocation.create("minecraft", "block.note_block.pling"); + return plingSound; } @Override public ResourceLocation getLevelUpSound() { - return ResourceLocation.create("minecraft", "entity.player.levelup"); + return levelUpSound; } @Override public @NotNull ResourceLocation getGlassBreakSound() { - return ResourceLocation.create("minecraft", "block.glass.break"); + return glassBreakSound; } @Override public ResourceLocation getAnvilUseSound() { - return ResourceLocation.create("minecraft", "block.anvil.use"); + return anvilUseSound; } } diff --git a/game-runner/src/v1_19_2/java/com/rappytv/toolwarn/v1_19_2/TbwSoundImpl.java b/game-runner/src/v1_19_2/java/com/rappytv/toolwarn/v1_19_2/TbwSoundImpl.java index 4622cb7..8bc0b0e 100644 --- a/game-runner/src/v1_19_2/java/com/rappytv/toolwarn/v1_19_2/TbwSoundImpl.java +++ b/game-runner/src/v1_19_2/java/com/rappytv/toolwarn/v1_19_2/TbwSoundImpl.java @@ -10,20 +10,25 @@ @Implements(ITbwSounds.class) public class TbwSoundImpl implements ITbwSounds { + private final ResourceLocation plingSound = ResourceLocation.create("minecraft", "block.note_block.pling"); + private final ResourceLocation levelUpSound = ResourceLocation.create("minecraft", "entity.player.levelup"); + private final ResourceLocation glassBreakSound = ResourceLocation.create("minecraft", "block.glass.break"); + private final ResourceLocation anvilUseSound = ResourceLocation.create("minecraft", "block.anvil.use"); + @Override public ResourceLocation getPlingSound() { - return ResourceLocation.create("minecraft", "block.note_block.pling"); + return plingSound; } @Override public ResourceLocation getLevelUpSound() { - return ResourceLocation.create("minecraft", "entity.player.levelup"); + return levelUpSound; } @Override public @NotNull ResourceLocation getGlassBreakSound() { - return ResourceLocation.create("minecraft", "block.glass.break"); + return glassBreakSound; } @Override public ResourceLocation getAnvilUseSound() { - return ResourceLocation.create("minecraft", "block.anvil.use"); + return anvilUseSound; } } diff --git a/game-runner/src/v1_19_3/java/com/rappytv/toolwarn/v1_19_3/TbwSoundImpl.java b/game-runner/src/v1_19_3/java/com/rappytv/toolwarn/v1_19_3/TbwSoundImpl.java index caff8d8..48bea28 100644 --- a/game-runner/src/v1_19_3/java/com/rappytv/toolwarn/v1_19_3/TbwSoundImpl.java +++ b/game-runner/src/v1_19_3/java/com/rappytv/toolwarn/v1_19_3/TbwSoundImpl.java @@ -10,20 +10,25 @@ @Implements(ITbwSounds.class) public class TbwSoundImpl implements ITbwSounds { + private final ResourceLocation plingSound = ResourceLocation.create("minecraft", "block.note_block.pling"); + private final ResourceLocation levelUpSound = ResourceLocation.create("minecraft", "entity.player.levelup"); + private final ResourceLocation glassBreakSound = ResourceLocation.create("minecraft", "block.glass.break"); + private final ResourceLocation anvilUseSound = ResourceLocation.create("minecraft", "block.anvil.use"); + @Override public ResourceLocation getPlingSound() { - return ResourceLocation.create("minecraft", "block.note_block.pling"); + return plingSound; } @Override public ResourceLocation getLevelUpSound() { - return ResourceLocation.create("minecraft", "entity.player.levelup"); + return levelUpSound; } @Override public @NotNull ResourceLocation getGlassBreakSound() { - return ResourceLocation.create("minecraft", "block.glass.break"); + return glassBreakSound; } @Override public ResourceLocation getAnvilUseSound() { - return ResourceLocation.create("minecraft", "block.anvil.use"); + return anvilUseSound; } } diff --git a/game-runner/src/v1_19_4/java/com/rappytv/toolwarn/v1_19_4/TbwSoundImpl.java b/game-runner/src/v1_19_4/java/com/rappytv/toolwarn/v1_19_4/TbwSoundImpl.java index 085c96d..0fbf221 100644 --- a/game-runner/src/v1_19_4/java/com/rappytv/toolwarn/v1_19_4/TbwSoundImpl.java +++ b/game-runner/src/v1_19_4/java/com/rappytv/toolwarn/v1_19_4/TbwSoundImpl.java @@ -10,20 +10,25 @@ @Implements(ITbwSounds.class) public class TbwSoundImpl implements ITbwSounds { + private final ResourceLocation plingSound = ResourceLocation.create("minecraft", "block.note_block.pling"); + private final ResourceLocation levelUpSound = ResourceLocation.create("minecraft", "entity.player.levelup"); + private final ResourceLocation glassBreakSound = ResourceLocation.create("minecraft", "block.glass.break"); + private final ResourceLocation anvilUseSound = ResourceLocation.create("minecraft", "block.anvil.use"); + @Override public ResourceLocation getPlingSound() { - return ResourceLocation.create("minecraft", "block.note_block.pling"); + return plingSound; } @Override public ResourceLocation getLevelUpSound() { - return ResourceLocation.create("minecraft", "entity.player.levelup"); + return levelUpSound; } @Override public @NotNull ResourceLocation getGlassBreakSound() { - return ResourceLocation.create("minecraft", "block.glass.break"); + return glassBreakSound; } @Override public ResourceLocation getAnvilUseSound() { - return ResourceLocation.create("minecraft", "block.anvil.use"); + return anvilUseSound; } } diff --git a/game-runner/src/v1_20_1/java/com/rappytv/toolwarn/v1_20_1/TbwSoundImpl.java b/game-runner/src/v1_20_1/java/com/rappytv/toolwarn/v1_20_1/TbwSoundImpl.java index 87928cd..f8304e0 100644 --- a/game-runner/src/v1_20_1/java/com/rappytv/toolwarn/v1_20_1/TbwSoundImpl.java +++ b/game-runner/src/v1_20_1/java/com/rappytv/toolwarn/v1_20_1/TbwSoundImpl.java @@ -10,20 +10,25 @@ @Implements(ITbwSounds.class) public class TbwSoundImpl implements ITbwSounds { + private final ResourceLocation plingSound = ResourceLocation.create("minecraft", "block.note_block.pling"); + private final ResourceLocation levelUpSound = ResourceLocation.create("minecraft", "entity.player.levelup"); + private final ResourceLocation glassBreakSound = ResourceLocation.create("minecraft", "block.glass.break"); + private final ResourceLocation anvilUseSound = ResourceLocation.create("minecraft", "block.anvil.use"); + @Override public ResourceLocation getPlingSound() { - return ResourceLocation.create("minecraft", "block.note_block.pling"); + return plingSound; } @Override public ResourceLocation getLevelUpSound() { - return ResourceLocation.create("minecraft", "entity.player.levelup"); + return levelUpSound; } @Override public @NotNull ResourceLocation getGlassBreakSound() { - return ResourceLocation.create("minecraft", "block.glass.break"); + return glassBreakSound; } @Override public ResourceLocation getAnvilUseSound() { - return ResourceLocation.create("minecraft", "block.anvil.use"); + return anvilUseSound; } } diff --git a/game-runner/src/v1_8_9/java/com/rappytv/toolwarn/v1_8_9/TbwSoundImpl.java b/game-runner/src/v1_8_9/java/com/rappytv/toolwarn/v1_8_9/TbwSoundImpl.java index 3cab8f8..dc07f4b 100644 --- a/game-runner/src/v1_8_9/java/com/rappytv/toolwarn/v1_8_9/TbwSoundImpl.java +++ b/game-runner/src/v1_8_9/java/com/rappytv/toolwarn/v1_8_9/TbwSoundImpl.java @@ -10,20 +10,25 @@ @Implements(ITbwSounds.class) public class TbwSoundImpl implements ITbwSounds { + private final ResourceLocation plingSound = ResourceLocation.create("minecraft", "note.pling"); + private final ResourceLocation levelUpSound = ResourceLocation.create("minecraft", "random.levelup"); + private final ResourceLocation glassBreakSound = ResourceLocation.create("minecraft", "game.potion.smash"); + private final ResourceLocation anvilUseSound = ResourceLocation.create("minecraft", "random.anvil_use"); + @Override public ResourceLocation getPlingSound() { - return ResourceLocation.create("minecraft", "note.pling"); + return plingSound; } @Override public ResourceLocation getLevelUpSound() { - return ResourceLocation.create("minecraft", "random.levelup"); + return levelUpSound; } @Override public @NotNull ResourceLocation getGlassBreakSound() { - return ResourceLocation.create("minecraft", "game.potion.smash"); + return glassBreakSound; } @Override public ResourceLocation getAnvilUseSound() { - return ResourceLocation.create("minecraft", "random.anvil_use"); + return anvilUseSound; } } From 27ca0708ea186c3939593b3934805efe8ce2e4ab Mon Sep 17 00:00:00 2001 From: RappyTV Date: Fri, 18 Aug 2023 15:27:04 +0200 Subject: [PATCH 2/6] remove info text from readme --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 0647e16..427cdc9 100644 --- a/readme.md +++ b/readme.md @@ -12,7 +12,7 @@ ### Installation 1. Press `Win` + `R` -2. Paste this into the window that popped up: `%appdata%/.minecraft/LabyMod-neo/addons` and press enter (This path may change when lm4 gets released) +2. Paste this into the window that popped up: `%appdata%/.minecraft/LabyMod-neo/addons` and press enter 3. It should open your Labymod addon directory; Paste the [Toolbreak_Warning.jar](https://github.com/RappyLabyAddons/Toolbreak-Warning/releases/download/v1.2.1/Toolbreak_Warning.jar) in there. 4. Launch your Labymod client. From 91853c39c3413507bbe40e86e396d69e88a361e2 Mon Sep 17 00:00:00 2001 From: RappyTV Date: Fri, 18 Aug 2023 15:55:47 +0200 Subject: [PATCH 3/6] Remove /tbw as it's completely useless --- .../rappytv/toolwarn/commands/TbwCommand.java | 106 ------------------ 1 file changed, 106 deletions(-) delete mode 100644 core/src/main/java/com/rappytv/toolwarn/commands/TbwCommand.java diff --git a/core/src/main/java/com/rappytv/toolwarn/commands/TbwCommand.java b/core/src/main/java/com/rappytv/toolwarn/commands/TbwCommand.java deleted file mode 100644 index faa9c0b..0000000 --- a/core/src/main/java/com/rappytv/toolwarn/commands/TbwCommand.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.rappytv.toolwarn.commands; - -import com.rappytv.toolwarn.TbwAddon; -import com.rappytv.toolwarn.config.TbwConfiguration; -import com.rappytv.toolwarn.util.ToolType; -import com.rappytv.toolwarn.util.Util; -import net.labymod.api.Laby; -import net.labymod.api.client.chat.command.Command; -import net.labymod.api.client.entity.player.ClientPlayer; -import net.labymod.api.client.world.item.ItemStack; -import net.labymod.api.util.I18n; - -public class TbwCommand extends Command { - - private final TbwConfiguration config; - - public TbwCommand(TbwAddon addon) { - super("tbw"); - this.config = addon.configuration(); - } - - @Override - public boolean execute(String prefix, String[] arguments) { - if(arguments.length < 1) { - Util.msg(I18n.translate("toolwarn.command.invalidSubcommand"), true); - } else if(arguments[0].equalsIgnoreCase("disable")) { - config.enabled().set(false); - - Util.msg(I18n.translate("toolwarn.command.addonDisabled"), true); - } else if(arguments[0].equalsIgnoreCase("format")) { - if(arguments.length < 2) { - Util.msg(I18n.translate("toolwarn.command.onOff"), true); - return true; - } - - if(arguments[1].equalsIgnoreCase("on")) { - config.format().set(true); - - Util.msg(I18n.translate("toolwarn.command.formattingEnabled"), true); - } else if(arguments[1].equalsIgnoreCase("off")) { - config.format().set(false); - - Util.msg(I18n.translate("toolwarn.command.formattingDisabled"), true); - } else - Util.msg(I18n.translate("toolwarn.command.onOff"), true); - - } else if(arguments[0].equalsIgnoreCase("debug")) { - if(arguments.length < 2) { - Util.msg(I18n.translate("toolwarn.command.onOnceOff"), true); - return true; - } - - if(arguments[1].equalsIgnoreCase("on")) { - config.debug().set(true); - - Util.msg(I18n.translate("toolwarn.command.debugEnabled"), true); - } else if(arguments[1].equalsIgnoreCase("once")) { - ClientPlayer player = Laby.labyAPI().minecraft().getClientPlayer(); - if(player == null) return true; - ItemStack itemStack = player.getMainHandItemStack(); - if(itemStack == null) return true; - Util.msg(I18n.translate("toolwarn.command.debugOnce"), true); - ToolType toolType = ToolType.getByItem(itemStack); - - if(toolType == ToolType.None) - Util.msg(I18n.translate("toolwarn.command.noEventTriggered"), false); - else { - int itemWarnInt = (toolType.getWarnPercentage(config) * itemStack.getMaximumDamage()) / 100; - int itemUsedInt = itemStack.getMaximumDamage() - itemStack.getCurrentDamageValue(); - - Util.msg(I18n.translate("toolwarn.messages.debug", toolType.displayName(), (config.format().get() ? Util.formatNumber(itemStack.getMaximumDamage()) : itemStack.getMaximumDamage()), (config.format().get() ? Util.formatNumber(itemUsedInt) : itemUsedInt), (config.format().get() ? Util.formatNumber(itemWarnInt) : itemWarnInt)), false); - } - } else if(arguments[1].equalsIgnoreCase("off")) { - config.debug().set(false); - Util.msg(I18n.translate("toolwarn.command.debugDisabled"), true); - } else { - Util.msg(I18n.translate("toolwarn.command.onOnceOff"), true); - } - } else if(arguments[0].equalsIgnoreCase("config")) { - String yes = "§a" + I18n.translate("toolwarn.command.yes"); - String no = "§c" + I18n.translate("toolwarn.command.no"); - - Util.msg(I18n.translate("toolwarn.command.config", - I18n.translate("toolwarn.settings.enabled.name"), - config.enabled().get() ? yes : no, - I18n.translate("toolwarn.settings.format.name"), - config.format().get() ? yes : no, - I18n.translate("toolwarn.settings.debug.name"), - config.debug().get() ? yes : no, - I18n.translate("toolwarn.settings.lastHit.name"), - config.lastHit().get() ? yes : no, - I18n.translate("toolwarn.settings.swordPercentage.name"), - "§b" + config.swordPercentage().get() + "%", - I18n.translate("toolwarn.settings.pickaxePercentage.name"), - "§b" + config.pickAxePercentage().get() + "%", - I18n.translate("toolwarn.settings.axePercentage.name"), - "§b" + config.axePercentage().get() + "%", - I18n.translate("toolwarn.settings.shovelPercentage.name"), - "§b" + config.shovelPercentage().get() + "%" - ), false); - } else { - Util.msg(I18n.translate("toolwarn.command.invalidSubcommand"), true); - } - return true; - } -} From a936901d3ac8a781acfe7f0be7394b79ce9c0a9e Mon Sep 17 00:00:00 2001 From: RappyTV Date: Fri, 18 Aug 2023 15:56:51 +0200 Subject: [PATCH 4/6] Replace all legacy color codes by components --- .../java/com/rappytv/toolwarn/TbwAddon.java | 12 ++++++++--- .../toolwarn/config/TbwConfiguration.java | 6 ------ .../toolwarn/listener/GameTickListener.java | 9 ++++---- .../java/com/rappytv/toolwarn/util/Util.java | 9 ++++++-- .../resources/assets/toolwarn/i18n/de_de.json | 21 ++----------------- .../resources/assets/toolwarn/i18n/en_us.json | 21 ++----------------- 6 files changed, 24 insertions(+), 54 deletions(-) diff --git a/core/src/main/java/com/rappytv/toolwarn/TbwAddon.java b/core/src/main/java/com/rappytv/toolwarn/TbwAddon.java index 14a850f..98de181 100644 --- a/core/src/main/java/com/rappytv/toolwarn/TbwAddon.java +++ b/core/src/main/java/com/rappytv/toolwarn/TbwAddon.java @@ -1,25 +1,31 @@ package com.rappytv.toolwarn; -import com.rappytv.toolwarn.commands.TbwCommand; import com.rappytv.toolwarn.config.TbwConfiguration; import com.rappytv.toolwarn.core.generated.DefaultReferenceStorage; import com.rappytv.toolwarn.listener.GameTickListener; import com.rappytv.toolwarn.util.ITbwSounds; import net.labymod.api.addon.LabyAddon; +import net.labymod.api.client.component.Component; +import net.labymod.api.client.component.format.NamedTextColor; +import net.labymod.api.client.component.format.Style; +import net.labymod.api.client.component.format.TextDecoration; import net.labymod.api.models.addon.annotation.AddonMain; @AddonMain public class TbwAddon extends LabyAddon { - public static final String prefix = "§c§lTBW §8» §7"; + public static Component prefix; private static ITbwSounds sounds; @Override protected void enable() { + // "§c§lTBW §8» §7" + prefix = Component + .text("TBW ", Style.builder().color(NamedTextColor.RED).decorate(TextDecoration.BOLD).build()) + .append(Component.text("» ", NamedTextColor.DARK_GRAY)); sounds = ((DefaultReferenceStorage) this.referenceStorageAccessor()).iTbwSounds(); registerSettingCategory(); - registerCommand(new TbwCommand(this)); registerListener(new GameTickListener(this)); } diff --git a/core/src/main/java/com/rappytv/toolwarn/config/TbwConfiguration.java b/core/src/main/java/com/rappytv/toolwarn/config/TbwConfiguration.java index 1667ca4..4899dde 100644 --- a/core/src/main/java/com/rappytv/toolwarn/config/TbwConfiguration.java +++ b/core/src/main/java/com/rappytv/toolwarn/config/TbwConfiguration.java @@ -27,9 +27,6 @@ public class TbwConfiguration extends AddonConfig { @SwitchSetting @SpriteSlot(size = 32, x = 3) private final ConfigProperty lastHit = new ConfigProperty<>(true); - @SwitchSetting - @SpriteSlot(size = 32, y = 1) - private final ConfigProperty debug = new ConfigProperty<>(false); @SettingSection("sounds") @SpriteSlot(size = 32, y = 1, x = 1) @@ -62,9 +59,6 @@ public ConfigProperty format() { public ConfigProperty lastHit() { return lastHit; } - public ConfigProperty debug() { - return debug; - } public TbwSoundSubConfig sounds() { return sounds; diff --git a/core/src/main/java/com/rappytv/toolwarn/listener/GameTickListener.java b/core/src/main/java/com/rappytv/toolwarn/listener/GameTickListener.java index 7b2cc63..0e429f2 100644 --- a/core/src/main/java/com/rappytv/toolwarn/listener/GameTickListener.java +++ b/core/src/main/java/com/rappytv/toolwarn/listener/GameTickListener.java @@ -6,12 +6,13 @@ import com.rappytv.toolwarn.util.Util; import com.rappytv.toolwarn.util.WarnSound; import net.labymod.api.Laby; +import net.labymod.api.client.component.Component; +import net.labymod.api.client.component.format.NamedTextColor; import net.labymod.api.client.entity.player.ClientPlayer; import net.labymod.api.client.entity.player.GameMode; import net.labymod.api.client.world.item.ItemStack; import net.labymod.api.event.Subscribe; import net.labymod.api.event.client.lifecycle.GameTickEvent; -import net.labymod.api.util.I18n; import java.util.ArrayList; import java.util.List; @@ -46,13 +47,11 @@ public void toolUsed(ItemStack itemStack, ToolType toolType) { int itemWarnInt = (toolType.getWarnPercentage(config) * itemStack.getMaximumDamage()) / 100; int itemUsedInt = itemStack.getMaximumDamage() - itemStack.getCurrentDamageValue(); - if(config.debug().get()) - Util.msg(I18n.translate("toolwarn.messages.debug", toolType.displayName(), (config.format().get() ? Util.formatNumber(itemStack.getMaximumDamage()) : itemStack.getMaximumDamage()), (config.format().get() ? Util.formatNumber(itemUsedInt) : itemUsedInt), (config.format().get() ? Util.formatNumber(itemWarnInt) : itemWarnInt)), false); if(itemUsedInt == itemWarnInt) { if(!warns.contains(itemStack)) { if(this.config.openChat().get()) Laby.labyAPI().minecraft().openChat(""); - Util.msg(I18n.getTranslation("toolwarn.messages.warning", toolType.getWarnPercentage(config)), true); + Util.msg(Component.translatable("toolwarn.messages.warning", NamedTextColor.RED, Component.text(toolType.getWarnPercentage(config))), true); warns.add(itemStack); if(config.sounds().enabled().get() && config.sounds().warnSound().get() != WarnSound.NONE) { @@ -66,7 +65,7 @@ public void toolUsed(ItemStack itemStack, ToolType toolType) { } else if(isLastHit(itemStack)) { if(!warns.contains(itemStack)) { if(this.config.openChat().get()) Laby.labyAPI().minecraft().openChat(""); - Util.msg(I18n.translate("toolwarn.messages.lastHit"), true); + Util.msg(Component.translatable("toolwarn.messages.lastHit", NamedTextColor.RED), true); warns.add(itemStack); if(config.sounds().enabled().get() && config.sounds().lastHitSound().get() != WarnSound.NONE) { diff --git a/core/src/main/java/com/rappytv/toolwarn/util/Util.java b/core/src/main/java/com/rappytv/toolwarn/util/Util.java index 3b32af1..88465f7 100644 --- a/core/src/main/java/com/rappytv/toolwarn/util/Util.java +++ b/core/src/main/java/com/rappytv/toolwarn/util/Util.java @@ -2,6 +2,7 @@ import com.rappytv.toolwarn.TbwAddon; import net.labymod.api.Laby; +import net.labymod.api.client.component.Component; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.text.NumberFormat; @@ -9,8 +10,12 @@ public class Util { - public static void msg(String text, boolean prefix) { - Laby.references().chatExecutor().displayClientMessage(prefix ? TbwAddon.prefix + text : text); + public static void msg(Component component, boolean prefix) { + Component message = Component.empty(); + if(prefix) + message.append(TbwAddon.prefix); + message.append(component); + Laby.references().chatExecutor().displayClientMessage(message); } public static String formatNumber(int number) { diff --git a/core/src/main/resources/assets/toolwarn/i18n/de_de.json b/core/src/main/resources/assets/toolwarn/i18n/de_de.json index dab0aa9..a541d2a 100644 --- a/core/src/main/resources/assets/toolwarn/i18n/de_de.json +++ b/core/src/main/resources/assets/toolwarn/i18n/de_de.json @@ -76,25 +76,8 @@ "shovel": "Schaufel" }, "messages": { - "lastHit": "§cDu solltest das Tool jetzt weglegen. Das ist dein letzter Schlag!", - "warning": "§cWillst du das Tool wirklich weiter benutzen? Die Haltbarkeit liegt bei %s%%!", - "debug": "§e§m §e§l[ Event ausgelöst ]§e§m \n§7Event: §b%s in Haupthand\n§7Maximale Haltbarkeit: §b%s\n§7Aktuelle Haltbarkeit: §b%s\n§7Warnungshaltbarkeit: §b%s\n§e§m " - }, - "command": { - "invalidSubcommand": "§cBitte gib einen gültigen Subcommand an! [disable, format, debug, config]", - "onOff": "§cBitte gib ein gültiges Argument an! [on, off]", - "onOnceOff": "§cBitte gib ein gültiges Argument an! arguments: [on, once, off]", - "addonEnabled": "§7Addon erfolgreich §aaktiviert§7!", - "addonDisabled": "§7Addon erfolgreich §cdeaktiviert§7!", - "formattingEnabled": "§7Nummerformatierungen erfolgreich §aaktiviert§7!", - "formattingDisabled": "§7Nummerformatierungen erfolgreich §cdeaktiviert§7!", - "debugEnabled": "§7Debug Modus erfolgreich §aaktiviert§7!", - "debugDisabled": "§7Debug Modus erfolgreich §cdeaktiviert§7!", - "debugOnce": "§7Debug Modus erfolgreich einmalig §aaktiviert§7)!", - "noEventTriggered": "§e§m §e§l[ Kein Event ausgelöst ]§e§m \n§7Event: §8-\n§7Maximale Haltbarkeit: §8-\n§7Aktuelle Haltbarkeit: §8-\n§7Warnungshaltbarkeit: §8-\n§e§m ", - "config": "§e§m §e§l[ Config ]§e§m \n§7%s: %s\n§7%s: %s\n§7%s: %s\n§7%s: %s\n§7%s: §b%s\n§7%s: §b%s\n§7%s: §b%s\n§7%s: §b%s\n§e§m ", - "yes": "Ja", - "no": "Nein" + "lastHit": "Du solltest das Tool jetzt weglegen. Das ist dein letzter Schlag!", + "warning": "Willst du das Tool wirklich weiter benutzen? Die Haltbarkeit liegt bei %s%%!" } } } \ No newline at end of file diff --git a/core/src/main/resources/assets/toolwarn/i18n/en_us.json b/core/src/main/resources/assets/toolwarn/i18n/en_us.json index 3415589..f5baa7f 100644 --- a/core/src/main/resources/assets/toolwarn/i18n/en_us.json +++ b/core/src/main/resources/assets/toolwarn/i18n/en_us.json @@ -76,25 +76,8 @@ "shovel": "Shovel" }, "messages": { - "lastHit": "§cYou should stop using this tool now, this is your last hit!", - "warning": "§cDo you really want to continue using this tool? Its durability is at %s%%!", - "debug": "§e§m §e§l[ Event triggered ]§e§m \n§7Event: §b%s in main hand\n§7Max durability: §b%s\n§7Current durability: §b%s\n§7Warn durability: §b%s\n§e§m " - }, - "command": { - "invalidSubcommand": "§cPlease provide a valid subcommand! [disable, format, debug, config]", - "onOff": "§cPlease provide a valid argument! [on, off]", - "onOnceOff": "§cPlease provide a valid argument! [on, once, off]", - "addonEnabled": "§7Addon successfully §aenabled§7!", - "addonDisabled": "§7Addon successfully §cdisabled§7!", - "formattingEnabled": "§7Number formatting successfully §aenabled§7!", - "formattingDisabled": "§7Number formatting successfully §cdisabled§7!", - "debugEnabled": "§7Debug mode successfully §aenabled§7!", - "debugDisabled": "§7Debug mode successfully §cdisabled§7!", - "debugOnce": "§7Debug mode successfully §aenabled §7once!", - "noEventTriggered": "§e§m §e§l[ No event triggered ]§e§m \n§7Event: §8-\n§7Max durability: §8-\n§7Current durability: §8-\n§7Warn durability: §8-\n§e§m ", - "config": "§e§m §e§l[ Config ]§e§m \n§7%s: %s\n§7%s: %s\n§7%s: %s\n§7%s: %s\n§7%s: §b%s\n§7%s: §b%s\n§7%s: §b%s\n§7%s: §b%s\n§e§m ", - "yes": "Yes", - "no": "No" + "lastHit": "You should stop using this tool now, this is your last hit!", + "warning": "Do you really want to continue using this tool? Its durability is at %s%%!" } } } \ No newline at end of file From cd9a046c85d7269fdbacaee09758234a4b8a29d8 Mon Sep 17 00:00:00 2001 From: RappyTV Date: Fri, 18 Aug 2023 16:03:07 +0200 Subject: [PATCH 5/6] Remove unused setting, clean i18n files --- .../com/rappytv/toolwarn/config/TbwConfiguration.java | 6 ------ core/src/main/resources/assets/toolwarn/i18n/de_de.json | 8 -------- core/src/main/resources/assets/toolwarn/i18n/en_us.json | 8 -------- 3 files changed, 22 deletions(-) diff --git a/core/src/main/java/com/rappytv/toolwarn/config/TbwConfiguration.java b/core/src/main/java/com/rappytv/toolwarn/config/TbwConfiguration.java index 4899dde..8bdae7c 100644 --- a/core/src/main/java/com/rappytv/toolwarn/config/TbwConfiguration.java +++ b/core/src/main/java/com/rappytv/toolwarn/config/TbwConfiguration.java @@ -22,9 +22,6 @@ public class TbwConfiguration extends AddonConfig { @SpriteSlot(size = 32, x = 1) private final ConfigProperty openChat = new ConfigProperty<>(true); @SwitchSetting - @SpriteSlot(size = 32, x = 2) - private final ConfigProperty format = new ConfigProperty<>(true); - @SwitchSetting @SpriteSlot(size = 32, x = 3) private final ConfigProperty lastHit = new ConfigProperty<>(true); @@ -53,9 +50,6 @@ public ConfigProperty enabled() { public ConfigProperty openChat() { return openChat; } - public ConfigProperty format() { - return format; - } public ConfigProperty lastHit() { return lastHit; } diff --git a/core/src/main/resources/assets/toolwarn/i18n/de_de.json b/core/src/main/resources/assets/toolwarn/i18n/de_de.json index a541d2a..b9634c6 100644 --- a/core/src/main/resources/assets/toolwarn/i18n/de_de.json +++ b/core/src/main/resources/assets/toolwarn/i18n/de_de.json @@ -20,18 +20,10 @@ "name": "Chat öffnen beim warnen", "description": "Wenn das Addon dich warnt, wird sich dein Chat öffnen, damit du daran gehindert wirst, die letzten Hits mit deinem Tool zu verbrauchen." }, - "format": { - "name": "Zahlen formatieren", - "description": "Unformatierte Zahl: 1561\nFormatierte Zahl: 1.561" - }, "lastHit": { "name": "Warnung beim letzten Schlag", "description": "Warnt dich, wenn dein Tool bei Haltbarkeit 1 angekommen ist" }, - "debug": { - "name": "Debug Modus (Entwicklungs-Funktion)", - "description": "Sendet jeden Tick eine Nachricht in den Chat, in dem du ein Tool in der Hand hältst." - }, "sounds": { "name": "Sound Einstellungen", "description": "Verwaltet die Sounds, die abgespielt werden.", diff --git a/core/src/main/resources/assets/toolwarn/i18n/en_us.json b/core/src/main/resources/assets/toolwarn/i18n/en_us.json index f5baa7f..aa36874 100644 --- a/core/src/main/resources/assets/toolwarn/i18n/en_us.json +++ b/core/src/main/resources/assets/toolwarn/i18n/en_us.json @@ -20,18 +20,10 @@ "name": "Open chat on warn", "description": "When the addon warns you, your chat will open to prevent you from wasting the last durability of your tool." }, - "format": { - "name": "Format numbers", - "description": "Unformatted Number: 1561\nFormatted Number: 1.561" - }, "lastHit": { "name": "Warn on last hit", "description": "Warns you when your tool is at 1 durability" }, - "debug": { - "name": "Debug Mode (Development Feature)", - "description": "Sends a message in the chat every tick you're holding a tool." - }, "sounds": { "name": "Sound Settings", "description": "Manages the sounds that are played.", From 113ec7661019732e9ed8507d225ddca3e75da4c2 Mon Sep 17 00:00:00 2001 From: RappyTV Date: Fri, 18 Aug 2023 16:07:30 +0200 Subject: [PATCH 6/6] Improve readme, push version --- build.gradle.kts | 2 +- readme.md | 19 ++++--------------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 0591e2c..962985f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -20,7 +20,7 @@ labyMod { displayName = "Toolbreak Warning" author = "RappyTV" description = "Stops you from using your currently used tool when its almost destroyed." - version = System.getenv().getOrDefault("VERSION", "1.2.1") + version = System.getenv().getOrDefault("VERSION", "1.3.0") } minecraft { diff --git a/readme.md b/readme.md index 427cdc9..d85f3c0 100644 --- a/readme.md +++ b/readme.md @@ -1,19 +1,10 @@ # **Toolbreak Warning (LabyMod 4)** -> With this plugin you can prevent breaking your expensive tools, especially when you're mining with high efficiency enchantments and/or haste. -> Adds the command /tbw (Addon Settings as a command) - -### You can customize these Settings: -- If the addon is enabled or not -- If the chat should be opened when you get warned -- If durability numbers should be formatted (Formatted = 1.562 | Not Formatted = 1562) -- If you should be warned at durability 1 -- If the debug mode is enabled or not (only recommended for developing purposes) -- At what percentage of durability the warning should be displayed (customizable for each tooltype) +With this plugin you can prevent breaking your expensive tools, especially when you're mining with high efficiency enchantments and/or haste. ### Installation 1. Press `Win` + `R` 2. Paste this into the window that popped up: `%appdata%/.minecraft/LabyMod-neo/addons` and press enter -3. It should open your Labymod addon directory; Paste the [Toolbreak_Warning.jar](https://github.com/RappyLabyAddons/Toolbreak-Warning/releases/download/v1.2.1/Toolbreak_Warning.jar) in there. +3. It should open your Labymod addon directory; Paste the [Toolbreak_Warning.jar](https://github.com/RappyLabyAddons/Toolbreak-Warning/releases/download/v1.3.0/Toolbreak_Warning.jar) in there. 4. Launch your Labymod client. If you have any problems with the addon/have update ideas, feel free to @@ -28,13 +19,11 @@ If you have any problems with the addon/have update ideas, feel free to [RappyTV | Website][website] [RappyTV | YouTube][youtube] [RappyTV | Instagram][instagram] -[RappyTV | Discord][dcServer] +[RappyTV | Discord][server] [RappyTV | TikTok][tiktok] [website]: https://rappytv.com/ [youtube]: https://youtube.com/c/RappyTVTutorials [instagram]: https://instagram.com/rappyytv -[dcbotplaylist]: https://youtube.com/playlist?list=PL-NddfqjbJVZ2-CGquW0I42J9IGUkXq12 -[dcServer]: https://rappytv.com/server -[dcBot]: https://rappytv.com/bot +[server]: https://rappytv.com/server [tiktok]: https://tiktok.com/@rappytv