Compare commits

..

No commits in common. "e18ecfde1ade6c14759b777269aa1a16f1d85369" and "1216cfbdf5c5a85b7eb6c0d0261c24f8c584a62e" have entirely different histories.

7 changed files with 23 additions and 19 deletions

View file

@ -47,9 +47,9 @@ public class Nicko extends JavaPlugin {
dataStore = new PlayerDataStore(mojangAPI, getNickoConfig()); dataStore = new PlayerDataStore(mojangAPI, getNickoConfig());
if (!MinecraftVersion.v1_21_5.atOrAbove()) { if (!MinecraftVersion.TRAILS_AND_TAILS.atOrAbove()) {
getLogger().severe("This version (" + MinecraftVersion.getCurrentVersion().getVersion() + ") is not supported by Nicko!"); getLogger().severe("This version (" + MinecraftVersion.getCurrentVersion().getVersion() + ") is not supported by Nicko!");
getLogger().severe("As of version 1.2.0, Nicko only supports the latest Minecraft version. (Currently 1.21.5)"); getLogger().severe("As of version 1.2.0, Nicko only supports the latest Minecraft version. (Currently 1.21.4)");
dataStore.getStorage().setError(true); dataStore.getStorage().setError(true);
Bukkit.getPluginManager().disablePlugin(this); Bukkit.getPluginManager().disablePlugin(this);
} }

View file

@ -8,7 +8,6 @@ import org.bukkit.entity.Player;
import org.jspecify.annotations.Nullable; import org.jspecify.annotations.Nullable;
import xyz.ineanto.nicko.gui.HomeGUI; import xyz.ineanto.nicko.gui.HomeGUI;
@SuppressWarnings("UnstableApiUsage")
public class NickoCommand implements BasicCommand { public class NickoCommand implements BasicCommand {
@Override @Override
public void execute(CommandSourceStack stack, String[] strings) { public void execute(CommandSourceStack stack, String[] strings) {

View file

@ -8,20 +8,14 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import xyz.ineanto.nicko.Nicko; import xyz.ineanto.nicko.Nicko;
import xyz.ineanto.nicko.gui.prompt.Prompt; import xyz.ineanto.nicko.gui.prompt.Prompt;
import xyz.ineanto.nicko.language.LanguageKey;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
public class ConversationPrompt extends Prompt { public class ConversationPrompt extends Prompt {
private final ConversationFactory conversationFactory = new ConversationFactory(Nicko.getInstance());
private final String changeBothTag = "changeBoth"; private final String changeBothTag = "changeBoth";
private final Player player; private final Player player;
private final ConversationFactory conversationFactory = new ConversationFactory(Nicko.getInstance())
.withTimeout(30)
.withModality(false)
.withEscapeSequence("EXIT")
.withLocalEcho(false)
.thatExcludesNonPlayersWithMessage("Player only");
private String name; private String name;
@ -30,11 +24,17 @@ public class ConversationPrompt extends Prompt {
this.player = player; this.player = player;
} }
@Override @Override
public void displayNameThenSkinPrompt() { public void displayNameThenSkinPrompt() {
conversationFactory conversationFactory
.thatExcludesNonPlayersWithMessage("Player only")
.withTimeout(30)
.withModality(false)
.withFirstPrompt(new ChangeNameConversation()) .withFirstPrompt(new ChangeNameConversation())
.withEscapeSequence("EXIT")
.withInitialSessionData(Map.of(changeBothTag, true)) .withInitialSessionData(Map.of(changeBothTag, true))
.withLocalEcho(false)
.buildConversation(player) .buildConversation(player)
.begin(); .begin();
} }
@ -42,7 +42,12 @@ public class ConversationPrompt extends Prompt {
@Override @Override
public void displaySkinPrompt() { public void displaySkinPrompt() {
conversationFactory conversationFactory
.thatExcludesNonPlayersWithMessage("Player only")
.withModality(false)
.withTimeout(30)
.withFirstPrompt(new ChangeSkinConversation()) .withFirstPrompt(new ChangeSkinConversation())
.withEscapeSequence("EXIT")
.withLocalEcho(false)
.buildConversation(player) .buildConversation(player)
.begin(); .begin();
} }
@ -50,7 +55,12 @@ public class ConversationPrompt extends Prompt {
@Override @Override
public void displayNamePrompt() { public void displayNamePrompt() {
conversationFactory conversationFactory
.thatExcludesNonPlayersWithMessage("Player only")
.withModality(false)
.withTimeout(30)
.withFirstPrompt(new ChangeNameConversation()) .withFirstPrompt(new ChangeNameConversation())
.withEscapeSequence("EXIT")
.withLocalEcho(false)
.buildConversation(player) .buildConversation(player)
.begin(); .begin();
} }
@ -58,7 +68,7 @@ public class ConversationPrompt extends Prompt {
private class ChangeNameConversation extends StringPrompt { private class ChangeNameConversation extends StringPrompt {
@Override @Override
public @NotNull String getPromptText(@NotNull ConversationContext context) { public @NotNull String getPromptText(@NotNull ConversationContext context) {
return playerLanguage.translate(LanguageKey.Event.Appearance.Set.CHAT_PROMPT_NAME, true); return "Enter your new name";
} }
@Override @Override
@ -76,7 +86,7 @@ public class ConversationPrompt extends Prompt {
private class ChangeSkinConversation extends StringPrompt { private class ChangeSkinConversation extends StringPrompt {
@Override @Override
public @NotNull String getPromptText(@NotNull ConversationContext context) { public @NotNull String getPromptText(@NotNull ConversationContext context) {
return playerLanguage.translate(LanguageKey.Event.Appearance.Set.CHAT_PROMPT_SKIN, true); return "Enter your new skin";
} }
@Override @Override

View file

@ -49,8 +49,7 @@ public class LanguageKey {
public static final String OK = SET_KEY + "ok"; public static final String OK = SET_KEY + "ok";
public static final String ERROR = SET_KEY + "error"; public static final String ERROR = SET_KEY + "error";
public static final String CHAT_PROMPT_NAME = SET_KEY + "chat_prompt_name"; public static final String CHAT_PROMPT = SET_KEY + "chat_prompt";
public static final String CHAT_PROMPT_SKIN = SET_KEY + "chat_prompt_skin";
} }
public static class Remove { public static class Remove {

View file

@ -7,7 +7,6 @@ import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.graph.Dependency; import org.eclipse.aether.graph.Dependency;
import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.repository.RemoteRepository;
@SuppressWarnings("UnstableApiUsage")
public class NickoPluginLoader implements PluginLoader { public class NickoPluginLoader implements PluginLoader {
@Override @Override
public void classloader(PluginClasspathBuilder pluginClasspathBuilder) { public void classloader(PluginClasspathBuilder pluginClasspathBuilder) {

View file

@ -20,8 +20,7 @@ event:
set: set:
error: "<gray>Wasn''t able to apply your disguise! ({0})</gray>" error: "<gray>Wasn''t able to apply your disguise! ({0})</gray>"
ok: "<gray>You''re now disguised.</gray>" ok: "<gray>You''re now disguised.</gray>"
chat_prompt_name: "<gray>Please enter your new name in chat (type \"EXIT\" to cancel).</gray>" chat_prompt: "<gray>Please enter your new {0} in chat.</gray>"
chat_prompt_skin: "<gray>Please enter your new skin in chat (type \"EXIT\" to cancel).</gray>"
restore: restore:
error: "<gray>Wasn''t able to apply the previous disguise! ({0})</gray>" error: "<gray>Wasn''t able to apply the previous disguise! ({0})</gray>"
ok: "<gray>Previous disguise restored.</gray>" ok: "<gray>Previous disguise restored.</gray>"

View file

@ -20,8 +20,6 @@ event:
set: set:
error: "<gray>Impossible d''appliquer votre déguisement ! ({0})</gray>" error: "<gray>Impossible d''appliquer votre déguisement ! ({0})</gray>"
ok: "<gray>Déguisement appliqué avec succès.</gray>" ok: "<gray>Déguisement appliqué avec succès.</gray>"
chat_prompt_name: "<gray>Veuillez entrer votre nouveau pseudo (saisissez \"EXIT\" pour arrêter).</gray>"
chat_prompt_skin: "<gray>Veuillez entrer votre nouveau skin (saisissez \"EXIT\" pour arrêter).</gray>"
restore: restore:
error: "<gray>Impossible d''appliquer le précédent déguisement ! ({0})</gray>" error: "<gray>Impossible d''appliquer le précédent déguisement ! ({0})</gray>"
ok: "<gray>Votre précédent déguisement a été appliqué.<gray>" ok: "<gray>Votre précédent déguisement a été appliqué.<gray>"