Skip to content

Commit

Permalink
chore: update some old adventure-related code
Browse files Browse the repository at this point in the history
  • Loading branch information
Machine-Maker committed Mar 16, 2024
1 parent 6c3e448 commit 5d3a984
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 23 deletions.
4 changes: 3 additions & 1 deletion src/main/java/me/machinemaker/papertweaks/PaperTweaks.java
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,9 @@ protected void configure() {

@Override
public void onDisable() {
this.moduleManager.disableModules(true);
if (this.moduleManager != null) {
this.moduleManager.disableModules(true);
}
EXECUTOR_SERVICE.shutdownNow();
}

Expand Down
44 changes: 35 additions & 9 deletions src/main/java/me/machinemaker/papertweaks/RootCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,6 @@
import net.kyori.adventure.text.ComponentLike;
import net.kyori.adventure.text.JoinConfiguration;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.event.HoverEvent;
import net.kyori.adventure.text.format.TextColor;
import org.bukkit.command.CommandSender;
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
import org.checkerframework.checker.nullness.qual.NonNull;
Expand All @@ -57,8 +54,17 @@
import static net.kyori.adventure.text.Component.newline;
import static net.kyori.adventure.text.Component.space;
import static net.kyori.adventure.text.Component.text;
import static net.kyori.adventure.text.Component.textOfChildren;
import static net.kyori.adventure.text.Component.translatable;
import static net.kyori.adventure.text.format.NamedTextColor.*;
import static net.kyori.adventure.text.event.ClickEvent.copyToClipboard;
import static net.kyori.adventure.text.event.ClickEvent.runCommand;
import static net.kyori.adventure.text.event.HoverEvent.showText;
import static net.kyori.adventure.text.format.NamedTextColor.GOLD;
import static net.kyori.adventure.text.format.NamedTextColor.GRAY;
import static net.kyori.adventure.text.format.NamedTextColor.GREEN;
import static net.kyori.adventure.text.format.NamedTextColor.RED;
import static net.kyori.adventure.text.format.NamedTextColor.YELLOW;
import static net.kyori.adventure.text.format.TextColor.color;

@DefaultQualifier(NonNull.class)
public class RootCommand extends PaperTweaksCommand {
Expand Down Expand Up @@ -150,24 +156,44 @@ private void sendModuleList(final @NonNull CommandContext<CommandDispatcher> con
if (lifecycle.isEmpty()) continue;
final ModuleState state = lifecycle.get().getState();
if (showAll || state.isRunning()) {
final TextComponent.Builder builder = text().color(TextColor.color(0x8F8F8F)).append(text(" - "));
final TextComponent.Builder builder = text().color(color(0x8F8F8F)).append(text(" - "));
if ((state.isRunning() && context.getSender().hasPermission("vanillatweaks.main.disable")) || (!state.isRunning() && context.getSender().hasPermission("vanillatweaks.main.enable"))) {
builder.append(text("[" + (state.isRunning() ? "■" : "▶") + "]", state.isRunning() ? RED : GREEN).hoverEvent(HoverEvent.showText(translatable("commands.config.bool-toggle." + state.isRunning(), state.isRunning() ? RED : GREEN, text(moduleBase.getName(), GOLD)))).clickEvent(ClickEvent.runCommand("/vanillatweaks " + (state.isRunning() ? "disable " : "enable ") + moduleBase.getName()))).append(space());
builder.append(
text("[" + (state.isRunning() ? "■" : "▶") + "]", state.isRunning() ? RED : GREEN)
.hoverEvent(showText(translatable("commands.config.bool-toggle." + state.isRunning(), state.isRunning() ? RED : GREEN, text(moduleBase.getName(), GOLD))))
.clickEvent(runCommand("/vanillatweaks " + (state.isRunning() ? "disable " : "enable ") + moduleBase.getName()))
).append(space());
}

builder.append(text(moduleBase.getName(), state.isRunning() ? GREEN : RED).hoverEvent(HoverEvent.showText(text(moduleBase.getDescription(), GRAY))));
builder.append(
text(moduleBase.getName(), state.isRunning() ? GREEN : RED)
.hoverEvent(showText(text(moduleBase.getDescription(), GRAY)))
);
list.append(builder).append(newline());
}
}
context.getSender().sendMessage(join(JoinConfiguration.noSeparators(), header, list, AbstractConfigurationMenu.END_LINE));
}

private ComponentLike createHeader(final int page, final List<ModuleBase> modules) {
return text().append(AbstractConfigurationMenu.TITLE_LINE).append(ChatWindow.center(text("Modules - Page " + page + "/" + ((int) Math.ceil(modules.size() / (double) PAGE_SIZE))).hoverEvent(HoverEvent.showText(translatable("commands.list.success.header.hover", GRAY)))).append(newline())).append(AbstractConfigurationMenu.TITLE_LINE);
return textOfChildren(
AbstractConfigurationMenu.TITLE_LINE,
ChatWindow.center(
text("Modules - Page " + page + "/" + ((int) Math.ceil(modules.size() / (double) PAGE_SIZE)))
.hoverEvent(showText(translatable("commands.list.success.header.hover", GRAY)))
),
newline(),
AbstractConfigurationMenu.TITLE_LINE
);
}

private void showVersion(final CommandContext<CommandDispatcher> context) {
final TextComponent.Builder component = text().append(PaperTweaks.PLUGIN_PREFIX).append(translatable("commands.version.success", GRAY, text(PaperTweaks.class.getPackage().getImplementationVersion(), GOLD)).hoverEvent(HoverEvent.showText(translatable("commands.version.success.hover", GRAY))).clickEvent(ClickEvent.copyToClipboard(PaperTweaks.class.getPackage().getImplementationVersion())));
final Component component = textOfChildren(
PaperTweaks.PLUGIN_PREFIX,
translatable("commands.version.success", GRAY, text(PaperTweaks.class.getPackage().getImplementationVersion(), GOLD))
.hoverEvent(showText(translatable("commands.version.success.hover", GRAY)))
.clickEvent(copyToClipboard(PaperTweaks.class.getPackage().getImplementationVersion()))
);
context.getSender().sendMessage(component);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@
import me.machinemaker.papertweaks.settings.Setting;
import me.machinemaker.papertweaks.settings.types.ConfigSetting;
import me.machinemaker.papertweaks.settings.types.PlayerSetting;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.entity.Player;
import org.checkerframework.checker.nullness.qual.Nullable;

import static net.kyori.adventure.text.Component.translatable;
import static net.kyori.adventure.text.format.NamedTextColor.GREEN;

@SuppressWarnings("Convert2Diamond")
public class SettingArgument<C, S extends Setting<?, C>> extends ArgumentPair<CommandDispatcher, S, Object, SettingArgument.SettingChange<C, S>> {
Expand Down Expand Up @@ -90,7 +90,7 @@ public static <C, S extends ModuleSetting<?, C>> Command.Builder<CommandDispatch
playerSetting.reset(player);
}
}
context.getSender().sendMessage(translatable(translationKey + ".success", NamedTextColor.GREEN));
context.getSender().sendMessage(translatable(translationKey + ".success", GREEN));
});
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import net.kyori.adventure.text.format.TextDecoration;

