Merge debug command reorganization

- Swift's debug command tree lands on the consolidated package layout
- CommandDebug and its tests move from core.commands to command
This commit is contained in:
Brian Neumann-Fopiano
2026-09-11 21:47:30 -04:00
24 changed files with 241 additions and 42 deletions
@@ -0,0 +1,39 @@
package art.arcane.iris.command;
import art.arcane.iris.Iris;
import art.arcane.iris.configuration.IrisSettings;
import art.arcane.iris.localization.BukkitCommandMessagesExtended;
import art.arcane.iris.localization.IrisLanguage;
import art.arcane.iris.command.DirectorExecutor;
import art.arcane.volmlib.util.director.annotations.Director;
import art.arcane.volmlib.util.director.annotations.Param;
import art.arcane.volmlib.util.director.help.DirectorMiniMenu;
import art.arcane.volmlib.util.localization.MessageArgument;
import art.arcane.volmlib.util.plugin.ComponentMessenger;
import org.bukkit.command.CommandSender;
@Director(name = "debug", description = "Iris diagnostic tools", descriptionKey = "iris.director.commanddebug.description")
public final class CommandDebug implements DirectorExecutor {
@Director(name = "dump", sync = true, description = "Create and optionally upload a diagnostic report", descriptionKey = "iris.director.commandiris.director.debugdump")
public void dump(
@Param(name = "upload", defaultValue = "true", description = "Upload the report to mclo.gs", descriptionKey = "iris.director.commandiris.param.debugdump_upload") boolean upload,
@Param(name = "sender", contextual = true) CommandSender sender
) {
Iris.instance.debugDump().request(sender, upload);
}
@Director(sync = true, description = "Print version information", descriptionKey = "iris.director.commandiris.director.print_version_information")
public void version(@Param(name = "sender", contextual = true) CommandSender sender) {
ComponentMessenger.sendMarkup(sender, DirectorMiniMenu.version(
"Iris", Iris.instance.getDescription().getVersion(), DirectorMiniMenu.Theme.irisGreen()));
}
@Director(description = "Toggle debug", descriptionKey = "iris.director.commandiris.director.toggle_debug")
public void toggle() {
boolean enabled = !IrisSettings.get().getGeneral().isDebug();
IrisSettings.get().getGeneral().setDebug(enabled);
IrisSettings.get().forceSave();
sender().sendMessage(IrisLanguage.text(BukkitCommandMessagesExtended.COMMAND_IRIS_SET_DEBUG,
MessageArgument.untrusted("to", enabled)));
}
}
@@ -93,16 +93,9 @@ public class CommandIris implements DirectorExecutor {
private CommandPack pack;
private CommandFind find;
private CommandDatapack datapack;
private CommandDebug debug;
VolmitSender sender = Iris.getSender();
@Director(name = "debugdump", sync = true, description = "Create and optionally upload a diagnostic report", descriptionKey = "iris.director.commandiris.director.debugdump")
public void debugdump(
@Param(name = "upload", defaultValue = "true", description = "Upload the report to mclo.gs", descriptionKey = "iris.director.commandiris.param.debugdump_upload") boolean upload,
@Param(name = "sender", contextual = true) CommandSender sender
) {
Iris.instance.debugDump().request(sender, upload);
}
@Director(description = "Choose your language or the server default")
public void language() {
Iris.instance.selectLanguage(sender().getS(), new String[0]);
@@ -313,9 +306,9 @@ public class CommandIris implements DirectorExecutor {
}
}
@Director(description = "Print version information", descriptionKey = "iris.director.commandiris.director.print_version_information")
public void version() {
sender().sendMessage(IrisLanguage.text(BukkitCommandMessagesExtended.COMMAND_IRIS_IRIS_V_BY_VOLMIT_SOFTWARE, MessageArgument.untrusted("value", Iris.instance.getDescription().getVersion())));
@Director(hidden = true, sync = true, description = "Print version information", descriptionKey = "iris.director.commandiris.director.print_version_information")
public void version(@Param(name = "sender", contextual = true) CommandSender sender) {
debug.version(sender);
}
@Director(description = "Print world height information", descriptionKey = "iris.director.commandiris.director.print_world_height_information", origin = DirectorOrigin.PLAYER)
@@ -439,14 +432,6 @@ public class CommandIris implements DirectorExecutor {
return failure.getMessage();
}
@Director(description = "Toggle debug", descriptionKey = "iris.director.commandiris.director.toggle_debug")
public void debug() {
boolean to = !IrisSettings.get().getGeneral().isDebug();
IrisSettings.get().getGeneral().setDebug(to);
IrisSettings.get().forceSave();
sender().sendMessage(IrisLanguage.text(BukkitCommandMessagesExtended.COMMAND_IRIS_SET_DEBUG, MessageArgument.untrusted("to", to)));
}
@Director(description = "Download a project.", descriptionKey = "iris.director.commandiris.director.download_project", aliases = "dl")
public void download(
@Param(name = "pack", description = "The built-in pack to download", descriptionKey = "iris.director.commandiris.param.pack_download", defaultValue = NO_DOWNLOAD_SOURCE, customHandler = DownloadPackHandler.class)
@@ -188,7 +188,7 @@ public class CommandSVC implements IrisService, CommandExecutor, TabCompleter, D
Iris.instance.selectLanguage(sender, Arrays.copyOfRange(args, 1, args.length));
return;
}
if (!(args.length > 0 && args[0].equalsIgnoreCase("debugdump"))
if (!(args.length > 1 && args[0].equalsIgnoreCase("debug") && args[1].equalsIgnoreCase("dump"))
&& !sender.hasPermission(ROOT_PERMISSION)) {
ComponentMessenger.sendSection(sender, IrisLanguage.text(
IrisMessages.COMMAND_PERMISSION_DENIED,
@@ -0,0 +1,87 @@
package art.arcane.iris.command;
import art.arcane.iris.Iris;
import art.arcane.iris.command.CommandSVC;
import art.arcane.iris.world.task.J;
import art.arcane.volmlib.util.diagnostics.BukkitDebugDump;
import art.arcane.volmlib.util.director.DirectorEngineOptions;
import art.arcane.volmlib.util.director.compat.DirectorEngineFactory;
import art.arcane.volmlib.util.director.context.DirectorContextRegistry;
import art.arcane.volmlib.util.director.help.DirectorMiniMenu;
import art.arcane.volmlib.util.director.runtime.DirectorInvocation;
import art.arcane.volmlib.util.director.runtime.DirectorRuntimeEngine;
import art.arcane.volmlib.util.director.runtime.DirectorSender;
import art.arcane.volmlib.util.plugin.ComponentMessenger;
import org.bukkit.command.CommandSender;
import org.junit.Test;
import org.mockito.MockedStatic;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.mockStatic;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
public class CommandDebugTest {
@Test
public void nestedDumpPreservesUploadDefaultAndLocalOnlyOption() {
Iris previousPlugin = Iris.instance;
Iris plugin = mock(Iris.class);
Iris.instance = plugin;
BukkitDebugDump dump = mock(BukkitDebugDump.class);
CommandSender sender = mock(CommandSender.class);
DirectorSender invocationSender = mock(DirectorSender.class);
when(plugin.debugDump()).thenReturn(dump);
when(invocationSender.getName()).thenReturn("Console");
DirectorContextRegistry contexts = new DirectorContextRegistry();
contexts.register(CommandSender.class, (invocation, arguments) -> sender);
try (MockedStatic<Iris> iris = mockStatic(Iris.class)) {
DirectorRuntimeEngine engine = DirectorEngineFactory.create(new CommandIris(),
DirectorEngineOptions.builder().contexts(contexts).build());
assertTrue(engine.execute(new DirectorInvocation(invocationSender, "iris", List.of("debug", "dump"))).isSuccess());
assertTrue(engine.execute(new DirectorInvocation(invocationSender, "iris", List.of("debug", "dump", "upload=false"))).isSuccess());
verify(dump).request(sender, true);
verify(dump).request(sender, false);
assertEquals(List.of("dump", "toggle", "version"),
DirectorMiniMenu.resolveHelp(engine, List.of("debug")).orElseThrow().entries().stream()
.map(entry -> entry.getDescriptor().getName()).sorted().toList());
} finally {
Iris.instance = previousPlugin;
}
}
@Test
public void canonicalDumpReachesItsOwnPermissionCheckWithoutTheAdminPermission() {
CommandSender sender = mock(CommandSender.class);
try (MockedStatic<J> scheduling = mockStatic(J.class)) {
new CommandSVC().executeRoot(sender, "iris", new String[]{"debug", "dump", "upload=false"});
scheduling.verify(() -> J.aBukkit(any(Runnable.class)));
verify(sender, never()).hasPermission("iris.all");
}
}
@Test
public void otherDebugCommandsStillRequireTheAdminPermission() {
CommandSender sender = mock(CommandSender.class);
try (MockedStatic<J> scheduling = mockStatic(J.class);
MockedStatic<ComponentMessenger> messages = mockStatic(ComponentMessenger.class)) {
CommandSVC commands = new CommandSVC();
commands.executeRoot(sender, "iris", new String[]{"debug", "version"});
commands.executeRoot(sender, "iris", new String[]{"debug", "toggle"});
commands.executeRoot(sender, "iris", new String[]{"debug", "ver"});
commands.executeRoot(sender, "iris", new String[]{"debug", "tog"});
scheduling.verifyNoInteractions();
}
}
}
@@ -0,0 +1,57 @@
package art.arcane.iris.command;
import art.arcane.iris.Iris;
import art.arcane.volmlib.util.director.DirectorEngineOptions;
import art.arcane.volmlib.util.director.compat.DirectorEngineFactory;
import art.arcane.volmlib.util.director.context.DirectorContextRegistry;
import art.arcane.volmlib.util.director.help.DirectorMiniMenu;
import art.arcane.volmlib.util.director.runtime.DirectorInvocation;
import art.arcane.volmlib.util.director.runtime.DirectorRuntimeEngine;
import art.arcane.volmlib.util.director.runtime.DirectorSender;
import art.arcane.volmlib.util.plugin.ComponentMessenger;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.PluginDescriptionFile;
import org.junit.Test;
import org.mockito.MockedStatic;
import java.util.List;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.mockStatic;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.when;
public class CommandVersionTest {
@Test
public void nestedVersionAndHiddenShortcutUseTheSameInstalledVersion() {
Iris previousPlugin = Iris.instance;
Iris plugin = mock(Iris.class);
Iris.instance = plugin;
CommandSender sender = mock(CommandSender.class);
DirectorSender invocationSender = mock(DirectorSender.class);
when(plugin.getDescription()).thenReturn(new PluginDescriptionFile("Iris", "3.2.1-test", "test.Plugin"));
when(invocationSender.getName()).thenReturn("Console");
DirectorContextRegistry contexts = new DirectorContextRegistry();
contexts.register(CommandSender.class, (invocation, arguments) -> sender);
try (MockedStatic<Iris> iris = mockStatic(Iris.class);
MockedStatic<ComponentMessenger> messages = mockStatic(ComponentMessenger.class)) {
DirectorRuntimeEngine engine = DirectorEngineFactory.create(new CommandIris(),
DirectorEngineOptions.builder().contexts(contexts).build());
assertTrue(engine.execute(new DirectorInvocation(invocationSender, "iris", List.of("debug", "version"))).isSuccess());
assertTrue(engine.execute(new DirectorInvocation(invocationSender, "iris", List.of("version"))).isSuccess());
messages.verify(() -> ComponentMessenger.sendMarkup(sender,
DirectorMiniMenu.version("Iris", "3.2.1-test", DirectorMiniMenu.Theme.irisGreen())), times(2));
assertFalse(DirectorMiniMenu.resolveHelp(engine, List.of()).orElseThrow().entries().stream()
.anyMatch(entry -> entry.getDescriptor().getName().equals("version")));
assertTrue(DirectorMiniMenu.resolveHelp(engine, List.of("debug")).orElseThrow().entries().stream()
.anyMatch(entry -> entry.getDescriptor().getName().equals("version")));
assertTrue(DirectorMiniMenu.resolveHelp(engine, List.of("debug")).orElseThrow().entries().stream()
.anyMatch(entry -> entry.getDescriptor().getName().equals("toggle")));
} finally {
Iris.instance = previousPlugin;
}
}
}
@@ -194,10 +194,6 @@ public final class BukkitCommandMessagesExtended {
"iris.bukkit.commandiris.specified_player_does_not_exist",
C.RED + "The specified player does not exist."
);
public static final TextKey COMMAND_IRIS_IRIS_V_BY_VOLMIT_SOFTWARE = TextKey.of(
"iris.bukkit.commandiris.iris_v_by_volmit_software",
C.GREEN + "Iris v" + "{value}" + " by Volmit Software"
);
public static final TextKey COMMAND_IRIS_TO = TextKey.of(
"iris.bukkit.commandiris.to",
C.GREEN + "" + "{value}" + " to " + "{value2}"
@@ -852,7 +848,6 @@ public final class BukkitCommandMessagesExtended {
COMMAND_IRIS_EXCEPTION_RAISED_DURING_CREATION_SEE_CONSOLE_MORE_DETAILS,
COMMAND_IRIS_SUCCESSFULLY_CREATED_YOUR_WORLD,
COMMAND_IRIS_SPECIFIED_PLAYER_DOES_NOT_EXIST,
COMMAND_IRIS_IRIS_V_BY_VOLMIT_SOFTWARE,
COMMAND_IRIS_TO,
COMMAND_IRIS_TOTAL_HEIGHT,
COMMAND_IRIS_IRIS_WORLDS,
@@ -6,6 +6,7 @@ import art.arcane.volmlib.util.localization.TextKey;
import java.util.List;
public final class DirectorCommandMessages {
public static final TextKey DEBUG_DESCRIPTION = TextKey.of("iris.director.commanddebug.description", "Iris diagnostic tools");
public static final TextKey DEBUG_DUMP_DESCRIPTION = TextKey.of("iris.director.commandiris.director.debugdump", "Create and optionally upload a diagnostic report");
public static final TextKey DEBUG_DUMP_UPLOAD = TextKey.of("iris.director.commandiris.param.debugdump_upload", "Upload the report to mclo.gs");
public static final TextKey COMMAND_DATAPACK_DIRECTOR_DOWNLOAD_MANAGE_EXTERNAL_DATAPACK_IMPORTS_MODRINTH = TextKey.of(
@@ -874,6 +875,7 @@ public final class DirectorCommandMessages {
);
private static final List<MessageKey> KEYS = List.of(
DEBUG_DESCRIPTION,
DEBUG_DUMP_DESCRIPTION,
DEBUG_DUMP_UPLOAD,
COMMAND_DATAPACK_DIRECTOR_DOWNLOAD_MANAGE_EXTERNAL_DATAPACK_IMPORTS_MODRINTH,
+3 -1
View File
@@ -272,6 +272,9 @@
# {zoom} Aktuelle Zoomstufe der Vorschau.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Iris-Diagnosewerkzeuge"
[iris.director.commandiris]
"director.debugdump" = "Einen Diagnosebericht erstellen und optional hochladen"
"param.debugdump_upload" = "Den Bericht zu mclo.gs hochladen"
@@ -516,7 +519,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cBei der Erstellung ist eine Ausnahme aufgetreten. Weitere Details findest du in der Konsole."
successfully_created_your_world = "§aDeine Welt wurde erfolgreich erstellt!"
specified_player_does_not_exist = "§cDer angegebene Spieler existiert nicht."
iris_v_by_volmit_software = "§aIris v{value} von Volmit Software"
to = "§a{value} bis {value2}"
total_height = "§aGesamthöhe: {value}"
iris_worlds = "§9Iris-Welten: "
+3 -1
View File
@@ -272,6 +272,9 @@
# {zoom} Nivel de zoom actual de la vista previa.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Herramientas de diagnóstico de Iris"
[iris.director.commandiris]
"director.debugdump" = "Crear y subir opcionalmente un informe de diagnóstico"
"param.debugdump_upload" = "Subir el informe a mclo.gs"
@@ -516,7 +519,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cSe produjo una excepción durante la creación. Consulta la consola para obtener más detalles."
successfully_created_your_world = "§a¡Tu mundo se creó correctamente!"
specified_player_does_not_exist = "§cEl jugador especificado no existe."
iris_v_by_volmit_software = "§aIris v{value} por Volmit Software"
to = "§a{value} a {value2}"
total_height = "§aAltura total: {value}"
iris_worlds = "§9Mundos de Iris: "
+3 -1
View File
@@ -277,6 +277,9 @@
# {zoom} Esikatselun nykyinen zoomaustaso.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Iris-diagnostiikkatyökalut"
[iris.director.commandiris]
"director.debugdump" = "Luo diagnostiikkaraportti ja lähetä se halutessasi"
"param.debugdump_upload" = "Lähetä raportti mclo.gs-palveluun"
@@ -521,7 +524,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cLuomisen aikana nostettu poikkeus. Katso lisätietoja konsolista."
successfully_created_your_world = "§aOnnistuneesti loin maailmasi!"
specified_player_does_not_exist = "§cMääriteltyä pelaajaa ei ole olemassa."
iris_v_by_volmit_software = "§aIris{value} mennessä Volmit Software"
to = "§a{value} - {value2}"
total_height = "§aKokonaiskorkeus: {value}"
iris_worlds = "§9Iris Worlds. "
+3 -1
View File
@@ -272,6 +272,9 @@
# {zoom} Niveau de zoom actuel de l’aperçu.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Outils de diagnostic Iris"
[iris.director.commandiris]
"director.debugdump" = "Créer un rapport de diagnostic et le publier si souhaité"
"param.debugdump_upload" = "Publier le rapport sur mclo.gs"
@@ -516,7 +519,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cUne exception s'est produite pendant la création. Consultez la console pour plus de détails."
successfully_created_your_world = "§aVotre monde a été créé avec succès !"
specified_player_does_not_exist = "§cLe joueur indiqué n'existe pas."
iris_v_by_volmit_software = "§aIris v{value} par Volmit Software"
to = "§a{value} à {value2}"
total_height = "§aHauteur totale : {value}"
iris_worlds = "§9Mondes Iris : "
+3 -1
View File
@@ -277,6 +277,9 @@
# {zoom} רמת ההגדלה הנוכחית של התצוגה המקדימה.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "כלי אבחון של Iris"
[iris.director.commandiris]
"director.debugdump" = "יצירת דוח אבחון והעלאתו לפי בחירה"
"param.debugdump_upload" = "העלאת הדוח אל mclo.gs"
@@ -521,7 +524,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cלמעטים שגדלו במהלך הבריאה. ראו את הקונסולה לפרטים נוספים."
successfully_created_your_world = "§aיצרתם בהצלחה את עולמכם!"
specified_player_does_not_exist = "§cהשחקן שצוין אינו קיים."
iris_v_by_volmit_software = "§aאיריס v{value} על ידי Volmit Software"
to = "§a{value} כדי {value2}"
total_height = "§aגובה מוחלט: {value}"
iris_worlds = "§9אייריס וורלד: "
+3 -1
View File
@@ -272,6 +272,9 @@
# {zoom} Livello di zoom attuale dell’anteprima.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Strumenti di diagnostica Iris"
[iris.director.commandiris]
"director.debugdump" = "Crea un rapporto diagnostico e caricalo facoltativamente"
"param.debugdump_upload" = "Carica il rapporto su mclo.gs"
@@ -516,7 +519,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cSi è verificata un'eccezione durante la creazione. Consulta la console per maggiori dettagli."
successfully_created_your_world = "§aCreato con successo il tuo mondo!"
specified_player_does_not_exist = "§cIl giocatore specificato non esiste."
iris_v_by_volmit_software = "§aIris v{value} di Volmit Software"
to = "§a{value} a {value2}"
total_height = "§aAltezza totale: {value}"
iris_worlds = "§9Mondi Iris: "
+3 -1
View File
@@ -275,6 +275,9 @@
# {zoom} プレビューの現在のズーム倍率。
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Iris診断ツール"
[iris.director.commandiris]
"director.debugdump" = "診断レポートを作成し、必要に応じてアップロードする"
"param.debugdump_upload" = "レポートを mclo.gs にアップロードする"
@@ -519,7 +522,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§c作成中に例外が発生しました。詳細はコンソールを確認してください。"
successfully_created_your_world = "§aワールドを作成しました!"
specified_player_does_not_exist = "§c指定されたプレイヤーは存在しません。"
iris_v_by_volmit_software = "§aIris v{value} by Volmit Software"
to = "§a{value} から {value2}"
total_height = "§a総高さ: {value}"
iris_worlds = "§9Iris ワールド: "
+3 -1
View File
@@ -275,6 +275,9 @@
# {zoom} 현재 미리보기 확대/축소 수준.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Iris 진단 도구"
[iris.director.commandiris]
"director.debugdump" = "진단 보고서를 생성하고 선택적으로 업로드"
"param.debugdump_upload" = "보고서를 mclo.gs에 업로드"
@@ -519,7 +522,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§c창조 중 발생한 예외. 자세한 내용은 콘솔을 참조하십시오."
successfully_created_your_world = "§a세상을 성공적으로 만들었습니다!"
specified_player_does_not_exist = "§c지정된 플레이어는 존재하지 않습니다."
iris_v_by_volmit_software = "§a아이리스 v{value} Volmit 소프트웨어"
to = "§a{value} 으로 {value2}"
total_height = "§a총 고도: {value}"
iris_worlds = "§9Iris 세계: "
+3 -1
View File
@@ -277,6 +277,9 @@
# {zoom} Dabartinis peržiūros mastelio lygis.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Iris diagnostikos įrankiai"
[iris.director.commandiris]
"director.debugdump" = "Sukurti diagnostikos ataskaitą ir pasirinktinai ją įkelti"
"param.debugdump_upload" = "Įkelti ataskaitą į mclo.gs"
@@ -521,7 +524,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cSukūrimo metu iškelta išimtis. Daugiau informacijos rasite konsolėje."
successfully_created_your_world = "§aSėkmingai sukūrė savo pasaulį!"
specified_player_does_not_exist = "§cNurodytasis žaidėjas neegzistuoja."
iris_v_by_volmit_software = "§aIris prieš{value} pagal Volmit programinė įranga"
to = "§a{value} iki {value2}"
total_height = "§aBendras aukštis: {value}"
iris_worlds = "§9Iris pasauliai: "
+3 -1
View File
@@ -272,6 +272,9 @@
# {zoom} Huidig zoomniveau van de voorvertoning.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Diagnosehulpmiddelen voor Iris"
[iris.director.commandiris]
"director.debugdump" = "Maak een diagnostisch rapport en upload het desgewenst"
"param.debugdump_upload" = "Upload het rapport naar mclo.gs"
@@ -516,7 +519,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cUitzondering bij de schepping. Zie de console voor meer details."
successfully_created_your_world = "§aSuccesvol jullie wereld gecreëerd!"
specified_player_does_not_exist = "§cDe opgegeven speler bestaat niet."
iris_v_by_volmit_software = "§aIris /{value} door Volmit Software"
to = "§a{value} tot {value2}"
total_height = "§aTotale hoogte: {value}"
iris_worlds = "§9Iris Worlds. "
+3 -1
View File
@@ -277,6 +277,9 @@
# {zoom} Aktualny poziom powiększenia podglądu.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Narzędzia diagnostyczne Iris"
[iris.director.commandiris]
"director.debugdump" = "Utwórz raport diagnostyczny i opcjonalnie go prześlij"
"param.debugdump_upload" = "Prześlij raport do mclo.gs"
@@ -521,7 +524,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cWyjątek podniesiony podczas tworzenia. Więcej szczegółów znajdziesz w konsoli."
successfully_created_your_world = "§aZ powodzeniem stworzyłeś swój świat!"
specified_player_does_not_exist = "§cOkreślony gracz nie istnieje."
iris_v_by_volmit_software = "§aIris v.{value} przez Volmit Software"
to = "§a{value} do {value2}"
total_height = "§aWysokość całkowita: {value}"
iris_worlds = "§9/ Iris Worlds: "
+3 -1
View File
@@ -272,6 +272,9 @@
# {zoom} Nível de zoom atual da pré-visualização.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Ferramentas de diagnóstico do Iris"
[iris.director.commandiris]
"director.debugdump" = "Criar um relatório de diagnóstico e carregá-lo opcionalmente"
"param.debugdump_upload" = "Carregar o relatório para mclo.gs"
@@ -516,7 +519,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cExceção levantada durante a criação. Veja o console para mais detalhes."
successfully_created_your_world = "§aCriou com sucesso o seu mundo!"
specified_player_does_not_exist = "§cO jogador especificado não existe."
iris_v_by_volmit_software = "§aÍris v{value} por Volmit Software"
to = "§a{value} para {value2}"
total_height = "§aAltura total: {value}"
iris_worlds = "§9Mundos Iris: "
+3 -1
View File
@@ -277,6 +277,9 @@
# {zoom} Текущий уровень масштаба предварительного просмотра.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Инструменты диагностики Iris"
[iris.director.commandiris]
"director.debugdump" = "Создать диагностический отчёт и при желании загрузить его"
"param.debugdump_upload" = "Загрузить отчёт на mclo.gs"
@@ -521,7 +524,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cИсключение, возникшее при сотворении. Смотрите консоль для более подробной информации."
successfully_created_your_world = "§aУспешно создал свой мир!"
specified_player_does_not_exist = "§cУказанного игрока не существует."
iris_v_by_volmit_software = "§aИрис v{value} Разработчик Volmit Software"
to = "§a{value} то {value2}"
total_height = "§aОбщая высота: {value}"
iris_worlds = "§9Миры Айрис: "
+3 -1
View File
@@ -277,6 +277,9 @@
# {zoom} Önizlemenin geçerli yakınlaştırma düzeyi.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Iris tanılama araçları"
[iris.director.commandiris]
"director.debugdump" = "Tanılama raporu oluştur ve isteğe bağlı olarak yükle"
"param.debugdump_upload" = "Raporu mclo.gs üzerine yükle"
@@ -521,7 +524,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cYaratılış sırasında ortaya çıktı. Konsolu daha fazla ayrıntı için görün."
successfully_created_your_world = "§aBaşarılı bir şekilde dünyanızı yarattı!"
specified_player_does_not_exist = "§cBelirtilen oyuncu mevcut değildir."
iris_v_by_volmit_software = "§aIris{value} Volmit Software"
to = "§a{value} tom için {value2}"
total_height = "§aToplam Yükseklik: {value}"
iris_worlds = "§9Iris Dünyaları: "
+3 -1
View File
@@ -275,6 +275,9 @@
# {zoom} Mức thu phóng hiện tại của bản xem trước.
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Công cụ chẩn đoán Iris"
[iris.director.commandiris]
"director.debugdump" = "Tạo báo cáo chẩn đoán và tải lên nếu muốn"
"param.debugdump_upload" = "Tải báo cáo lên mclo.gs"
@@ -519,7 +522,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§cNgoại lệ được nuôi lớn trong suốt quá trình sáng tạo. Xem bảng điều khiển để biết thêm chi tiết."
successfully_created_your_world = "§aThành công trong việc tạo ra thế giới của anh!"
specified_player_does_not_exist = "§cNgười chơi đã ghi rõ không tồn tại."
iris_v_by_volmit_software = "§aIris v.{value} by Volmit Phần mềm"
to = "§a{value} phải {value2}"
total_height = "§aTổng chiều cao: {value}"
iris_worlds = "§9Thế giới Iris: "
+3 -1
View File
@@ -275,6 +275,9 @@
# {zoom} 预览的当前缩放级别。
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Iris诊断工具"
[iris.director.commandiris]
"director.debugdump" = "创建诊断报告并选择是否上传"
"param.debugdump_upload" = "将报告上传到 mclo.gs"
@@ -519,7 +522,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§c创建期间发生异常。详情请查看控制台。"
successfully_created_your_world = "§a世界创建成功!"
specified_player_does_not_exist = "§c指定的玩家不存在。"
iris_v_by_volmit_software = "§aIris v.{value},由 Volmit Software 开发"
to = "§a{value} 改为: {value2}"
total_height = "§a总高度:{value}"
iris_worlds = "§9Iris 世界:"
+3 -1
View File
@@ -275,6 +275,9 @@
# {zoom} 預覽的目前縮放層級。
# === End Iris language guide ===
[iris.director.commanddebug]
description = "Iris診斷工具"
[iris.director.commandiris]
"director.debugdump" = "建立診斷報告並選擇是否上傳"
"param.debugdump_upload" = "將報告上傳至 mclo.gs"
@@ -519,7 +522,6 @@ install_pack_and_restart = "§eInstall it with §b{command}§e and restart the s
exception_raised_during_creation_see_console_more_details = "§c建立期間發生例外。詳細資訊請查看主控台。"
successfully_created_your_world = "§a世界建立成功!"
specified_player_does_not_exist = "§c指定的玩家不存在。"
iris_v_by_volmit_software = "§aIris v.{value},由 Volmit Software 開發"
to = "§a{value} 改為: {value2}"
total_height = "§a總高度:{value}"
iris_worlds = "§9Iris 世界:"