import static net.kyori.adventure.text.Component.text;
import static net.kyori.adventure.text.format.NamedTextColor.*;
import static net.kyori.adventure.text.format.NamedTextColor.DARK_GRAY;

public abstract class AbstractConfigurationMenu<S> implements ConfigurationMenu<S> {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,8 @@
import me.machinemaker.papertweaks.modules.ModuleListener;
import me.machinemaker.papertweaks.settings.ModuleSettings;
import me.machinemaker.papertweaks.tags.Tags;
import me.machinemaker.papertweaks.utils.Keys;
import net.kyori.adventure.sound.Sound;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
Expand All @@ -44,6 +42,8 @@

import static net.kyori.adventure.text.Component.text;
import static net.kyori.adventure.text.Component.translatable;
import static net.kyori.adventure.text.format.NamedTextColor.GOLD;
import static net.kyori.adventure.text.format.NamedTextColor.RED;

class PlayerListener implements ModuleListener {

Expand Down Expand Up @@ -90,10 +90,10 @@ public void onDurabilityChange(final PlayerItemDamageEvent event) throws Executi
Component createNotification(final Material type, final int durability) {
return translatable(
"modules.durability-ping.notification.tool",
NamedTextColor.RED,
translatable(Keys.itemTranslationKey(type), NamedTextColor.GOLD),
text(type.getMaxDurability() - durability - 1, NamedTextColor.GOLD),
text(type.getMaxDurability(), NamedTextColor.GOLD)
RED,
translatable(type, GOLD),
text(type.getMaxDurability() - durability - 1, GOLD),
text(type.getMaxDurability(), GOLD)
);
}

Expand Down
4 changes: 0 additions & 4 deletions src/main/java/me/machinemaker/papertweaks/utils/Keys.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,4 @@ public static NamespacedKey legacyKey(final String string) {
public static NamespacedKey key(final String string) {
return new NamespacedKey(NAMESPACE, string);
}

public static String itemTranslationKey(final Material material) {
return "item." + material.getKey().getNamespace() + "." + material.getKey().getKey().replace('/', '.');
}
}

0 comments on commit 5d3a984

Please sign in to comment.