From 077e3a5e9f05a6325bfed340fa2a15010a5f8a4d Mon Sep 17 00:00:00 2001 From: BruceChen Date: Fri, 28 Oct 2022 11:13:20 +0800 Subject: [PATCH] Crowdin localization support (#2310) * Switching to use resource files * Update Crowdin configuration file * Code cleanup --- MinecraftClient.sln | 24 +- MinecraftClient/ChatBots/Alerts.cs | 10 +- MinecraftClient/ChatBots/AntiAFK.cs | 6 +- MinecraftClient/ChatBots/AutoAttack.cs | 6 +- MinecraftClient/ChatBots/AutoCraft.cs | 56 +- MinecraftClient/ChatBots/AutoDig.cs | 48 +- MinecraftClient/ChatBots/AutoDrop.cs | 40 +- MinecraftClient/ChatBots/AutoFishing.cs | 56 +- MinecraftClient/ChatBots/AutoRelog.cs | 14 +- MinecraftClient/ChatBots/AutoRespond.cs | 20 +- MinecraftClient/ChatBots/ChatLog.cs | 4 +- MinecraftClient/ChatBots/DiscordBridge.cs | 41 +- MinecraftClient/ChatBots/Farmer.cs | 36 +- MinecraftClient/ChatBots/FollowPlayer.cs | 44 +- MinecraftClient/ChatBots/Mailer.cs | 52 +- MinecraftClient/ChatBots/Map.cs | 26 +- MinecraftClient/ChatBots/ReplayCapture.cs | 10 +- MinecraftClient/ChatBots/Script.cs | 10 +- MinecraftClient/ChatBots/ScriptScheduler.cs | 18 +- MinecraftClient/ChatBots/TelegramBridge.cs | 41 +- MinecraftClient/ChatBots/TestBot.cs | 4 +- MinecraftClient/Command.cs | 4 +- MinecraftClient/Commands/Animation.cs | 6 +- MinecraftClient/Commands/Bed.cs | 34 +- MinecraftClient/Commands/BlockInfo.cs | 26 +- MinecraftClient/Commands/Bots.cs | 14 +- MinecraftClient/Commands/ChangeSlot.cs | 10 +- MinecraftClient/Commands/Chunk.cs | 18 +- MinecraftClient/Commands/Connect.cs | 6 +- MinecraftClient/Commands/Debug.cs | 7 +- MinecraftClient/Commands/Dig.cs | 20 +- MinecraftClient/Commands/DropItem.cs | 10 +- MinecraftClient/Commands/Enchant.cs | 22 +- MinecraftClient/Commands/Entitycmd.cs | 76 +- MinecraftClient/Commands/ExecIf.cs | 11 +- MinecraftClient/Commands/ExecMulti.cs | 10 +- MinecraftClient/Commands/Exit.cs | 2 +- MinecraftClient/Commands/Health.cs | 4 +- MinecraftClient/Commands/Inventory.cs | 86 +- MinecraftClient/Commands/List.cs | 4 +- MinecraftClient/Commands/Log.cs | 2 +- MinecraftClient/Commands/Look.cs | 14 +- MinecraftClient/Commands/Move.cs | 32 +- MinecraftClient/Commands/Reco.cs | 4 +- MinecraftClient/Commands/Reload.cs | 14 +- MinecraftClient/Commands/Respawn.cs | 4 +- MinecraftClient/Commands/Script.cs | 2 +- MinecraftClient/Commands/Send.cs | 2 +- MinecraftClient/Commands/Set.cs | 4 +- MinecraftClient/Commands/SetRnd.cs | 10 +- MinecraftClient/Commands/Sneak.cs | 6 +- MinecraftClient/Commands/Tps.cs | 4 +- MinecraftClient/Commands/UseItem.cs | 6 +- MinecraftClient/Commands/Useblock.cs | 6 +- MinecraftClient/DefaultConfigResource.resx | 175 - MinecraftClient/FileMonitor.cs | 4 +- .../Inventory/ContainerTypeExtensions.cs | 26 +- MinecraftClient/Inventory/Item.cs | 2 +- MinecraftClient/Mapping/World.cs | 2 +- MinecraftClient/McClient.cs | 64 +- MinecraftClient/MinecraftClient.csproj | 29 +- MinecraftClient/Program.cs | 179 +- .../Protocol/Handlers/Forge/ForgeInfo.cs | 2 +- .../Protocol/Handlers/PacketType18Handler.cs | 2 +- .../Protocol/Handlers/Protocol16.cs | 24 +- .../Protocol/Handlers/Protocol18.cs | 38 +- .../Protocol/Handlers/Protocol18Forge.cs | 34 +- .../Protocol/Message/ChatParser.cs | 14 +- .../Protocol/ProfileKey/KeysCache.cs | 18 +- MinecraftClient/Protocol/ProtocolHandler.cs | 31 +- .../Protocol/Session/SessionCache.cs | 26 +- MinecraftClient/Proxy/ProxyHandler.cs | 2 +- .../AsciiArt/AsciiArt.Designer.cs} | 223 +- .../Resources/AsciiArt/AsciiArt.af.resx | 367 + .../Resources/AsciiArt/AsciiArt.ar.resx | 367 + .../Resources/AsciiArt/AsciiArt.ca.resx | 367 + .../Resources/AsciiArt/AsciiArt.cs.resx | 367 + .../Resources/AsciiArt/AsciiArt.da.resx | 367 + .../Resources/AsciiArt/AsciiArt.de.resx | 367 + .../Resources/AsciiArt/AsciiArt.el.resx | 367 + .../Resources/AsciiArt/AsciiArt.es.resx | 367 + .../Resources/AsciiArt/AsciiArt.fi.resx | 367 + .../Resources/AsciiArt/AsciiArt.fr.resx | 367 + .../Resources/AsciiArt/AsciiArt.he.resx | 367 + .../Resources/AsciiArt/AsciiArt.hu.resx | 367 + .../Resources/AsciiArt/AsciiArt.it.resx | 367 + .../Resources/AsciiArt/AsciiArt.ja.resx | 367 + .../Resources/AsciiArt/AsciiArt.ko.resx | 367 + .../Resources/AsciiArt/AsciiArt.nl.resx | 367 + .../Resources/AsciiArt/AsciiArt.no.resx | 367 + .../Resources/AsciiArt/AsciiArt.pl.resx | 367 + .../Resources/AsciiArt/AsciiArt.pt-BR.resx | 367 + .../Resources/AsciiArt/AsciiArt.pt.resx | 367 + .../Resources/AsciiArt/AsciiArt.resx | 367 + .../Resources/AsciiArt/AsciiArt.ro.resx | 367 + .../Resources/AsciiArt/AsciiArt.ru.resx | 367 + .../Resources/AsciiArt/AsciiArt.sr-Cyrl.resx | 367 + .../Resources/AsciiArt/AsciiArt.sv.resx | 367 + .../Resources/AsciiArt/AsciiArt.tr.resx | 367 + .../Resources/AsciiArt/AsciiArt.uk.resx | 367 + .../Resources/AsciiArt/AsciiArt.vi.resx | 367 + .../Resources/AsciiArt/AsciiArt.zh-Hans.resx | 367 + .../Resources/AsciiArt/AsciiArt.zh-Hant.resx | 367 + .../Translations/Translations.Designer.cs | 7388 +++++++++++++++++ .../Translations/Translations.af.resx | 2672 ++++++ .../Translations/Translations.ar.resx | 2672 ++++++ .../Translations/Translations.ca.resx | 2672 ++++++ .../Translations/Translations.cs.resx | 2672 ++++++ .../Translations/Translations.da.resx | 2672 ++++++ .../Translations/Translations.de.resx | 2669 ++++++ .../Translations/Translations.el.resx | 2672 ++++++ .../Translations/Translations.es.resx | 2672 ++++++ .../Translations/Translations.fi.resx | 2672 ++++++ .../Translations/Translations.fr.resx | 2672 ++++++ .../Translations/Translations.he.resx | 2672 ++++++ .../Translations/Translations.hu.resx | 2672 ++++++ .../Translations/Translations.it.resx | 2672 ++++++ .../Translations/Translations.ja.resx | 2672 ++++++ .../Translations/Translations.ko.resx | 2672 ++++++ .../Translations/Translations.nl.resx | 2672 ++++++ .../Translations/Translations.no.resx | 2672 ++++++ .../Translations/Translations.pl.resx | 2672 ++++++ .../Translations/Translations.pt-BR.resx | 2672 ++++++ .../Translations/Translations.pt.resx | 2672 ++++++ .../Resources/Translations/Translations.resx | 2672 ++++++ .../Translations/Translations.ro.resx | 2672 ++++++ .../Translations/Translations.ru.resx | 2672 ++++++ .../Translations/Translations.sr-Cyrl.resx | 2672 ++++++ .../Translations/Translations.sv.resx | 2672 ++++++ .../Translations/Translations.tr.resx | 2672 ++++++ .../Translations/Translations.uk.resx | 2672 ++++++ .../Translations/Translations.vi.resx | 2672 ++++++ .../Translations/Translations.zh-Hans.resx | 2662 ++++++ .../Translations/Translations.zh-Hant.resx | 2662 ++++++ .../containers/ContainerType.BrewingStand.txt | 22 - .../containers/ContainerType.Crafting.txt | 22 - .../ContainerType.EnchantingTable.txt | 22 - .../containers/ContainerType.Furnace.txt | 23 - .../containers/ContainerType.Generic_3x3.txt | 22 - .../containers/ContainerType.Generic_9x3.txt | 22 - .../containers/ContainerType.Generic_9x6.txt | 28 - .../containers/ContainerType.Grindstone.txt | 26 - .../containers/ContainerType.Hopper.txt | 18 - .../ContainerType.PlayerInventory.txt | 22 - MinecraftClient/Resources/lang/de.ini | Bin 73092 -> 0 bytes MinecraftClient/Resources/lang/en.ini | 1032 --- MinecraftClient/Resources/lang/fr.ini | Bin 75050 -> 0 bytes MinecraftClient/Resources/lang/ru.ini | Bin 72174 -> 0 bytes MinecraftClient/Resources/lang/tr.ini | Bin 150146 -> 0 bytes MinecraftClient/Resources/lang/vi.ini | Bin 68472 -> 0 bytes MinecraftClient/Resources/lang/zh-Hans.ini | Bin 76364 -> 0 bytes MinecraftClient/Resources/lang/zh-Hant.ini | Bin 76446 -> 0 bytes MinecraftClient/Scripting/CSharpRunner.cs | 2 +- MinecraftClient/Scripting/ChatBot.cs | 15 +- MinecraftClient/Settings.cs | 468 +- MinecraftClient/Translations.cs | 771 -- MinecraftClient/config/ChatBots/MineCube.cs | 2 +- README-nl.md | 54 - README-sr.md | 79 - README-vi-vn.md | 53 - README-zh-Hans.md | 89 - README.md | 18 +- README/README-Afrikaans.md | 76 + README/README-Arabic.md | 76 + README/README-Catalan.md | 76 + README/README-Chinese_Simplified.md | 76 + README/README-Chinese_Traditional.md | 76 + README/README-Czech.md | 76 + README/README-Danish.md | 76 + README/README-Dutch.md | 76 + README/README-English.md | 76 + README/README-Finnish.md | 76 + README/README-French.md | 76 + README/README-German.md | 76 + README/README-Greek.md | 76 + README/README-Hebrew.md | 76 + README/README-Hungarian.md | 76 + README/README-Italian.md | 76 + README/README-Japanese.md | 76 + README/README-Korean.md | 76 + README/README-Norwegian.md | 76 + README/README-Polish.md | 76 + README/README-Portuguese-Brazilian.md | 76 + README/README-Portuguese.md | 76 + README/README-Romanian.md | 76 + README/README-Russian.md | 76 + README/README-Serbian_Cyrillic.md | 76 + README/README-Spanish.md | 76 + README/README-Swedish.md | 76 + README-tr.md => README/README-Turkish.md | 156 +- README/README-Ukrainian.md | 76 + README/README-Vietnamese.md | 76 + crowdin.yml | 7 + 193 files changed, 102089 insertions(+), 3564 deletions(-) delete mode 100644 MinecraftClient/DefaultConfigResource.resx rename MinecraftClient/{DefaultConfigResource.Designer.cs => Resources/AsciiArt/AsciiArt.Designer.cs} (60%) create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.af.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.ar.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.ca.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.cs.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.da.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.de.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.el.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.es.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.fi.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.fr.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.he.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.hu.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.it.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.ja.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.ko.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.nl.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.no.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.pl.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.pt-BR.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.pt.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.ro.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.ru.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.sr-Cyrl.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.sv.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.tr.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.uk.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.vi.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.zh-Hans.resx create mode 100644 MinecraftClient/Resources/AsciiArt/AsciiArt.zh-Hant.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.Designer.cs create mode 100644 MinecraftClient/Resources/Translations/Translations.af.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.ar.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.ca.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.cs.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.da.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.de.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.el.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.es.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.fi.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.fr.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.he.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.hu.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.it.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.ja.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.ko.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.nl.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.no.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.pl.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.pt-BR.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.pt.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.ro.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.ru.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.sr-Cyrl.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.sv.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.tr.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.uk.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.vi.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.zh-Hans.resx create mode 100644 MinecraftClient/Resources/Translations/Translations.zh-Hant.resx delete mode 100644 MinecraftClient/Resources/containers/ContainerType.BrewingStand.txt delete mode 100644 MinecraftClient/Resources/containers/ContainerType.Crafting.txt delete mode 100644 MinecraftClient/Resources/containers/ContainerType.EnchantingTable.txt delete mode 100644 MinecraftClient/Resources/containers/ContainerType.Furnace.txt delete mode 100644 MinecraftClient/Resources/containers/ContainerType.Generic_3x3.txt delete mode 100644 MinecraftClient/Resources/containers/ContainerType.Generic_9x3.txt delete mode 100644 MinecraftClient/Resources/containers/ContainerType.Generic_9x6.txt delete mode 100644 MinecraftClient/Resources/containers/ContainerType.Grindstone.txt delete mode 100644 MinecraftClient/Resources/containers/ContainerType.Hopper.txt delete mode 100644 MinecraftClient/Resources/containers/ContainerType.PlayerInventory.txt delete mode 100644 MinecraftClient/Resources/lang/de.ini delete mode 100644 MinecraftClient/Resources/lang/en.ini delete mode 100644 MinecraftClient/Resources/lang/fr.ini delete mode 100644 MinecraftClient/Resources/lang/ru.ini delete mode 100644 MinecraftClient/Resources/lang/tr.ini delete mode 100644 MinecraftClient/Resources/lang/vi.ini delete mode 100644 MinecraftClient/Resources/lang/zh-Hans.ini delete mode 100644 MinecraftClient/Resources/lang/zh-Hant.ini delete mode 100644 MinecraftClient/Translations.cs delete mode 100644 README-nl.md delete mode 100644 README-sr.md delete mode 100644 README-vi-vn.md delete mode 100644 README-zh-Hans.md create mode 100644 README/README-Afrikaans.md create mode 100644 README/README-Arabic.md create mode 100644 README/README-Catalan.md create mode 100644 README/README-Chinese_Simplified.md create mode 100644 README/README-Chinese_Traditional.md create mode 100644 README/README-Czech.md create mode 100644 README/README-Danish.md create mode 100644 README/README-Dutch.md create mode 100644 README/README-English.md create mode 100644 README/README-Finnish.md create mode 100644 README/README-French.md create mode 100644 README/README-German.md create mode 100644 README/README-Greek.md create mode 100644 README/README-Hebrew.md create mode 100644 README/README-Hungarian.md create mode 100644 README/README-Italian.md create mode 100644 README/README-Japanese.md create mode 100644 README/README-Korean.md create mode 100644 README/README-Norwegian.md create mode 100644 README/README-Polish.md create mode 100644 README/README-Portuguese-Brazilian.md create mode 100644 README/README-Portuguese.md create mode 100644 README/README-Romanian.md create mode 100644 README/README-Russian.md create mode 100644 README/README-Serbian_Cyrillic.md create mode 100644 README/README-Spanish.md create mode 100644 README/README-Swedish.md rename README-tr.md => README/README-Turkish.md (77%) create mode 100644 README/README-Ukrainian.md create mode 100644 README/README-Vietnamese.md create mode 100644 crowdin.yml diff --git a/MinecraftClient.sln b/MinecraftClient.sln index edd39f29..1a4023e6 100644 --- a/MinecraftClient.sln +++ b/MinecraftClient.sln @@ -1,26 +1,32 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MinecraftClient", "MinecraftClient\MinecraftClient.csproj", "{1E2FACE4-F5CA-4323-9641-740C6A551770}" +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32901.215 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MinecraftClient", "MinecraftClient\MinecraftClient.csproj", "{1E2FACE4-F5CA-4323-9641-740C6A551770}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleInteractive", "ConsoleInteractive\ConsoleInteractive\ConsoleInteractive\ConsoleInteractive.csproj", "{93DA4D71-EFAD-4493-BE21-A105AF663660}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConsoleInteractive", "ConsoleInteractive\ConsoleInteractive\ConsoleInteractive\ConsoleInteractive.csproj", "{93DA4D71-EFAD-4493-BE21-A105AF663660}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Release|Any CPU = Release|Any CPU Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1E2FACE4-F5CA-4323-9641-740C6A551770}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1E2FACE4-F5CA-4323-9641-740C6A551770}.Release|Any CPU.Build.0 = Release|Any CPU {1E2FACE4-F5CA-4323-9641-740C6A551770}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1E2FACE4-F5CA-4323-9641-740C6A551770}.Debug|Any CPU.Build.0 = Debug|Any CPU - {93DA4D71-EFAD-4493-BE21-A105AF663660}.Release|Any CPU.ActiveCfg = Release|Any CPU - {93DA4D71-EFAD-4493-BE21-A105AF663660}.Release|Any CPU.Build.0 = Release|Any CPU + {1E2FACE4-F5CA-4323-9641-740C6A551770}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1E2FACE4-F5CA-4323-9641-740C6A551770}.Release|Any CPU.Build.0 = Release|Any CPU {93DA4D71-EFAD-4493-BE21-A105AF663660}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {93DA4D71-EFAD-4493-BE21-A105AF663660}.Debug|Any CPU.Build.0 = Debug|Any CPU + {93DA4D71-EFAD-4493-BE21-A105AF663660}.Release|Any CPU.ActiveCfg = Release|Any CPU + {93DA4D71-EFAD-4493-BE21-A105AF663660}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + RESX_ShowErrorsInErrorList = False + SolutionGuid = {6DED60F4-9CF4-4DB3-8966-582B2EBE8487} + EndGlobalSection EndGlobal diff --git a/MinecraftClient/ChatBots/Alerts.cs b/MinecraftClient/ChatBots/Alerts.cs index ffe8f857..fabdc3b4 100644 --- a/MinecraftClient/ChatBots/Alerts.cs +++ b/MinecraftClient/ChatBots/Alerts.cs @@ -69,7 +69,7 @@ namespace MinecraftClient.ChatBots if (!checkSuccessed) { - LogToConsole(BotName, Translations.TryGet("general.bot_unload")); + LogToConsole(BotName, Translations.general_bot_unload); Enabled = false; } } @@ -123,7 +123,7 @@ namespace MinecraftClient.ChatBots Console.Beep(); Console.Beep(); } - LogToConsole(Translations.TryGet("bot.alerts.start_rain")); + LogToConsole(Translations.bot_alerts_start_rain); } } else if (curRainLevel >= threshold && level < threshold) @@ -134,7 +134,7 @@ namespace MinecraftClient.ChatBots { Console.Beep(); } - LogToConsole(Translations.TryGet("bot.alerts.end_rain")); + LogToConsole(Translations.bot_alerts_end_rain); } } curRainLevel = level; @@ -151,7 +151,7 @@ namespace MinecraftClient.ChatBots Console.Beep(); Console.Beep(); } - LogToConsole(Translations.TryGet("bot.alerts.start_thunderstorm")); + LogToConsole(Translations.bot_alerts_start_thunderstorm); } } else if (curThunderLevel >= threshold && level < threshold) @@ -162,7 +162,7 @@ namespace MinecraftClient.ChatBots { Console.Beep(); } - LogToConsole(Translations.TryGet("bot.alerts.end_thunderstorm")); + LogToConsole(Translations.bot_alerts_end_thunderstorm); } } curThunderLevel = level; diff --git a/MinecraftClient/ChatBots/AntiAFK.cs b/MinecraftClient/ChatBots/AntiAFK.cs index 0f89d202..aac824e4 100644 --- a/MinecraftClient/ChatBots/AntiAFK.cs +++ b/MinecraftClient/ChatBots/AntiAFK.cs @@ -43,7 +43,7 @@ namespace MinecraftClient.ChatBots if (Walk_Range <= 0) { Walk_Range = 5; - LogToConsole(BotName, Translations.TryGet("bot.antiafk.invalid_walk_range")); + LogToConsole(BotName, Translations.bot_antiafk_invalid_walk_range); } Delay.min = Math.Max(1.0, Delay.min); @@ -55,7 +55,7 @@ namespace MinecraftClient.ChatBots if (Delay.min > Delay.max) { (Delay.min, Delay.max) = (Delay.max, Delay.min); - LogToConsole(BotName, Translations.TryGet("bot.antiafk.swapping")); + LogToConsole(BotName, Translations.bot_antiafk_swapping); } Command ??= string.Empty; @@ -96,7 +96,7 @@ namespace MinecraftClient.ChatBots { if (!GetTerrainEnabled()) { - LogToConsole(Translations.TryGet("bot.antiafk.not_using_terrain_handling")); + LogToConsole(Translations.bot_antiafk_not_using_terrain_handling); } } } diff --git a/MinecraftClient/ChatBots/AutoAttack.cs b/MinecraftClient/ChatBots/AutoAttack.cs index dcd73349..e6fd19af 100644 --- a/MinecraftClient/ChatBots/AutoAttack.cs +++ b/MinecraftClient/ChatBots/AutoAttack.cs @@ -48,7 +48,7 @@ namespace MinecraftClient.ChatBots { if (Cooldown_Time.Custom && Cooldown_Time.value <= 0) { - LogToConsole(BotName, Translations.TryGet("bot.autoAttack.invalidcooldown")); + LogToConsole(BotName, Translations.bot_autoAttack_invalidcooldown); Cooldown_Time.value = 1.0; } } @@ -113,8 +113,8 @@ namespace MinecraftClient.ChatBots { if (!GetEntityHandlingEnabled()) { - LogToConsoleTranslated("extra.entity_required"); - LogToConsoleTranslated("general.bot_unload"); + LogToConsole(Translations.extra_entity_required); + LogToConsole(Translations.general_bot_unload); UnloadBot(); } } diff --git a/MinecraftClient/ChatBots/AutoCraft.cs b/MinecraftClient/ChatBots/AutoCraft.cs index d463b024..13478736 100644 --- a/MinecraftClient/ChatBots/AutoCraft.cs +++ b/MinecraftClient/ChatBots/AutoCraft.cs @@ -61,11 +61,11 @@ namespace MinecraftClient.ChatBots if (string.IsNullOrWhiteSpace(recipe.Name)) { recipe.Name = new Random().NextInt64().ToString(); - LogToConsole(BotName, Translations.TryGet("bot.autoCraft.exception.name_miss")); + LogToConsole(BotName, Translations.bot_autoCraft_exception_name_miss); } if (nameList.Contains(recipe.Name)) { - LogToConsole(BotName, Translations.TryGet("bot.autoCraft.exception.duplicate", recipe.Name)); + LogToConsole(BotName, string.Format(Translations.bot_autoCraft_exception_duplicate, recipe.Name)); do { recipe.Name = new Random().NextInt64().ToString(); @@ -85,12 +85,12 @@ namespace MinecraftClient.ChatBots for (int i = 0; i < fixLength; ++i) Slots[i] = (i < recipe.Slots.Length) ? recipe.Slots[i] : ItemType.Null; recipe.Slots = Slots; - LogToConsole(BotName, Translations.TryGet("bot.autocraft.invaild_slots")); + LogToConsole(BotName, Translations.bot_autocraft_invaild_slots); } if (recipe.Result == ItemType.Air || recipe.Result == ItemType.Null) { - LogToConsole(BotName, Translations.TryGet("bot.autocraft.invaild_result")); + LogToConsole(BotName, Translations.bot_autocraft_invaild_result); } } } @@ -283,13 +283,13 @@ namespace MinecraftClient.ChatBots { if (!GetInventoryEnabled()) { - LogToConsoleTranslated("extra.inventory_required"); - LogToConsoleTranslated("general.bot_unload"); + LogToConsole(Translations.extra_inventory_required); + LogToConsole(Translations.general_bot_unload); UnloadBot(); return; } - RegisterChatBotCommand("autocraft", Translations.Get("bot.autoCraft.cmd"), GetHelp(), CommandHandler); - RegisterChatBotCommand("ac", Translations.Get("bot.autoCraft.alias"), GetHelp(), CommandHandler); + RegisterChatBotCommand("autocraft", Translations.bot_autoCraft_cmd, GetHelp(), CommandHandler); + RegisterChatBotCommand("ac", Translations.bot_autoCraft_alias, GetHelp(), CommandHandler); } public string CommandHandler(string cmd, string[] args) @@ -302,7 +302,7 @@ namespace MinecraftClient.ChatBots StringBuilder nameList = new(); foreach (RecipeConfig recipe in Config.Recipes) nameList.Append(recipe.Name).Append(", "); - return Translations.Get("bot.autoCraft.cmd.list", Config.Recipes.Length, nameList.ToString()); + return string.Format(Translations.bot_autoCraft_cmd_list, Config.Recipes.Length, nameList.ToString()); case "start": if (args.Length >= 2) { @@ -327,13 +327,13 @@ namespace MinecraftClient.ChatBots return ""; } else - return Translations.Get("bot.autoCraft.recipe_not_exist"); + return Translations.bot_autoCraft_recipe_not_exist; } else - return Translations.Get("bot.autoCraft.no_recipe_name"); + return Translations.bot_autoCraft_no_recipe_name; case "stop": StopCrafting(); - return Translations.Get("bot.autoCraft.stop"); + return Translations.bot_autoCraft_stop; case "help": return GetCommandHelp(args.Length >= 2 ? args[1] : ""); default: @@ -345,7 +345,7 @@ namespace MinecraftClient.ChatBots private static string GetHelp() { - return Translations.Get("bot.autoCraft.available_cmd", "load, list, reload, resetcfg, start, stop, help"); + return string.Format(Translations.bot_autoCraft_available_cmd, "load, list, reload, resetcfg, start, stop, help"); } private string GetCommandHelp(string cmd) @@ -353,13 +353,13 @@ namespace MinecraftClient.ChatBots return cmd.ToLower() switch { #pragma warning disable format // @formatter:off - "load" => Translations.Get("bot.autocraft.help.load"), - "list" => Translations.Get("bot.autocraft.help.list"), - "reload" => Translations.Get("bot.autocraft.help.reload"), - "resetcfg" => Translations.Get("bot.autocraft.help.resetcfg"), - "start" => Translations.Get("bot.autocraft.help.start"), - "stop" => Translations.Get("bot.autocraft.help.stop"), - "help" => Translations.Get("bot.autocraft.help.help"), + "load" => Translations.bot_autoCraft_help_load, + "list" => Translations.bot_autoCraft_help_list, + "reload" => Translations.bot_autoCraft_help_reload, + "resetcfg" => Translations.bot_autoCraft_help_resetcfg, + "start" => Translations.bot_autoCraft_help_start, + "stop" => Translations.bot_autoCraft_help_stop, + "help" => Translations.bot_autoCraft_help_help, _ => GetHelp(), #pragma warning restore format // @formatter:on }; @@ -468,7 +468,7 @@ namespace MinecraftClient.ChatBots // table required but not found. Try to open one OpenTable(Config._Table_Location); waitingForTable = true; - SetTimeout(Translations.Get("bot.autoCraft.table_not_found")); + SetTimeout(Translations.bot_autoCraft_table_not_found); return; } } @@ -495,10 +495,10 @@ namespace MinecraftClient.ChatBots // Repeat the whole process again actionSteps.Add(new ActionStep(ActionType.Repeat)); // Start crafting - LogToConsoleTranslated("bot.autoCraft.start", recipe.ResultItem); + LogToConsole(string.Format(Translations.bot_autoCraft_start, recipe.ResultItem)); HandleNextStep(); } - else LogToConsoleTranslated("bot.autoCraft.start_fail", recipe.ResultItem); + else LogToConsole(string.Format(Translations.bot_autoCraft_start_fail, recipe.ResultItem)); } /// @@ -516,7 +516,7 @@ namespace MinecraftClient.ChatBots if (GetInventories().ContainsKey(inventoryInUse)) { CloseInventory(inventoryInUse); - LogToConsoleTranslated("bot.autoCraft.close_inventory", inventoryInUse); + LogToConsole(string.Format(Translations.bot_autoCraft_close_inventory, inventoryInUse)); } } @@ -614,12 +614,12 @@ namespace MinecraftClient.ChatBots if (actionSteps[index - 1].ActionType == ActionType.LeftClick && actionSteps[index - 1].ItemType != ItemType.Air) { // Inform user the missing meterial name - LogToConsoleTranslated("bot.autoCraft.missing_material", actionSteps[index - 1].ItemType.ToString()); + LogToConsole(string.Format(Translations.bot_autoCraft_missing_material, actionSteps[index - 1].ItemType.ToString())); } if (Config.OnFailure == OnFailConfig.abort) { StopCrafting(); - LogToConsoleTranslated("bot.autoCraft.aborted"); + LogToConsole(Translations.bot_autoCraft_aborted); } else { @@ -627,7 +627,7 @@ namespace MinecraftClient.ChatBots // Even though crafting failed, action step index will still increase // we want to do that failed step again so decrease index by 1 index--; - LogToConsoleTranslated("bot.autoCraft.craft_fail"); + LogToConsole(Translations.bot_autoCraft_craft_fail); } } } @@ -669,7 +669,7 @@ namespace MinecraftClient.ChatBots private void HandleUpdateTimeout() { - LogToConsoleTranslated("bot.autoCraft.timeout", timeoutAction); + LogToConsole(string.Format(Translations.bot_autoCraft_timeout, timeoutAction)); } /// diff --git a/MinecraftClient/ChatBots/AutoDig.cs b/MinecraftClient/ChatBots/AutoDig.cs index fafbfdb2..7c5a17e9 100644 --- a/MinecraftClient/ChatBots/AutoDig.cs +++ b/MinecraftClient/ChatBots/AutoDig.cs @@ -107,17 +107,17 @@ namespace MinecraftClient.ChatBots { if (!GetTerrainEnabled()) { - LogToConsoleTranslated("extra.terrainandmovement_required"); - LogToConsoleTranslated("general.bot_unload"); + LogToConsole(Translations.extra_terrainandmovement_required); + LogToConsole(Translations.general_bot_unload); UnloadBot(); return; } inventoryEnabled = GetInventoryEnabled(); if (!inventoryEnabled && Config.Auto_Tool_Switch) - LogToConsoleTranslated("bot.autodig.no_inv_handle"); + LogToConsole(Translations.bot_autodig_no_inv_handle); - RegisterChatBotCommand("digbot", Translations.Get("bot.digbot.cmd"), GetHelp(), CommandHandler); + RegisterChatBotCommand("digbot", Translations.bot_autodig_cmd, GetHelp(), CommandHandler); } public string CommandHandler(string cmd, string[] args) @@ -132,10 +132,10 @@ namespace MinecraftClient.ChatBots counter = 0; state = State.WaitingStart; } - return Translations.Get("bot.autodig.start"); + return Translations.bot_autodig_start; case "stop": StopDigging(); - return Translations.Get("bot.autodig.stop"); + return Translations.bot_autodig_stop; case "help": return GetCommandHelp(args.Length >= 2 ? args[1] : ""); default: @@ -150,7 +150,7 @@ namespace MinecraftClient.ChatBots if (Config.Auto_Start_Delay > 0) { double delay = Config.Auto_Start_Delay; - LogToConsole(Translations.Get("bot.autodig.start_delay", delay)); + LogToConsole(string.Format(Translations.bot_autodig_start_delay, delay)); lock (stateLock) { counter = Settings.DoubleToTick(delay); @@ -201,7 +201,7 @@ namespace MinecraftClient.ChatBots case State.Digging: if (++counter > Settings.DoubleToTick(Config.Dig_Timeout)) { - LogToConsole(GetTimestamp() + ": " + Translations.Get("bot.autodig.dig_timeout")); + LogToConsole(GetTimestamp() + ": " + Translations.bot_autodig_dig_timeout); state = State.WaitingStart; counter = 0; } @@ -223,7 +223,7 @@ namespace MinecraftClient.ChatBots { AlreadyWaitting = true; if (Config.Log_Block_Dig) - LogToConsole(Translations.Get("cmd.dig.too_far")); + LogToConsole(Translations.cmd_dig_too_far); } return false; } @@ -233,7 +233,7 @@ namespace MinecraftClient.ChatBots { AlreadyWaitting = true; if (Config.Log_Block_Dig) - LogToConsole(Translations.Get("cmd.dig.no_block")); + LogToConsole(Translations.cmd_dig_no_block); } return false; } @@ -247,12 +247,12 @@ namespace MinecraftClient.ChatBots { currentDig = blockLoc; if (Config.Log_Block_Dig) - LogToConsole(Translations.Get("cmd.dig.dig", blockLoc.X, blockLoc.Y, blockLoc.Z, block.GetTypeString())); + LogToConsole(string.Format(Translations.cmd_dig_dig, blockLoc.X, blockLoc.Y, blockLoc.Z, block.GetTypeString())); return true; } else { - LogToConsole(Translations.Get("cmd.dig.fail")); + LogToConsole(Translations.cmd_dig_fail); return false; } } @@ -262,7 +262,7 @@ namespace MinecraftClient.ChatBots { AlreadyWaitting = true; if (Config.Log_Block_Dig) - LogToConsole(Translations.Get("bot.autodig.not_allow")); + LogToConsole(Translations.bot_autodig_not_allow); } return false; } @@ -273,7 +273,7 @@ namespace MinecraftClient.ChatBots { AlreadyWaitting = true; if (Config.Log_Block_Dig) - LogToConsole(Translations.Get("bot.autodig.not_allow")); + LogToConsole(Translations.bot_autodig_not_allow); } return false; } @@ -308,12 +308,12 @@ namespace MinecraftClient.ChatBots { currentDig = target; if (Config.Log_Block_Dig) - LogToConsole(Translations.Get("cmd.dig.dig", target.X, target.Y, target.Z, targetBlock.GetTypeString())); + LogToConsole(string.Format(Translations.cmd_dig_dig, target.X, target.Y, target.Z, targetBlock.GetTypeString())); return true; } else { - LogToConsole(Translations.Get("cmd.dig.fail")); + LogToConsole(Translations.cmd_dig_fail); return false; } } @@ -323,7 +323,7 @@ namespace MinecraftClient.ChatBots { AlreadyWaitting = true; if (Config.Log_Block_Dig) - LogToConsole(Translations.Get("cmd.dig.no_block")); + LogToConsole(Translations.cmd_dig_no_block); } return false; } @@ -342,12 +342,12 @@ namespace MinecraftClient.ChatBots { currentDig = blockLoc; if (Config.Log_Block_Dig) - LogToConsole(Translations.Get("cmd.dig.dig", blockLoc.X, blockLoc.Y, blockLoc.Z, block.GetTypeString())); + LogToConsole(string.Format(Translations.cmd_dig_dig, blockLoc.X, blockLoc.Y, blockLoc.Z, block.GetTypeString())); return true; } else { - LogToConsole(Translations.Get("cmd.dig.fail")); + LogToConsole(Translations.cmd_dig_fail); return false; } } @@ -357,7 +357,7 @@ namespace MinecraftClient.ChatBots { AlreadyWaitting = true; if (Config.Log_Block_Dig) - LogToConsole(Translations.Get("cmd.dig.no_block")); + LogToConsole(Translations.cmd_dig_no_block); } return false; } @@ -404,7 +404,7 @@ namespace MinecraftClient.ChatBots private static string GetHelp() { - return Translations.Get("bot.autodig.available_cmd", "start, stop, help"); + return string.Format(Translations.bot_autodig_available_cmd, "start, stop, help"); } private string GetCommandHelp(string cmd) @@ -412,9 +412,9 @@ namespace MinecraftClient.ChatBots return cmd.ToLower() switch { #pragma warning disable format // @formatter:off - "start" => Translations.Get("bot.autodig.help.start"), - "stop" => Translations.Get("bot.autodig.help.stop"), - "help" => Translations.Get("bot.autodig.help.help"), + "start" => Translations.bot_autodig_help_start, + "stop" => Translations.bot_autodig_help_stop, + "help" => Translations.bot_autodig_help_help, _ => GetHelp(), #pragma warning restore format // @formatter:on }; diff --git a/MinecraftClient/ChatBots/AutoDrop.cs b/MinecraftClient/ChatBots/AutoDrop.cs index a4e3f073..1ad79917 100644 --- a/MinecraftClient/ChatBots/AutoDrop.cs +++ b/MinecraftClient/ChatBots/AutoDrop.cs @@ -48,26 +48,26 @@ namespace MinecraftClient.ChatBots Config.Enabled = true; inventoryUpdated = 0; OnUpdateFinish(); - return Translations.Get("bot.autoDrop.on"); + return Translations.bot_autoDrop_on; case "off": Config.Enabled = false; - return Translations.Get("bot.autoDrop.off"); + return Translations.bot_autoDrop_off; case "add": if (args.Length >= 2) { if (Enum.TryParse(args[1], true, out ItemType item)) { Config.Items.Add(item); - return Translations.Get("bot.autoDrop.added", item.ToString()); + return string.Format(Translations.bot_autoDrop_added, item.ToString()); } else { - return Translations.Get("bot.autoDrop.incorrect_name", args[1]); + return string.Format(Translations.bot_autoDrop_incorrect_name, args[1]); } } else { - return Translations.Get("cmd.inventory.help.usage") + ": add "; + return Translations.cmd_inventory_help_usage + ": add "; } case "remove": if (args.Length >= 2) @@ -77,30 +77,30 @@ namespace MinecraftClient.ChatBots if (Config.Items.Contains(item)) { Config.Items.Remove(item); - return Translations.Get("bot.autoDrop.removed", item.ToString()); + return string.Format(Translations.bot_autoDrop_removed, item.ToString()); } else { - return Translations.Get("bot.autoDrop.not_in_list"); + return Translations.bot_autoDrop_not_in_list; } } else { - return Translations.Get("bot.autoDrop.incorrect_name", args[1]); + return string.Format(Translations.bot_autoDrop_incorrect_name, args[1]); } } else { - return Translations.Get("cmd.inventory.help.usage") + ": remove "; + return Translations.cmd_inventory_help_usage + ": remove "; } case "list": if (Config.Items.Count > 0) { - return Translations.Get("bot.autoDrop.list", Config.Items.Count, string.Join("\n", Config.Items)); + return string.Format(Translations.bot_autoDrop_list, Config.Items.Count, string.Join("\n", Config.Items)); } else { - return Translations.Get("bot.autoDrop.no_item"); + return Translations.bot_autoDrop_no_item; } case "mode": if (args.Length >= 2) @@ -117,15 +117,15 @@ namespace MinecraftClient.ChatBots Config.Mode = DropMode.everything; break; default: - return Translations.Get("bot.autoDrop.unknown_mode"); // Unknwon mode. Available modes: Include, Exclude, Everything + return Translations.bot_autoDrop_unknown_mode; // Unknwon mode. Available modes: Include, Exclude, Everything } inventoryUpdated = 0; OnUpdateFinish(); - return Translations.Get("bot.autoDrop.switched", Config.Mode.ToString()); // Switched to {0} mode. + return string.Format(Translations.bot_autoDrop_switched, Config.Mode.ToString()); // Switched to {0} mode. } else { - return Translations.Get("bot.autoDrop.unknown_mode"); + return Translations.bot_autoDrop_unknown_mode; } default: return GetHelp(); @@ -139,20 +139,20 @@ namespace MinecraftClient.ChatBots private static string GetHelp() { - return Translations.Get("general.available_cmd", "on, off, add, remove, list, mode"); + return string.Format(Translations.general_available_cmd, "on, off, add, remove, list, mode"); } public override void Initialize() { if (!GetInventoryEnabled()) { - LogToConsoleTranslated("extra.inventory_required"); - LogToConsoleTranslated("general.bot_unload"); + LogToConsole(Translations.extra_inventory_required); + LogToConsole(Translations.general_bot_unload); UnloadBot(); return; } - RegisterChatBotCommand("autodrop", Translations.Get("bot.autoDrop.cmd"), GetHelp(), CommandHandler); - RegisterChatBotCommand("ad", Translations.Get("bot.autoDrop.alias"), GetHelp(), CommandHandler); + RegisterChatBotCommand("autodrop", Translations.bot_autoDrop_cmd, GetHelp(), CommandHandler); + RegisterChatBotCommand("ad", Translations.bot_autoDrop_alias, GetHelp(), CommandHandler); } public override void Update() @@ -185,7 +185,7 @@ namespace MinecraftClient.ChatBots if (!GetInventories().ContainsKey(inventoryUpdated)) { // Inventory updated but no inventory ? - LogDebugToConsoleTranslated("bot.autoDrop.no_inventory", inventoryUpdated); + LogDebugToConsole(string.Format(Translations.bot_autoDrop_no_inventory, inventoryUpdated)); return; } var inventory = GetInventories()[inventoryUpdated]; diff --git a/MinecraftClient/ChatBots/AutoFishing.cs b/MinecraftClient/ChatBots/AutoFishing.cs index 8e53992a..73b0af3f 100644 --- a/MinecraftClient/ChatBots/AutoFishing.cs +++ b/MinecraftClient/ChatBots/AutoFishing.cs @@ -173,14 +173,14 @@ namespace MinecraftClient.ChatBots { if (!GetEntityHandlingEnabled()) { - LogToConsoleTranslated("extra.entity_required"); + LogToConsole(Translations.extra_entity_required); state = FishingState.WaitJoinGame; } inventoryEnabled = GetInventoryEnabled(); if (!inventoryEnabled) - LogToConsoleTranslated("bot.autoFish.no_inv_handle"); + LogToConsole(Translations.bot_autoFish_no_inv_handle); - RegisterChatBotCommand("fish", Translations.Get("bot.autoFish.cmd"), GetHelp(), CommandHandler); + RegisterChatBotCommand("fish", Translations.bot_autoFish_cmd, GetHelp(), CommandHandler); } public string CommandHandler(string cmd, string[] args) @@ -197,7 +197,7 @@ namespace MinecraftClient.ChatBots counter = 0; state = FishingState.StartMove; } - return Translations.Get("bot.autoFish.start"); + return Translations.bot_autoFish_start; case "stop": isFishing = false; lock (stateLock) @@ -208,14 +208,14 @@ namespace MinecraftClient.ChatBots state = FishingState.Stopping; } StopFishing(); - return Translations.Get("bot.autoFish.stop"); + return Translations.bot_autoFish_stop; case "status": if (args.Length >= 2) { if (args[1] == "clear") { fishItemCnt = new(); - return Translations.Get("bot.autoFish.status_clear"); + return Translations.bot_autoFish_status_clear; } else { @@ -225,12 +225,12 @@ namespace MinecraftClient.ChatBots else { if (fishItemCnt.Count == 0) - return Translations.Get("bot.autoFish.status_info"); + return Translations.bot_autoFish_status_info; List> orderedList = fishItemCnt.OrderBy(x => x.Value).ToList(); int maxLen = orderedList[^1].Value.ToString().Length; StringBuilder sb = new(); - sb.Append(Translations.Get("bot.autoFish.status_info")); + sb.Append(Translations.bot_autoFish_status_info); foreach ((ItemType type, uint cnt) in orderedList) { sb.Append(Environment.NewLine); @@ -258,7 +258,7 @@ namespace MinecraftClient.ChatBots if (Config.Auto_Start) { double delay = Config.Fishing_Delay; - LogToConsole(Translations.Get("bot.autoFish.start_at", delay)); + LogToConsole(string.Format(Translations.bot_autoFish_start_at, delay)); lock (stateLock) { isFishing = false; @@ -321,7 +321,7 @@ namespace MinecraftClient.ChatBots { if (castTimeout < 6000) castTimeout *= 2; // Exponential backoff - LogToConsole(GetShortTimestamp() + ": " + Translations.Get("bot.autoFish.cast_timeout", castTimeout / 10.0)); + LogToConsole(GetShortTimestamp() + ": " + string.Format(Translations.bot_autoFish_cast_timeout, castTimeout / 10.0)); counter = Settings.DoubleToTick(Config.Cast_Delay); state = FishingState.WaitingToCast; @@ -330,7 +330,7 @@ namespace MinecraftClient.ChatBots case FishingState.WaitingFishToBite: if (++counter > Settings.DoubleToTick(Config.Fishing_Timeout)) { - LogToConsole(GetShortTimestamp() + ": " + Translations.Get("bot.autoFish.fishing_timeout")); + LogToConsole(GetShortTimestamp() + ": " + Translations.bot_autoFish_fishing_timeout); counter = Settings.DoubleToTick(Config.Cast_Delay); state = FishingState.WaitingToCast; @@ -348,7 +348,7 @@ namespace MinecraftClient.ChatBots } else { - LogToConsole(Translations.Get("extra.terrainandmovement_required")); + LogToConsole(Translations.extra_terrainandmovement_required); state = FishingState.WaitJoinGame; } } @@ -364,7 +364,7 @@ namespace MinecraftClient.ChatBots if (!ClientIsMoving()) { LookAtLocation(nextYaw, nextPitch); - LogToConsole(Translations.Get("bot.autoFish.update_lookat", nextYaw, nextPitch)); + LogToConsole(string.Format(Translations.bot_autoFish_update_lookat, nextYaw, nextPitch)); state = FishingState.DurabilityCheck; goto case FishingState.DurabilityCheck; @@ -399,7 +399,7 @@ namespace MinecraftClient.ChatBots fishItemCounter = 15; - LogToConsole(GetShortTimestamp() + ": " + Translations.Get("bot.autoFish.throw")); + LogToConsole(GetShortTimestamp() + ": " + Translations.bot_autoFish_throw); lock (stateLock) { fishingBobber = entity; @@ -426,7 +426,7 @@ namespace MinecraftClient.ChatBots if (Config.Antidespawn) { - LogToConsoleTranslated("bot.autoFish.despawn"); + LogToConsole(Translations.bot_autoFish_despawn); lock (stateLock) { @@ -473,7 +473,7 @@ namespace MinecraftClient.ChatBots { fishItemCounter = 15; Item item = (Item)itemObj!; - LogToConsole(Translations.Get("bot.autoFish.got", item.ToFullString())); + LogToConsole(string.Format(Translations.bot_autoFish_got, item.ToFullString())); if (fishItemCnt.ContainsKey(item.Type)) fishItemCnt[item.Type] += (uint)item.Count; else @@ -514,10 +514,10 @@ namespace MinecraftClient.ChatBots { ++fishCount; if (Config.Enable_Move && Config.Movements.Length > 0) - LogToConsole(GetShortTimestamp() + ": " + Translations.Get("bot.autoFish.caught_at", + LogToConsole(GetShortTimestamp() + ": " + string.Format(Translations.bot_autoFish_caught_at, fishingBobber!.Location.X, fishingBobber!.Location.Y, fishingBobber!.Location.Z, fishCount)); else - LogToConsole(GetShortTimestamp() + ": " + Translations.Get("bot.autoFish.caught", fishCount)); + LogToConsole(GetShortTimestamp() + ": " + string.Format(Translations.bot_autoFish_caught, fishCount)); lock (stateLock) { @@ -558,7 +558,7 @@ namespace MinecraftClient.ChatBots if (!Movement.CheckChunkLoading(GetWorld(), current, goal)) { isMoveSuccessed = false; - LogToConsole(Translations.Get("cmd.move.chunk_not_loaded", goal.X, goal.Y, goal.Z)); + LogToConsole(string.Format(Translations.cmd_move_chunk_not_loaded, goal.X, goal.Y, goal.Z)); } else { @@ -568,11 +568,11 @@ namespace MinecraftClient.ChatBots if (!isMoveSuccessed) { (nextYaw, nextPitch) = (GetYaw(), GetPitch()); - LogToConsole(Translations.Get("cmd.move.fail", goal)); + LogToConsole(string.Format(Translations.cmd_move_fail, goal)); } else { - LogToConsole(Translations.Get("cmd.move.walk", goal, current)); + LogToConsole(string.Format(Translations.cmd_move_walk, goal, current)); } } @@ -598,7 +598,7 @@ namespace MinecraftClient.ChatBots else { if (!isWaitingRod) - LogToConsole(GetTimestamp() + ": " + Translations.Get("bot.autoFish.no_rod")); + LogToConsole(GetTimestamp() + ": " + Translations.bot_autoFish_no_rod); if (Config.Auto_Rod_Switch) { @@ -609,7 +609,7 @@ namespace MinecraftClient.ChatBots WindowAction(0, slot, WindowActionType.LeftClick); WindowAction(0, itemSolt, WindowActionType.LeftClick); WindowAction(0, slot, WindowActionType.LeftClick); - LogToConsole(GetTimestamp() + ": " + Translations.Get("bot.autoFish.switch", slot, (64 - item.Damage))); + LogToConsole(GetTimestamp() + ": " + string.Format(Translations.bot_autoFish_switch, slot, (64 - item.Damage))); isWaitingRod = false; return true; } @@ -623,7 +623,7 @@ namespace MinecraftClient.ChatBots private static string GetHelp() { - return Translations.Get("bot.autoFish.available_cmd", "start, stop, status, help"); + return string.Format(Translations.bot_autoFish_available_cmd, "start, stop, status, help"); } private string GetCommandHelp(string cmd) @@ -631,10 +631,10 @@ namespace MinecraftClient.ChatBots return cmd.ToLower() switch { #pragma warning disable format // @formatter:off - "start" => Translations.Get("bot.autoFish.help.start"), - "stop" => Translations.Get("bot.autoFish.help.stop"), - "status" => Translations.Get("bot.autoFish.help.status"), - "help" => Translations.Get("bot.autoFish.help.help"), + "start" => Translations.bot_autoFish_help_start, + "stop" => Translations.bot_autoFish_help_stop, + "status" => Translations.bot_autoFish_help_status, + "help" => Translations.bot_autoFish_help_help, _ => GetHelp(), #pragma warning restore format // @formatter:on }; diff --git a/MinecraftClient/ChatBots/AutoRelog.cs b/MinecraftClient/ChatBots/AutoRelog.cs index a62dbd8a..2795366e 100644 --- a/MinecraftClient/ChatBots/AutoRelog.cs +++ b/MinecraftClient/ChatBots/AutoRelog.cs @@ -79,7 +79,7 @@ namespace MinecraftClient.ChatBots /// Number of retries if connection fails (-1 = infinite) public AutoRelog() { - LogDebugToConsoleTranslated("bot.autoRelog.launch", Config.Retries); + LogDebugToConsole(string.Format(Translations.bot_autoRelog_launch, Config.Retries)); } public override void Initialize() @@ -87,7 +87,7 @@ namespace MinecraftClient.ChatBots McClient.ReconnectionAttemptsLeft = Config.Retries; if (Config.Ignore_Kick_Message) { - LogDebugToConsoleTranslated("bot.autoRelog.no_kick_msg"); + LogDebugToConsole(Translations.bot_autoRelog_no_kick_msg); } } @@ -95,14 +95,14 @@ namespace MinecraftClient.ChatBots { if (reason == DisconnectReason.UserLogout) { - LogDebugToConsoleTranslated("bot.autoRelog.ignore_user_logout"); + LogDebugToConsole(Translations.bot_autoRelog_ignore_user_logout); } else if (Config.Retries < 0 || Configs._BotRecoAttempts < Config.Retries) { message = GetVerbatim(message); string comp = message.ToLower(); - LogDebugToConsoleTranslated("bot.autoRelog.disconnect_msg", message); + LogDebugToConsole(string.Format(Translations.bot_autoRelog_disconnect_msg, message)); if (Config.Ignore_Kick_Message) { @@ -121,7 +121,7 @@ namespace MinecraftClient.ChatBots } } - LogDebugToConsoleTranslated("bot.autoRelog.reconnect_ignore"); + LogDebugToConsole(Translations.bot_autoRelog_reconnect_ignore); } return false; @@ -130,8 +130,8 @@ namespace MinecraftClient.ChatBots private void LaunchDelayedReconnection(string? msg) { double delay = random.NextDouble() * (Config.Delay.max - Config.Delay.min) + Config.Delay.min; - LogDebugToConsoleTranslated(string.IsNullOrEmpty(msg) ? "bot.autoRelog.reconnect_always" : "bot.autoRelog.reconnect", msg); - LogToConsoleTranslated("bot.autoRelog.wait", delay); + LogDebugToConsole(string.Format(string.IsNullOrEmpty(msg) ? Translations.bot_autoRelog_reconnect_always : Translations.bot_autoRelog_reconnect, msg)); + LogToConsole(string.Format(Translations.bot_autoRelog_wait, delay)); System.Threading.Thread.Sleep((int)Math.Floor(delay * 1000)); ReconnectToTheServer(); } diff --git a/MinecraftClient/ChatBots/AutoRespond.cs b/MinecraftClient/ChatBots/AutoRespond.cs index 4ff83a6b..91279191 100644 --- a/MinecraftClient/ChatBots/AutoRespond.cs +++ b/MinecraftClient/ChatBots/AutoRespond.cs @@ -37,8 +37,8 @@ namespace MinecraftClient.ChatBots if (!File.Exists(Matches_File)) { - LogToConsole(BotName, Translations.TryGet("bot.autoRespond.file_not_found", Path.GetFullPath(Matches_File))); - LogToConsole(BotName, Translations.TryGet("general.bot_unload")); + LogToConsole(BotName, string.Format(Translations.bot_autoRespond_file_not_found, Path.GetFullPath(Matches_File))); + LogToConsole(BotName, Translations.general_bot_unload); Enabled = false; } } @@ -167,8 +167,8 @@ namespace MinecraftClient.ChatBots /// public override string ToString() { - return Translations.Get( - "bot.autoRespond.match", + return string.Format( + Translations.bot_autoRespond_match, match, regex, actionPublic, @@ -196,7 +196,7 @@ namespace MinecraftClient.ChatBots TimeSpan cooldown = TimeSpan.Zero; respondRules = new List(); - LogDebugToConsoleTranslated("bot.autoRespond.loading", System.IO.Path.GetFullPath(Config.Matches_File)); + LogDebugToConsole(string.Format(Translations.bot_autoRespond_loading, System.IO.Path.GetFullPath(Config.Matches_File))); foreach (string lineRAW in File.ReadAllLines(Config.Matches_File, Encoding.UTF8)) { @@ -243,7 +243,7 @@ namespace MinecraftClient.ChatBots } else { - LogToConsoleTranslated("bot.autoRespond.file_not_found", System.IO.Path.GetFullPath(Config.Matches_File)); + LogToConsole(string.Format(Translations.bot_autoRespond_file_not_found, System.IO.Path.GetFullPath(Config.Matches_File))); UnloadBot(); //No need to keep the bot active } } @@ -270,11 +270,11 @@ namespace MinecraftClient.ChatBots if (matchRegex != null || matchString != null) { respondRules!.Add(rule); - LogDebugToConsoleTranslated("bot.autoRespond.loaded_match", rule); + LogDebugToConsole(string.Format(Translations.bot_autoRespond_loaded_match, rule)); } - else LogDebugToConsoleTranslated("bot.autoRespond.no_trigger", rule); + else LogDebugToConsole(string.Format(Translations.bot_autoRespond_no_trigger, rule)); } - else LogDebugToConsoleTranslated("bot.autoRespond.no_action", rule); + else LogDebugToConsole(string.Format(Translations.bot_autoRespond_no_action, rule)); } } @@ -307,7 +307,7 @@ namespace MinecraftClient.ChatBots if (!String.IsNullOrEmpty(toPerform)) { string? response = null; - LogToConsoleTranslated("bot.autoRespond.match_run", toPerform); + LogToConsole(string.Format(Translations.bot_autoRespond_match_run, toPerform)); PerformInternalCommand(toPerform, ref response, localVars); if (!String.IsNullOrEmpty(response)) LogToConsole(response); diff --git a/MinecraftClient/ChatBots/ChatLog.cs b/MinecraftClient/ChatBots/ChatLog.cs index 041b58cb..b6ad94ef 100644 --- a/MinecraftClient/ChatBots/ChatLog.cs +++ b/MinecraftClient/ChatBots/ChatLog.cs @@ -35,8 +35,8 @@ namespace MinecraftClient.ChatBots string Log_File_Full = Settings.Config.AppVar.ExpandVars(Log_File); if (String.IsNullOrEmpty(Log_File_Full) || Log_File_Full.IndexOfAny(Path.GetInvalidPathChars()) >= 0) { - LogToConsole(BotName, Translations.TryGet("bot.chatLog.invalid_file", Log_File_Full)); - LogToConsole(BotName, Translations.TryGet("general.bot_unload")); + LogToConsole(BotName, string.Format(Translations.bot_chatLog_invalid_file, Log_File_Full)); + LogToConsole(BotName, Translations.general_bot_unload); Enabled = false; } } diff --git a/MinecraftClient/ChatBots/DiscordBridge.cs b/MinecraftClient/ChatBots/DiscordBridge.cs index c7d327b9..644be296 100644 --- a/MinecraftClient/ChatBots/DiscordBridge.cs +++ b/MinecraftClient/ChatBots/DiscordBridge.cs @@ -94,13 +94,13 @@ namespace MinecraftClient.ChatBots if (discordChannel != null) discordBotClient.SendMessageAsync(discordChannel, new DiscordEmbedBuilder { - Description = Translations.TryGet("bot.DiscordBridge.disconnected"), + Description = Translations.bot_DiscordBridge_disconnected, Color = new DiscordColor(0xFF0000) }).Wait(Config.Message_Send_Timeout * 1000); } catch (Exception e) { - LogToConsole("§w§l§f" + Translations.TryGet("bot.DiscordBridge.canceled_sending")); + LogToConsole("§w§l§f" + Translations.bot_DiscordBridge_canceled_sending); LogDebugToConsole(e); } @@ -122,34 +122,33 @@ namespace MinecraftClient.ChatBots { string direction = args[1].ToLower().Trim(); - string? bridgeName = ""; - + string bridgeName; switch (direction) { case "b": case "both": - bridgeName = "bot.DiscordBridge.direction.both"; + bridgeName = Translations.bot_DiscordBridge_direction_both; bridgeDirection = BridgeDirection.Both; break; case "mc": case "minecraft": - bridgeName = "bot.DiscordBridge.direction.minecraft"; + bridgeName = Translations.bot_DiscordBridge_direction_minecraft; bridgeDirection = BridgeDirection.Minecraft; break; case "d": case "dcs": case "discord": - bridgeName = "bot.DiscordBridge.direction.discord"; + bridgeName = Translations.bot_DiscordBridge_direction_discord; bridgeDirection = BridgeDirection.Discord; break; default: - return Translations.TryGet("bot.DiscordBridge.invalid_direction"); + return Translations.bot_DiscordBridge_invalid_direction; } - return Translations.TryGet("bot.DiscordBridge.direction", Translations.TryGet(bridgeName)); + return string.Format(Translations.bot_DiscordBridge_direction, bridgeName); }; } @@ -212,7 +211,7 @@ namespace MinecraftClient.ChatBots } catch (Exception e) { - LogToConsole("§w§l§f" + Translations.TryGet("bot.DiscordBridge.canceled_sending")); + LogToConsole("§w§l§f" + Translations.bot_DiscordBridge_canceled_sending); LogDebugToConsole(e); } } @@ -228,7 +227,7 @@ namespace MinecraftClient.ChatBots } catch (Exception e) { - LogToConsole("§w§l§f" + Translations.TryGet("bot.DiscordBridge.canceled_sending")); + LogToConsole("§w§l§f" + Translations.bot_DiscordBridge_canceled_sending); LogDebugToConsole(e); } } @@ -244,7 +243,7 @@ namespace MinecraftClient.ChatBots } catch (Exception e) { - LogToConsole("§w§l§f" + Translations.TryGet("bot.DiscordBridge.canceled_sending")); + LogToConsole("§w§l§f" + Translations.bot_DiscordBridge_canceled_sending); LogDebugToConsole(e); } } @@ -270,7 +269,7 @@ namespace MinecraftClient.ChatBots } catch (Exception e) { - LogToConsole("§w§l§f" + Translations.TryGet("bot.DiscordBridge.canceled_sending")); + LogToConsole("§w§l§f" + Translations.bot_DiscordBridge_canceled_sending); LogDebugToConsole(e); } } @@ -285,7 +284,7 @@ namespace MinecraftClient.ChatBots private bool CanSendMessages() { - return discordBotClient == null || discordChannel == null || bridgeDirection == BridgeDirection.Minecraft ? false : true; + return discordBotClient != null && discordChannel != null && bridgeDirection != BridgeDirection.Minecraft; } async Task MainAsync() @@ -294,7 +293,7 @@ namespace MinecraftClient.ChatBots { if (string.IsNullOrEmpty(Config.Token.Trim())) { - LogToConsole(Translations.TryGet("bot.DiscordBridge.missing_token")); + LogToConsole(Translations.bot_DiscordBridge_missing_token); UnloadBot(); return; } @@ -317,7 +316,7 @@ namespace MinecraftClient.ChatBots { if (e is NotFoundException) { - LogToConsole(Translations.TryGet("bot.DiscordBridge.guild_not_found", Config.GuildId)); + LogToConsole(string.Format(Translations.bot_DiscordBridge_guild_not_found, Config.GuildId)); UnloadBot(); return; } @@ -334,7 +333,7 @@ namespace MinecraftClient.ChatBots { if (e is NotFoundException) { - LogToConsole(Translations.TryGet("bot.DiscordBridge.channel_not_found", Config.ChannelId)); + LogToConsole(string.Format(Translations.bot_DiscordBridge_channel_not_found, Config.ChannelId)); UnloadBot(); return; } @@ -376,7 +375,7 @@ namespace MinecraftClient.ChatBots await e.Message.DeleteOwnReactionAsync(DiscordEmoji.FromName(discordBotClient, ":gear:")); await e.Message.CreateReactionAsync(DiscordEmoji.FromName(discordBotClient, ":white_check_mark:")); - await e.Message.RespondAsync($"{Translations.TryGet("bot.DiscordBridge.command_executed")}:\n```{result}```"); + await e.Message.RespondAsync($"{Translations.bot_DiscordBridge_command_executed}:\n```{result}```"); } else SendText(message); }; @@ -395,17 +394,17 @@ namespace MinecraftClient.ChatBots await discordBotClient.SendMessageAsync(discordChannel, new DiscordEmbedBuilder { - Description = Translations.TryGet("bot.DiscordBridge.connected"), + Description = Translations.bot_DiscordBridge_connected, Color = new DiscordColor(0x00FF00) }); IsConnected = true; - LogToConsole("§y§l§f" + Translations.TryGet("bot.DiscordBridge.connected")); + LogToConsole("§y§l§f" + Translations.bot_DiscordBridge_connected); await Task.Delay(-1); } catch (Exception e) { - LogToConsole("§w§l§f" + Translations.TryGet("bot.DiscordBridge.unknown_error")); + LogToConsole("§w§l§f" + Translations.bot_DiscordBridge_unknown_error); LogToConsole(e); return; } diff --git a/MinecraftClient/ChatBots/Farmer.cs b/MinecraftClient/ChatBots/Farmer.cs index 52b3f8ee..94af1191 100644 --- a/MinecraftClient/ChatBots/Farmer.cs +++ b/MinecraftClient/ChatBots/Farmer.cs @@ -65,19 +65,19 @@ namespace MinecraftClient.ChatBots { if (GetProtocolVersion() < Protocol18Handler.MC_1_13_Version) { - LogToConsole(Translations.TryGet("bot.farmer.not_implemented")); + LogToConsole(Translations.bot_farmer_not_implemented); return; } if (!GetTerrainEnabled()) { - LogToConsole(Translations.TryGet("bot.farmer.needs_terrain")); + LogToConsole(Translations.bot_farmer_needs_terrain); return; } if (!GetInventoryEnabled()) { - LogToConsole(Translations.TryGet("bot.farmer.needs_inventory")); + LogToConsole(Translations.bot_farmer_needs_inventory); return; } @@ -91,10 +91,10 @@ namespace MinecraftClient.ChatBots if (args[0].Equals("stop", StringComparison.OrdinalIgnoreCase)) { if (!running) - return Translations.TryGet("bot.farmer.already_stopped"); + return Translations.bot_farmer_already_stopped; running = false; - return Translations.TryGet("bot.farmer.stopping"); + return Translations.bot_farmer_stopping; } if (args[0].Equals("start", StringComparison.OrdinalIgnoreCase)) @@ -102,10 +102,10 @@ namespace MinecraftClient.ChatBots if (args.Length >= 2) { if (running) - return Translations.TryGet("bot.farmer.already_running"); + return Translations.bot_farmer_already_running; if (!Enum.TryParse(args[1], true, out CropType whatToFarm)) - return Translations.TryGet("bot.farmer.invalid_crop_type"); + return Translations.bot_farmer_invalid_crop_type; int radius = 30; @@ -123,7 +123,7 @@ namespace MinecraftClient.ChatBots if (!currentArg.Contains(':')) { - LogToConsole("§x§1§0" + Translations.TryGet("bot.farmer.warining_invalid_parameter", currentArg)); + LogToConsole("§x§1§0" + string.Format(Translations.bot_farmer_warining_invalid_parameter, currentArg)); continue; } @@ -131,7 +131,7 @@ namespace MinecraftClient.ChatBots if (parts.Length != 2) { - LogToConsole("§x§1§0" + Translations.TryGet("bot.farmer.warining_invalid_parameter", currentArg)); + LogToConsole("§x§1§0" + string.Format(Translations.bot_farmer_warining_invalid_parameter, currentArg)); continue; } @@ -140,11 +140,11 @@ namespace MinecraftClient.ChatBots case "r": case "radius": if (!int.TryParse(parts[1], NumberStyles.Any, CultureInfo.CurrentCulture, out radius)) - LogToConsole("§x§1§0" + Translations.TryGet("bot.farmer.invalid_radius")); + LogToConsole("§x§1§0" + Translations.bot_farmer_invalid_radius); if (radius <= 0) { - LogToConsole("§x§1§0" + Translations.TryGet("bot.farmer.invalid_radius")); + LogToConsole("§x§1§0" + Translations.bot_farmer_invalid_radius); radius = 30; } @@ -157,7 +157,7 @@ namespace MinecraftClient.ChatBots if (parts[1].Equals("true") || parts[1].Equals("1")) { - LogToConsole("§x§1§0" + Translations.TryGet("bot.farmer.warining_force_unsafe")); + LogToConsole("§x§1§0" + Translations.bot_farmer_warining_force_unsafe); allowUnsafe = true; } else allowUnsafe = false; @@ -171,7 +171,7 @@ namespace MinecraftClient.ChatBots if (parts[1].Equals("true") || parts[1].Equals("1")) { - LogToConsole("§w§1§f" + Translations.TryGet("bot.farmer.warining_allow_teleport")); + LogToConsole("§w§1§f" + Translations.bot_farmer_warining_allow_teleport); allowTeleport = true; } else allowTeleport = false; @@ -204,7 +204,7 @@ namespace MinecraftClient.ChatBots } } - return Translations.TryGet("bot.farmer.desc") + ": " + commandDescription; + return Translations.bot_farmer_desc + ": " + commandDescription; } public override void AfterGameJoined() @@ -220,9 +220,9 @@ namespace MinecraftClient.ChatBots private void MainPorcess() { - LogToConsole("§y§1§f" + Translations.TryGet("bot.farmer.started")); - LogToConsole("§y§1§f " + Translations.TryGet("bot.farmer.crop_type") + ": " + cropType); - LogToConsole("§y§1§f " + Translations.TryGet("bot.farmer.radius") + ": " + farmingRadius); + LogToConsole("§y§1§f" + Translations.bot_farmer_started); + LogToConsole("§y§1§f " + Translations.bot_farmer_crop_type + ": " + cropType); + LogToConsole("§y§1§f " + Translations.bot_farmer_radius + ": " + farmingRadius); while (running) { @@ -442,7 +442,7 @@ namespace MinecraftClient.ChatBots Thread.Sleep(Config.Delay_Between_Tasks * 1000); } - LogToConsole(Translations.TryGet("bot.farmer.stopped")); + LogToConsole(Translations.bot_farmer_stopped); } private Material GetMaterialForCropType(CropType type) diff --git a/MinecraftClient/ChatBots/FollowPlayer.cs b/MinecraftClient/ChatBots/FollowPlayer.cs index d5616aab..ebbf2c90 100644 --- a/MinecraftClient/ChatBots/FollowPlayer.cs +++ b/MinecraftClient/ChatBots/FollowPlayer.cs @@ -41,16 +41,16 @@ namespace MinecraftClient.ChatBots { if (!GetEntityHandlingEnabled()) { - LogToConsoleTranslated("extra.entity_required"); - LogToConsoleTranslated("general.bot_unload"); + LogToConsole(Translations.extra_entity_required); + LogToConsole(Translations.general_bot_unload); UnloadBot(); return; } if (!GetTerrainEnabled()) { - LogToConsoleTranslated("extra.terrainandmovement_required"); - LogToConsoleTranslated("general.bot_unload"); + LogToConsole(Translations.extra_terrainandmovement_required); + LogToConsole(Translations.general_bot_unload); UnloadBot(); return; } @@ -65,44 +65,48 @@ namespace MinecraftClient.ChatBots if (args[0].Equals("stop", StringComparison.OrdinalIgnoreCase)) { if (_playerToFollow == null) - return Translations.TryGet("cmd.follow.already_stopped"); + return Translations.cmd_follow_already_stopped; _playerToFollow = null; - return Translations.TryGet("cmd.follow.stopping"); + return Translations.cmd_follow_stopping; } else { if (!IsValidName(args[0])) - return Translations.TryGet("cmd.follow.invalid_name"); + return Translations.cmd_follow_invalid_name; Entity? player = GetEntities().Values.ToList().Find(entity => entity.Type == EntityType.Player && !string.IsNullOrEmpty(entity.Name) && entity.Name.Equals(args[0], StringComparison.OrdinalIgnoreCase)); if (player == null) - return Translations.TryGet("cmd.follow.invalid_player"); + return Translations.cmd_follow_invalid_player; if (!CanMoveThere(player.Location)) - return Translations.TryGet("cmd.follow.cant_reach_player"); + return Translations.cmd_follow_cant_reach_player; if (_playerToFollow != null && _playerToFollow.Equals(args[0], StringComparison.OrdinalIgnoreCase)) - return Translations.TryGet("cmd.follow.already_following", _playerToFollow); + return string.Format(Translations.cmd_follow_already_following, _playerToFollow); - string result = Translations.TryGet(_playerToFollow != null ? "cmd.follow.switched" : "cmd.follow.started", player.Name!); + string result; + if (_playerToFollow != null) + result = string.Format(Translations.cmd_follow_switched, player.Name!); + else + result = string.Format(Translations.cmd_follow_started, player.Name!); _playerToFollow = args[0].Trim().ToLower(); - LogToConsoleTranslated("cmd.follow.note"); + LogToConsole(Translations.cmd_follow_note); if (args.Length == 2 && args[1].Equals("-f", StringComparison.OrdinalIgnoreCase)) { _unsafeEnabled = true; - LogToConsoleTranslated("cmd.follow.unsafe_enabled"); + LogToConsole(Translations.cmd_follow_unsafe_enabled); } return result; } } - return Translations.TryGet("cmd.follow.desc") + ": " + Translations.TryGet("cmd.follow.usage"); + return Translations.cmd_follow_desc + ": " + Translations.cmd_follow_usage; } public override void Update() @@ -146,8 +150,8 @@ namespace MinecraftClient.ChatBots if (_playerToFollow != null && !string.IsNullOrEmpty(entity.Name) && _playerToFollow.Equals(entity.Name, StringComparison.OrdinalIgnoreCase)) { - LogToConsoleTranslated("cmd.follow.player_came_to_the_range", _playerToFollow); - LogToConsoleTranslated("cmd.follow.resuming"); + LogToConsole(string.Format(Translations.cmd_follow_player_came_to_the_range, _playerToFollow)); + LogToConsole(Translations.cmd_follow_resuming); } } @@ -158,8 +162,8 @@ namespace MinecraftClient.ChatBots if (_playerToFollow != null && !string.IsNullOrEmpty(entity.Name) && _playerToFollow.Equals(entity.Name, StringComparison.OrdinalIgnoreCase)) { - LogToConsoleTranslated("cmd.follow.player_left_the_range", _playerToFollow); - LogToConsoleTranslated("cmd.follow.pausing"); + LogToConsole(string.Format(Translations.cmd_follow_player_left_the_range, _playerToFollow)); + LogToConsole(Translations.cmd_follow_pausing); } } @@ -167,8 +171,8 @@ namespace MinecraftClient.ChatBots { if (_playerToFollow != null && !string.IsNullOrEmpty(name) && _playerToFollow.Equals(name, StringComparison.OrdinalIgnoreCase)) { - LogToConsoleTranslated("cmd.follow.player_left", _playerToFollow); - LogToConsoleTranslated("cmd.follow.stopping"); + LogToConsole(string.Format(Translations.cmd_follow_player_left, _playerToFollow)); + LogToConsole(Translations.cmd_follow_stopping); _playerToFollow = null; } } diff --git a/MinecraftClient/ChatBots/Mailer.cs b/MinecraftClient/ChatBots/Mailer.cs index 51eada78..b6f2ee12 100644 --- a/MinecraftClient/ChatBots/Mailer.cs +++ b/MinecraftClient/ChatBots/Mailer.cs @@ -45,25 +45,25 @@ namespace MinecraftClient.ChatBots if (Config.MaxDatabaseSize <= 0) { - LogToConsole(BotName, Translations.TryGet("bot.mailer.init_fail.db_size")); + LogToConsole(BotName, Translations.bot_mailer_init_fail_db_size); checkSuccessed = false; } if (Config.MaxMailsPerPlayer <= 0) { - LogToConsole(BotName, Translations.TryGet("bot.mailer.init_fail.max_mails")); + LogToConsole(BotName, Translations.bot_mailer_init_fail_max_mails); checkSuccessed = false; } if (Config.MailRetentionDays <= 0) { - LogToConsole(BotName, Translations.TryGet("bot.mailer.init_fail.mail_retention")); + LogToConsole(BotName, Translations.bot_mailer_init_fail_mail_retention); checkSuccessed = false; } if (!checkSuccessed) { - LogToConsole(BotName, Translations.TryGet("general.bot_unload")); + LogToConsole(BotName, Translations.general_bot_unload); Enabled = false; } } @@ -218,32 +218,32 @@ namespace MinecraftClient.ChatBots /// public override void Initialize() { - LogDebugToConsoleTranslated("bot.mailer.init"); - LogDebugToConsoleTranslated("bot.mailer.init.db" + Config.DatabaseFile); - LogDebugToConsoleTranslated("bot.mailer.init.ignore" + Config.IgnoreListFile); - LogDebugToConsoleTranslated("bot.mailer.init.public" + Config.PublicInteractions); - LogDebugToConsoleTranslated("bot.mailer.init.max_mails" + Config.MaxMailsPerPlayer); - LogDebugToConsoleTranslated("bot.mailer.init.db_size" + Config.MaxDatabaseSize); - LogDebugToConsoleTranslated("bot.mailer.init.mail_retention" + Config.MailRetentionDays + " days"); + LogDebugToConsole(Translations.bot_mailer_init); + LogDebugToConsole(Translations.bot_mailer_init_db + Config.DatabaseFile); + LogDebugToConsole(Translations.bot_mailer_init_ignore + Config.IgnoreListFile); + LogDebugToConsole(Translations.bot_mailer_init_public + Config.PublicInteractions); + LogDebugToConsole(Translations.bot_mailer_init_max_mails + Config.MaxMailsPerPlayer); + LogDebugToConsole(Translations.bot_mailer_init_db_size + Config.MaxDatabaseSize); + LogDebugToConsole(Translations.bot_mailer_init_mail_retention + Config.MailRetentionDays + " days"); if (!File.Exists(Config.DatabaseFile)) { - LogToConsoleTranslated("bot.mailer.create.db", Path.GetFullPath(Config.DatabaseFile)); + LogToConsole(string.Format(Translations.bot_mailer_create_db, Path.GetFullPath(Config.DatabaseFile))); new MailDatabase().SaveToFile(Config.DatabaseFile); } if (!File.Exists(Config.IgnoreListFile)) { - LogToConsoleTranslated("bot.mailer.create.ignore", Path.GetFullPath(Config.IgnoreListFile)); + LogToConsole(string.Format(Translations.bot_mailer_create_ignore, Path.GetFullPath(Config.IgnoreListFile))); new IgnoreList().SaveToFile(Config.IgnoreListFile); } lock (readWriteLock) { - LogDebugToConsoleTranslated("bot.mailer.load.db", Path.GetFullPath(Config.DatabaseFile)); + LogDebugToConsole(string.Format(Translations.bot_mailer_load_db, Path.GetFullPath(Config.DatabaseFile))); mailDatabase = MailDatabase.FromFile(Config.DatabaseFile); - LogDebugToConsoleTranslated("bot.mailer.load.ignore", Path.GetFullPath(Config.IgnoreListFile)); + LogDebugToConsole(string.Format(Translations.bot_mailer_load_ignore, Path.GetFullPath(Config.IgnoreListFile))); ignoreList = IgnoreList.FromFile(Config.IgnoreListFile); } @@ -251,7 +251,7 @@ namespace MinecraftClient.ChatBots mailDbFileMonitor = new FileMonitor(Path.GetDirectoryName(Config.DatabaseFile)!, Path.GetFileName(Config.DatabaseFile), FileMonitorCallback); ignoreListFileMonitor = new FileMonitor(Path.GetDirectoryName(Config.IgnoreListFile)!, Path.GetFileName(Config.IgnoreListFile), FileMonitorCallback); - RegisterChatBotCommand("mailer", Translations.Get("bot.mailer.cmd"), "mailer ", ProcessInternalCommand); + RegisterChatBotCommand("mailer", Translations.bot_mailer_cmd, "mailer ", ProcessInternalCommand); } /// @@ -299,7 +299,7 @@ namespace MinecraftClient.ChatBots if (message.Length <= maxMessageLength) { Mail mail = new(username, recipient, message, anonymous, DateTime.Now); - LogToConsoleTranslated("bot.mailer.saving", mail.ToString()); + LogToConsole(string.Format(Translations.bot_mailer_saving, mail.ToString())); lock (readWriteLock) { mailDatabase.Add(mail); @@ -317,7 +317,7 @@ namespace MinecraftClient.ChatBots break; } } - else LogDebugToConsoleTranslated("bot.mailer.user_ignored", username); + else LogDebugToConsole(string.Format(Translations.bot_mailer_user_ignored, username)); } } @@ -329,7 +329,7 @@ namespace MinecraftClient.ChatBots DateTime dateNow = DateTime.Now; if (nextMailSend < dateNow) { - LogDebugToConsoleTranslated("bot.mailer.process_mails", DateTime.Now); + LogDebugToConsole(string.Format(Translations.bot_mailer_process_mails, DateTime.Now)); // Process at most 3 mails at a time to avoid spamming. Other mails will be processed on next mail send HashSet onlinePlayersLowercase = new(GetOnlinePlayers().Select(name => name.ToLower())); @@ -338,7 +338,7 @@ namespace MinecraftClient.ChatBots string sender = mail.Anonymous ? "Anonymous" : mail.Sender; SendPrivateMessage(mail.Recipient, sender + " mailed: " + mail.Content); mail.SetDelivered(); - LogDebugToConsoleTranslated("bot.mailer.delivered", mail.ToString()); + LogDebugToConsole(string.Format(Translations.bot_mailer_delivered, mail.ToString())); } lock (readWriteLock) @@ -377,10 +377,10 @@ namespace MinecraftClient.ChatBots switch (commandName) { case "getmails": // Sorry, I (ReinforceZwei) replaced "=" to "-" because it would affect the parsing of translation file (key=value) - return Translations.Get("bot.mailer.cmd.getmails", string.Join("\n", mailDatabase)); + return string.Format(Translations.bot_mailer_cmd_getmails, string.Join("\n", mailDatabase)); case "getignored": - return Translations.Get("bot.mailer.cmd.getignored", string.Join("\n", ignoreList)); + return string.Format(Translations.bot_mailer_cmd_getignored, string.Join("\n", ignoreList)); case "addignored": case "removeignored": @@ -397,7 +397,7 @@ namespace MinecraftClient.ChatBots ignoreList.SaveToFile(Config.IgnoreListFile); } } - return Translations.Get("bot.mailer.cmd.ignore.added", args[1]); + return string.Format(Translations.bot_mailer_cmd_ignore_added, args[1]); } else { @@ -409,13 +409,13 @@ namespace MinecraftClient.ChatBots ignoreList.SaveToFile(Config.IgnoreListFile); } } - return Translations.Get("bot.mailer.cmd.ignore.removed", args[1]); + return string.Format(Translations.bot_mailer_cmd_ignore_removed, args[1]); } } - else return Translations.Get("bot.mailer.cmd.ignore.invalid", commandName); + else return string.Format(Translations.bot_mailer_cmd_ignore_invalid, commandName); } } - return Translations.Get("bot.mailer.cmd.help") + ": /help mailer"; + return Translations.bot_mailer_cmd_help + ": /help mailer"; } } } diff --git a/MinecraftClient/ChatBots/Map.cs b/MinecraftClient/ChatBots/Map.cs index a004b82f..d0d01a64 100644 --- a/MinecraftClient/ChatBots/Map.cs +++ b/MinecraftClient/ChatBots/Map.cs @@ -99,12 +99,12 @@ namespace MinecraftClient.ChatBots if (args.Length == 0 || (args.Length == 1 && (args[0].ToLower().Equals("list") || args[0].ToLower().Equals("l")))) { if (cachedMaps.Count == 0) - return Translations.TryGet("bot.map.no_maps"); + return Translations.bot_map_no_maps; - LogToConsoleTranslated("bot.map.received"); + LogToConsole(Translations.bot_map_received); foreach (var (key, value) in new SortedDictionary(cachedMaps)) - LogToConsoleTranslated("bot.map.list_item", key, value.LastUpdated); + LogToConsole(string.Format(Translations.bot_map_list_item, key, value.LastUpdated)); return ""; } @@ -119,7 +119,7 @@ namespace MinecraftClient.ChatBots if (int.TryParse(args[1], NumberStyles.Any, CultureInfo.CurrentCulture, out int mapId)) { if (!cachedMaps.ContainsKey(mapId)) - return Translations.TryGet("bot.map.cmd.not_found", mapId); + return string.Format(Translations.bot_map_cmd_not_found, mapId); try { @@ -135,10 +135,10 @@ namespace MinecraftClient.ChatBots catch (Exception e) { LogDebugToConsole(e.StackTrace!); - return Translations.TryGet("bot.map.failed_to_render", mapId); + return string.Format(Translations.bot_map_failed_to_render, mapId); } } - return Translations.TryGet("bot.map.cmd.invalid_id"); + return Translations.bot_map_cmd_invalid_id; } } return ""; @@ -172,7 +172,7 @@ namespace MinecraftClient.ChatBots cachedMaps.Add(mapid, map); if (Config.Notify_On_First_Update) - LogToConsoleTranslated("bot.map.received_map", map.MapId); + LogToConsole(string.Format(Translations.bot_map_received_map, map.MapId)); } else { @@ -232,7 +232,7 @@ namespace MinecraftClient.ChatBots } file.Close(); - LogToConsole(Translations.TryGet("bot.map.rendered", map.MapId, fileName)); + LogToConsole(string.Format(Translations.bot_map_rendered, map.MapId, fileName)); if (Config.Rasize_Rendered_Image) { @@ -243,7 +243,7 @@ namespace MinecraftClient.ChatBots image.Resize(size); image.Write(fileName); - LogToConsole(Translations.TryGet("bot.map.resized_rendered_image", map.MapId, Config.Resize_To)); + LogToConsole(string.Format(Translations.bot_map_resized_rendered_image, map.MapId, Config.Resize_To)); } } @@ -292,10 +292,10 @@ namespace MinecraftClient.ChatBots newFileName = Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + newFileName; if (Config.Send_Rendered_To_Discord) - LogToConsole(Translations.TryGet("bot.map.sent_to_discord", map.MapId)); + LogToConsole(string.Format(Translations.bot_map_sent_to_discord, map.MapId)); if (Config.Send_Rendered_To_Telegram) - LogToConsole(Translations.TryGet("bot.map.sent_to_telegram", map.MapId)); + LogToConsole(string.Format(Translations.bot_map_sent_to_telegram, map.MapId)); // Wait for 2 seconds and then try until file is free for deletion // 10 seconds timeout @@ -313,7 +313,7 @@ namespace MinecraftClient.ChatBots if (File.Exists(newFileName)) File.Delete(newFileName); } - catch (IOException e) { } + catch (IOException) { } } }); } @@ -331,7 +331,7 @@ namespace MinecraftClient.ChatBots int scaleY = (map.Height + consoleHeight - 1) / consoleHeight; int scale = Math.Max(scaleX, scaleY); if (scale > 1) - sb.AppendLine(Translations.Get("bot.map.scale", map.Width, map.Height, map.Width / scale, map.Height / scale)); + sb.AppendLine(string.Format(Translations.bot_map_scale, map.Width, map.Height, map.Width / scale, map.Height / scale)); for (int base_y = 0; base_y < map.Height; base_y += scale) { diff --git a/MinecraftClient/ChatBots/ReplayCapture.cs b/MinecraftClient/ChatBots/ReplayCapture.cs index ea34e5cb..26315ef2 100644 --- a/MinecraftClient/ChatBots/ReplayCapture.cs +++ b/MinecraftClient/ChatBots/ReplayCapture.cs @@ -40,7 +40,7 @@ namespace MinecraftClient.ChatBots replay.MetaData.serverName = GetServerHost() + GetServerPort(); backupCounter = Settings.DoubleToTick(Config.Backup_Interval); - RegisterChatBotCommand("replay", Translations.Get("bot.replayCapture.cmd"), "replay ", Command); + RegisterChatBotCommand("replay", Translations.bot_replayCapture_cmd, "replay ", Command); } public override void OnNetworkPacket(int packetID, List packetData, bool isLogin, bool isInbound) @@ -80,18 +80,18 @@ namespace MinecraftClient.ChatBots case "save": { replay.CreateBackupReplay(@"replay_recordings\" + replay.GetReplayDefaultName()); - return Translations.Get("bot.replayCapture.created"); + return Translations.bot_replayCapture_created; } case "stop": { replay.OnShutDown(); - return Translations.Get("bot.replayCapture.stopped"); + return Translations.bot_replayCapture_stopped; } } } - return Translations.Get("general.available_cmd", "save, stop"); + return string.Format(Translations.general_available_cmd, "save, stop"); } - else return Translations.Get("bot.replayCapture.restart"); + else return Translations.bot_replayCapture_restart; } catch (Exception e) { diff --git a/MinecraftClient/ChatBots/Script.cs b/MinecraftClient/ChatBots/Script.cs index c72be5a2..11b9d97e 100644 --- a/MinecraftClient/ChatBots/Script.cs +++ b/MinecraftClient/ChatBots/Script.cs @@ -118,7 +118,7 @@ namespace MinecraftClient.ChatBots caller = type.Name; } catch { } - ConsoleIO.WriteLineFormatted(Translations.Get("bot.script.not_found", caller, filename)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.bot_script_not_found, caller, filename)); } return false; @@ -134,14 +134,14 @@ namespace MinecraftClient.ChatBots thread = null; if (!String.IsNullOrEmpty(owner)) - SendPrivateMessage(owner, Translations.Get("bot.script.pm.loaded", file)); + SendPrivateMessage(owner, string.Format(Translations.bot_script_pm_loaded, file)); } else { - LogToConsoleTranslated("bot.script.file_not_found", System.IO.Path.GetFullPath(file)); + LogToConsole(string.Format(Translations.bot_script_file_not_found, System.IO.Path.GetFullPath(file))); if (!String.IsNullOrEmpty(owner)) - SendPrivateMessage(owner, Translations.Get("bot.script.file_not_found", file)); + SendPrivateMessage(owner, string.Format(Translations.bot_script_file_not_found, file)); UnloadBot(); //No need to keep the bot active } @@ -162,7 +162,7 @@ namespace MinecraftClient.ChatBots } catch (CSharpException e) { - string errorMessage = Translations.Get("bot.script.fail", file, e.ExceptionType); + string errorMessage = string.Format(Translations.bot_script_fail, file, e.ExceptionType); LogToConsole(errorMessage); if (owner != null) SendPrivateMessage(owner, errorMessage); diff --git a/MinecraftClient/ChatBots/ScriptScheduler.cs b/MinecraftClient/ChatBots/ScriptScheduler.cs index 1fc14b73..21e9a977 100644 --- a/MinecraftClient/ChatBots/ScriptScheduler.cs +++ b/MinecraftClient/ChatBots/ScriptScheduler.cs @@ -58,26 +58,26 @@ namespace MinecraftClient.ChatBots || (task.Trigger_On_Interval.Enable && task.Trigger_On_Interval.MinTime > 0)) { if (Settings.Config.Logging.DebugMessages) - LogToConsole(BotName, Translations.TryGet("bot.scriptScheduler.loaded_task", Task2String(task))); + LogToConsole(BotName, string.Format(Translations.bot_scriptScheduler_loaded_task, Task2String(task))); task.Trigger_On_Interval_Countdown = Settings.DoubleToTick(task.Trigger_On_Interval.MinTime); //Init countdown for interval } else { if (Settings.Config.Logging.DebugMessages) - LogToConsole(BotName, Translations.TryGet("bot.scriptScheduler.no_trigger", Task2String(task))); + LogToConsole(BotName, string.Format(Translations.bot_scriptScheduler_no_trigger, Task2String(task))); } } else { task.Action ??= string.Empty; if (Settings.Config.Logging.DebugMessages) - LogToConsole(BotName, Translations.TryGet("bot.scriptScheduler.no_action", Task2String(task))); + LogToConsole(BotName, string.Format(Translations.bot_scriptScheduler_no_action, Task2String(task))); } } if (Enabled && TaskList.Length == 0) { - LogToConsole(BotName, Translations.TryGet("general.bot_unload")); + LogToConsole(BotName, Translations.general_bot_unload); Enabled = false; } } @@ -189,7 +189,7 @@ namespace MinecraftClient.ChatBots if (!task.Trigger_On_Time_Already_Triggered) { task.Trigger_On_Time_Already_Triggered = true; - LogDebugToConsoleTranslated("bot.scriptScheduler.running_time", task.Action); + LogDebugToConsole(string.Format(Translations.bot_scriptScheduler_running_time, task.Action)); PerformInternalCommand(task.Action); } } @@ -207,7 +207,7 @@ namespace MinecraftClient.ChatBots { if (task.Trigger_On_Login || (firstlogin_done == false && task.Trigger_On_First_Login)) { - LogDebugToConsoleTranslated("bot.scriptScheduler.running_login", task.Action); + LogDebugToConsole(string.Format(Translations.bot_scriptScheduler_running_login, task.Action)); PerformInternalCommand(task.Action); } } @@ -227,7 +227,7 @@ namespace MinecraftClient.ChatBots task.Trigger_On_Interval_Countdown = random.Next( Settings.DoubleToTick(task.Trigger_On_Interval.MinTime), Settings.DoubleToTick(task.Trigger_On_Interval.MaxTime) ); - LogDebugToConsoleTranslated("bot.scriptScheduler.running_inverval", task.Action); + LogDebugToConsole(string.Format(Translations.bot_scriptScheduler_running_inverval, task.Action)); PerformInternalCommand(task.Action); } else task.Trigger_On_Interval_Countdown--; @@ -243,8 +243,8 @@ namespace MinecraftClient.ChatBots private static string Task2String(TaskConfig task) { - return Translations.Get( - "bot.scriptScheduler.task", + return string.Format( + Translations.bot_scriptScheduler_task, task.Trigger_On_First_Login, task.Trigger_On_Login, task.Trigger_On_Times.Enable, diff --git a/MinecraftClient/ChatBots/TelegramBridge.cs b/MinecraftClient/ChatBots/TelegramBridge.cs index 7b9f56d9..fb1a93ca 100644 --- a/MinecraftClient/ChatBots/TelegramBridge.cs +++ b/MinecraftClient/ChatBots/TelegramBridge.cs @@ -1,10 +1,8 @@ using System; -using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading; using System.Threading.Tasks; -using DSharpPlus.Entities; using Telegram.Bot; using Telegram.Bot.Exceptions; using Telegram.Bot.Polling; @@ -93,13 +91,13 @@ namespace MinecraftClient.ChatBots { try { - SendMessage(Translations.TryGet("bot.TelegramBridge.disconnected")); + SendMessage(Translations.bot_TelegramBridge_disconnected); cancellationToken?.Cancel(); botClient = null; } catch (Exception e) { - LogToConsole("§w§l§f" + Translations.TryGet("bot.TelegramBridge.canceled_sending")); + LogToConsole("§w§l§f" + Translations.bot_TelegramBridge_canceled_sending); LogDebugToConsole(e); } @@ -120,34 +118,33 @@ namespace MinecraftClient.ChatBots { string direction = args[1].ToLower().Trim(); - string? bridgeName = ""; - + string bridgeName; switch (direction) { case "b": case "both": - bridgeName = "bot.TelegramBridge.direction.both"; + bridgeName = Translations.bot_TelegramBridge_direction_both; bridgeDirection = BridgeDirection.Both; break; case "mc": case "minecraft": - bridgeName = "bot.TelegramBridge.direction.minecraft"; + bridgeName = Translations.bot_TelegramBridge_direction_minecraft; bridgeDirection = BridgeDirection.Minecraft; break; case "t": case "tg": case "telegram": - bridgeName = "bot.TelegramBridge.direction.discord"; + bridgeName = Translations.bot_TelegramBridge_direction_Telegram; bridgeDirection = BridgeDirection.Telegram; break; default: - return Translations.TryGet("bot.TelegramBridge.invalid_direction"); + return Translations.bot_TelegramBridge_invalid_direction; } - return Translations.TryGet("bot.TelegramBridge.direction", Translations.TryGet(bridgeName)); + return string.Format(Translations.bot_TelegramBridge_direction, bridgeName); }; } @@ -191,7 +188,7 @@ namespace MinecraftClient.ChatBots } catch (Exception e) { - LogToConsole("§w§l§f" + Translations.TryGet("bot.TelegramBridge.canceled_sending")); + LogToConsole("§w§l§f" + Translations.bot_TelegramBridge_canceled_sending); LogDebugToConsole(e); } } @@ -214,7 +211,7 @@ namespace MinecraftClient.ChatBots } catch (Exception e) { - LogToConsole("§w§l§f" + Translations.TryGet("bot.TelegramBridge.canceled_sending")); + LogToConsole("§w§l§f" + Translations.bot_TelegramBridge_canceled_sending); LogDebugToConsole(e); } } @@ -230,13 +227,13 @@ namespace MinecraftClient.ChatBots { if (string.IsNullOrEmpty(Config.Token.Trim())) { - LogToConsole(Translations.TryGet("bot.TelegramBridge.missing_token")); + LogToConsole(Translations.bot_TelegramBridge_missing_token); UnloadBot(); return; } if (string.IsNullOrEmpty(Config.ChannelId.Trim())) - LogToConsole("§w§l§f" + Translations.TryGet("bot.TelegramBridge.missing_channel_id")); + LogToConsole("§w§l§f" + Translations.bot_TelegramBridge_missing_channel_id); botClient = new TelegramBotClient(Config.Token.Trim()); cancellationToken = new CancellationTokenSource(); @@ -254,13 +251,13 @@ namespace MinecraftClient.ChatBots IsConnected = true; - SendMessage("✅ " + Translations.TryGet("bot.TelegramBridge.connected")); - LogToConsole("§y§l§f" + Translations.TryGet("bot.TelegramBridge.connected")); + SendMessage($"✅ {Translations.bot_TelegramBridge_connected}"); + LogToConsole($"§y§l§f{Translations.bot_TelegramBridge_connected}"); if (Config.Authorized_Chat_Ids.Length == 0) { - SendMessage("⚠️ *" + Translations.TryGet("bot.TelegramBridge.missing_authorized_channels") + "* ⚠️"); - LogToConsole("§w§l§f" + Translations.TryGet("bot.TelegramBridge.missing_authorized_channels")); + SendMessage($"⚠️ *{Translations.bot_TelegramBridge_missing_authorized_channels}* ⚠️"); + LogToConsole($"§w§l§f{Translations.bot_TelegramBridge_missing_authorized_channels}"); return; } @@ -268,7 +265,7 @@ namespace MinecraftClient.ChatBots } catch (Exception e) { - LogToConsole("§w§l§f" + Translations.TryGet("bot.TelegramBridge.unknown_error")); + LogToConsole($"§w§l§f{Translations.bot_TelegramBridge_unknown_error}"); LogToConsole(e); return; } @@ -309,7 +306,7 @@ namespace MinecraftClient.ChatBots await botClient.SendTextMessageAsync( chatId: chatId, replyToMessageId: message.MessageId, - text: Translations.TryGet("bot.TelegramBridge.unauthorized"), + text: Translations.bot_TelegramBridge_unauthorized, cancellationToken: _cancellationToken, parseMode: ParseMode.Markdown); return; @@ -335,7 +332,7 @@ namespace MinecraftClient.ChatBots chatId: chatId, replyToMessageId: message.MessageId, - text: $"{Translations.TryGet("bot.TelegramBridge.command_executed")}:\n\n{result}", + text: $"{Translations.bot_TelegramBridge_command_executed}:\n\n{result}", cancellationToken: _cancellationToken, parseMode: ParseMode.Markdown); } diff --git a/MinecraftClient/ChatBots/TestBot.cs b/MinecraftClient/ChatBots/TestBot.cs index b9ac86a2..f96e9e8a 100644 --- a/MinecraftClient/ChatBots/TestBot.cs +++ b/MinecraftClient/ChatBots/TestBot.cs @@ -14,11 +14,11 @@ if (IsPrivateMessage(text, ref message, ref username)) { - LogToConsoleTranslated("bot.testBot.told", username, message); + LogToConsole(string.Format(Translations.bot_testBot_told, username, message)); } else if (IsChatMessage(text, ref message, ref username)) { - LogToConsoleTranslated("bot.testBot.said", username, message); + LogToConsole(string.Format(Translations.bot_testBot_said, username, message)); } } } diff --git a/MinecraftClient/Command.cs b/MinecraftClient/Command.cs index 627542c6..e17e8f33 100644 --- a/MinecraftClient/Command.cs +++ b/MinecraftClient/Command.cs @@ -28,8 +28,8 @@ namespace MinecraftClient /// Translated command description public string GetCmdDescTranslated() { - string s = string.IsNullOrEmpty(CmdUsage) || string.IsNullOrEmpty(CmdDesc) ? "" : ": "; // If either one is empty, no colon : - return CmdUsage + s + Translations.TryGet(CmdDesc); + string s = (string.IsNullOrEmpty(CmdUsage) || string.IsNullOrEmpty(CmdDesc)) ? "" : ": "; // If either one is empty, no colon : + return CmdUsage + s + CmdDesc; } /// diff --git a/MinecraftClient/Commands/Animation.cs b/MinecraftClient/Commands/Animation.cs index cdfa8ad7..6c142bde 100644 --- a/MinecraftClient/Commands/Animation.cs +++ b/MinecraftClient/Commands/Animation.cs @@ -6,7 +6,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "animation"; } } public override string CmdUsage { get { return "animation "; } } - public override string CmdDesc { get { return "cmd.animation.desc"; } } + public override string CmdDesc { get { return Translations.cmd_animation_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -18,12 +18,12 @@ namespace MinecraftClient.Commands if (args[0] == "mainhand" || args[0] == "0") { handler.DoAnimation(0); - return Translations.Get("general.done"); + return Translations.general_done; } else if (args[0] == "offhand" || args[0] == "1") { handler.DoAnimation(1); - return Translations.Get("general.done"); + return Translations.general_done; } else { diff --git a/MinecraftClient/Commands/Bed.cs b/MinecraftClient/Commands/Bed.cs index ea2b4b1b..7ac4c828 100644 --- a/MinecraftClient/Commands/Bed.cs +++ b/MinecraftClient/Commands/Bed.cs @@ -11,7 +11,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "bed"; } } public override string CmdUsage { get { return "bed leave|sleep |sleep "; } } - public override string CmdDesc { get { return "cmd.bed.desc"; } } + public override string CmdDesc { get { return Translations.cmd_bed_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -24,20 +24,20 @@ namespace MinecraftClient.Commands if (subcommand.Equals("leave") || subcommand.Equals("l")) { handler.SendEntityAction(Protocol.EntityActionType.LeaveBed); - return Translations.TryGet("cmd.bed.leaving"); + return Translations.cmd_bed_leaving; } if (subcommand.Equals("sleep") || subcommand.Equals("s")) { if (!handler.GetTerrainEnabled()) - return Translations.TryGet("error.terrain_not_enabled"); + return Translations.error_terrain_not_enabled; if (args.Length == 2) { if (!int.TryParse(args[1], NumberStyles.Any, CultureInfo.CurrentCulture, out int radius)) return CmdUsage; - handler.GetLogger().Info(Translations.TryGet("cmd.bed.searching", radius)); + handler.GetLogger().Info(string.Format(Translations.cmd_bed_searching, radius)); Location current = handler.GetCurrentLocation(); Location bedLocation = current; @@ -75,12 +75,12 @@ namespace MinecraftClient.Commands } if (!found) - return Translations.TryGet("cmd.bed.bed_not_found"); + return Translations.cmd_bed_bed_not_found; - handler.Log.Info(Translations.TryGet("cmd.bed.found_a_bed_at", bedLocation.X, bedLocation.Y, bedLocation.Z)); + handler.Log.Info(string.Format(Translations.cmd_bed_found_a_bed_at, bedLocation.X, bedLocation.Y, bedLocation.Z)); if (!Movement.CheckChunkLoading(handler.GetWorld(), current, bedLocation)) - return Translations.Get("cmd.move.chunk_not_loaded", bedLocation.X, bedLocation.Y, bedLocation.Z); + return string.Format(Translations.cmd_move_chunk_not_loaded, bedLocation.X, bedLocation.Y, bedLocation.Z); if (handler.MoveTo(bedLocation)) { @@ -100,27 +100,27 @@ namespace MinecraftClient.Commands if (!atTheLocation) { - handler.Log.Info(Translations.TryGet("cmd.bed.failed_to_reach_in_time", bedLocation.X, bedLocation.Y, bedLocation.Z)); + handler.Log.Info(string.Format(Translations.cmd_bed_failed_to_reach_in_time, bedLocation.X, bedLocation.Y, bedLocation.Z)); return; } - handler.Log.Info(Translations.TryGet("cmd.bed.moving", bedLocation.X, bedLocation.Y, bedLocation.Z)); + handler.Log.Info(string.Format(Translations.cmd_bed_moving, bedLocation.X, bedLocation.Y, bedLocation.Z)); bool res = handler.PlaceBlock(bedLocation, Direction.Down); - handler.Log.Info(Translations.TryGet( - "cmd.bed.trying_to_use", + handler.Log.Info(string.Format( + Translations.cmd_bed_trying_to_use, bedLocation.X, bedLocation.Y, bedLocation.Z, - Translations.TryGet(res ? "cmd.bed.in" : "cmd.bed.not_in") + res ? Translations.cmd_bed_in : Translations.cmd_bed_not_in )); }); return ""; } - return Translations.Get("cmd.bed.cant_reach_safely"); + return Translations.cmd_bed_cant_reach_safely; } if (args.Length >= 3) @@ -129,16 +129,16 @@ namespace MinecraftClient.Commands Location blockCenter = block.ToCenter(); if (!handler.GetWorld().GetBlock(block).Type.IsBed()) - return Translations.TryGet("cmd.bed.not_a_bed", blockCenter.X, blockCenter.Y, blockCenter.Z); + return string.Format(Translations.cmd_bed_not_a_bed, blockCenter.X, blockCenter.Y, blockCenter.Z); bool res = handler.PlaceBlock(block, Direction.Down); - return Translations.TryGet( - "cmd.bed.trying_to_use", + return string.Format( + Translations.cmd_bed_trying_to_use, blockCenter.X, blockCenter.Y, blockCenter.Z, - Translations.TryGet(res ? "cmd.bed.in" : "cmd.bed.not_in") + res ? Translations.cmd_bed_in : Translations.cmd_bed_not_in ); } } diff --git a/MinecraftClient/Commands/BlockInfo.cs b/MinecraftClient/Commands/BlockInfo.cs index 5aa8ec75..79ebfe55 100644 --- a/MinecraftClient/Commands/BlockInfo.cs +++ b/MinecraftClient/Commands/BlockInfo.cs @@ -8,12 +8,12 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "blockinfo"; } } public override string CmdUsage { get { return "blockinfo [-s]"; } } - public override string CmdDesc { get { return "cmd.blockinfo.desc"; } } + public override string CmdDesc { get { return Translations.cmd_blockinfo_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { if (!handler.GetTerrainEnabled()) - return Translations.TryGet("error.terrain_not_enabled"); + return Translations.error_terrain_not_enabled; string[] args = GetArgs(command); @@ -27,12 +27,12 @@ namespace MinecraftClient.Commands Block block = handler.GetWorld().GetBlock(targetBlockLocation); - handler.Log.Info(Translations.TryGet("cmd.blockinfo.BlockType") + ": " + block.GetTypeString()); + handler.Log.Info($"{Translations.cmd_blockinfo_BlockType}: {block.GetTypeString()}"); if (reportSurrounding) { StringBuilder sb = new(); - sb.AppendLine(Translations.TryGet("cmd.blockinfo.BlocksAround") + ":"); + sb.AppendLine($"{Translations.cmd_blockinfo_BlocksAround}:"); Block blockXPositive = handler.GetWorld().GetBlock(new Location(targetBlockLocation.X + 1, targetBlockLocation.Y, targetBlockLocation.Z)); Block blockXNegative = handler.GetWorld().GetBlock(new Location(targetBlockLocation.X - 1, targetBlockLocation.Y, targetBlockLocation.Z)); @@ -41,24 +41,18 @@ namespace MinecraftClient.Commands Block blockZPositive = handler.GetWorld().GetBlock(new Location(targetBlockLocation.X, targetBlockLocation.Y, targetBlockLocation.Z + 1)); Block blockZNegative = handler.GetWorld().GetBlock(new Location(targetBlockLocation.X, targetBlockLocation.Y, targetBlockLocation.Z - 1)); - sb.AppendLine("[X " + Translations.TryGet("cmd.blockinfo.Positive") + "] " + - Translations.TryGet("cmd.blockinfo.BlockType") + ": " + blockXPositive.GetTypeString()); - sb.AppendLine("[X " + Translations.TryGet("cmd.blockinfo.Negative") + "] " + - Translations.TryGet("cmd.blockinfo.BlockType") + ": " + blockXNegative.GetTypeString()); + sb.AppendLine($"[X {Translations.cmd_blockinfo_Positive}] {Translations.cmd_blockinfo_BlockType}: {blockXPositive.GetTypeString()}"); + sb.AppendLine($"[X {Translations.cmd_blockinfo_Negative}] {Translations.cmd_blockinfo_BlockType}: {blockXNegative.GetTypeString()}"); sb.AppendLine(" "); - sb.AppendLine("[Y " + Translations.TryGet("cmd.blockinfo.Positive") + "] " + - Translations.TryGet("cmd.blockinfo.BlockType") + ": " + blockYPositive.GetTypeString()); - sb.AppendLine("[Y " + Translations.TryGet("cmd.blockinfo.Negative") + "] " + - Translations.TryGet("cmd.blockinfo.BlockType") + ": " + blockYNegative.GetTypeString()); + sb.AppendLine($"[Y {Translations.cmd_blockinfo_Positive}] {Translations.cmd_blockinfo_BlockType}: {blockYPositive.GetTypeString()}"); + sb.AppendLine($"[Y {Translations.cmd_blockinfo_Negative}] {Translations.cmd_blockinfo_BlockType}: {blockYNegative.GetTypeString()}"); sb.AppendLine(" "); - sb.AppendLine("[Z " + Translations.TryGet("cmd.blockinfo.Positive") + "] " + - Translations.TryGet("cmd.blockinfo.BlockType") + ": " + blockZPositive.GetTypeString()); - sb.AppendLine("[Z " + Translations.TryGet("cmd.blockinfo.Negative") + "] " + - Translations.TryGet("cmd.blockinfo.BlockType") + ": " + blockZNegative.GetTypeString()); + sb.AppendLine($"[Z {Translations.cmd_blockinfo_Positive}] {Translations.cmd_blockinfo_BlockType}: {blockZPositive.GetTypeString()}"); + sb.AppendLine($"[Z {Translations.cmd_blockinfo_Negative}] {Translations.cmd_blockinfo_BlockType}: {blockZNegative.GetTypeString()}"); handler.Log.Info(sb.ToString()); } diff --git a/MinecraftClient/Commands/Bots.cs b/MinecraftClient/Commands/Bots.cs index 46864dd1..b721eeb5 100644 --- a/MinecraftClient/Commands/Bots.cs +++ b/MinecraftClient/Commands/Bots.cs @@ -8,7 +8,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "bots"; } } public override string CmdUsage { get { return "bots [list|unload ]"; } } - public override string CmdDesc { get { return "cmd.bots.desc"; } } + public override string CmdDesc { get { return Translations.cmd_bots_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -25,7 +25,7 @@ namespace MinecraftClient.Commands int length = handler.GetLoadedChatBots().Count; if (length == 0) - return Translations.TryGet("cmd.bots.noloaded"); + return Translations.cmd_bots_noloaded; for (int i = 0; i < length; i++) { @@ -36,7 +36,7 @@ namespace MinecraftClient.Commands } - return Translations.Get("cmd.bots.list") + ": " + sb.ToString(); + return Translations.cmd_bots_list + ": " + sb.ToString(); } } @@ -49,20 +49,20 @@ namespace MinecraftClient.Commands if (botName.ToLower().Equals("all", StringComparison.OrdinalIgnoreCase)) { if (handler.GetLoadedChatBots().Count == 0) - return Translations.TryGet("cmd.bots.noloaded"); + return Translations.cmd_bots_noloaded; handler.UnloadAllBots(); - return Translations.TryGet("cmd.bots.unloaded_all"); + return Translations.cmd_bots_unloaded_all; } else { ChatBot? bot = handler.GetLoadedChatBots().Find(bot => bot.GetType().Name.ToLower() == botName.ToLower()); if (bot == null) - return Translations.TryGet("cmd.bots.notfound", botName); + return string.Format(Translations.cmd_bots_notfound, botName); handler.BotUnLoad(bot); - return Translations.TryGet("cmd.bots.unloaded", botName); + return string.Format(Translations.cmd_bots_unloaded, botName); } } } diff --git a/MinecraftClient/Commands/ChangeSlot.cs b/MinecraftClient/Commands/ChangeSlot.cs index f278cac7..1af95bff 100644 --- a/MinecraftClient/Commands/ChangeSlot.cs +++ b/MinecraftClient/Commands/ChangeSlot.cs @@ -7,12 +7,12 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "changeslot"; } } public override string CmdUsage { get { return "changeslot <1-9>"; } } - public override string CmdDesc { get { return "cmd.changeSlot.desc"; } } + public override string CmdDesc { get { return Translations.cmd_changeSlot_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { if (!handler.GetInventoryEnabled()) - return Translations.Get("extra.inventory_required"); + return Translations.extra_inventory_required; if (HasArg(command)) { @@ -23,17 +23,17 @@ namespace MinecraftClient.Commands } catch (FormatException) { - return Translations.Get("cmd.changeSlot.nan"); + return Translations.cmd_changeSlot_nan; } if (slot >= 1 && slot <= 9) { if (handler.ChangeSlot(slot -= 1)) { - return Translations.Get("cmd.changeSlot.changed", (slot += 1)); + return string.Format(Translations.cmd_changeSlot_changed, (slot += 1)); } else { - return Translations.Get("cmd.changeSlot.fail"); + return Translations.cmd_changeSlot_fail; } } } diff --git a/MinecraftClient/Commands/Chunk.cs b/MinecraftClient/Commands/Chunk.cs index 4007d4e2..d4c8a8f6 100644 --- a/MinecraftClient/Commands/Chunk.cs +++ b/MinecraftClient/Commands/Chunk.cs @@ -10,7 +10,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "chunk"; } } public override string CmdUsage { get { return "chunk status [chunkX chunkZ|locationX locationY locationZ]"; } } - public override string CmdDesc { get { return "cmd.chunk.desc"; } } + public override string CmdDesc { get { return Translations.cmd_chunk_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -32,16 +32,16 @@ namespace MinecraftClient.Commands sb.Append(World.GetChunkLoadingStatus(handler.GetWorld())); sb.Append('\n'); - sb.AppendLine(Translations.Get("cmd.chunk.current", current, current.ChunkX, current.ChunkZ)); + sb.AppendLine(string.Format(Translations.cmd_chunk_current, current, current.ChunkX, current.ChunkZ)); if (markedChunkPos != null) { - sb.Append(Translations.Get("cmd.chunk.marked")); + sb.Append(Translations.cmd_chunk_marked); if (args.Length == 1 + 3) sb.Append(String.Format("X:{0:0.00} Y:{1:0.00} Z:{2:0.00}, ", double.Parse(args[1], NumberStyles.Any, CultureInfo.CurrentCulture), double.Parse(args[2], NumberStyles.Any, CultureInfo.CurrentCulture), double.Parse(args[3], NumberStyles.Any, CultureInfo.CurrentCulture))); - sb.AppendLine(Translations.Get("cmd.chunk.chunk_pos", markChunkX, markChunkZ));; + sb.AppendLine(string.Format(Translations.cmd_chunk_chunk_pos, markChunkX, markChunkZ));; } int consoleHeight = Math.Max(Math.Max(Console.BufferHeight, Settings.Config.Main.Advanced.MinTerminalHeight) - 2, 25); @@ -127,7 +127,7 @@ namespace MinecraftClient.Commands if (markedChunkPos != null && (((Math.Max(bottomMost, markChunkZ) - Math.Min(topMost, markChunkZ) + 1) > consoleHeight) || ((Math.Max(rightMost, markChunkX) - Math.Min(leftMost, markChunkX) + 1) > consoleWidth))) - sb.AppendLine(Translations.Get("cmd.chunk.outside")); + sb.AppendLine(Translations.cmd_chunk_outside); else { topMost = Math.Min(topMost, markChunkZ); @@ -165,7 +165,7 @@ namespace MinecraftClient.Commands sb.Append('\n'); } - sb.AppendLine(Translations.Get("cmd.chunk.icon", "§z §r", "§w §r", chunkStatusStr[0], chunkStatusStr[1], chunkStatusStr[2])); + sb.AppendLine(string.Format(Translations.cmd_chunk_icon, "§z §r", "§w §r", chunkStatusStr[0], chunkStatusStr[1], chunkStatusStr[2])); return sb.ToString(); } else if (args[0] == "setloading") // For debugging @@ -173,7 +173,7 @@ namespace MinecraftClient.Commands Tuple? chunkPos = ParseChunkPos(args); if (chunkPos != null) { - handler.Log.Info(Translations.Get("cmd.chunk.for_debug")); + handler.Log.Info(Translations.cmd_chunk_for_debug); World world = handler.GetWorld(); (int chunkX, int chunkZ) = chunkPos; ChunkColumn? chunkColumn = world[chunkX, chunkZ]; @@ -190,7 +190,7 @@ namespace MinecraftClient.Commands Tuple? chunkPos = ParseChunkPos(args); if (chunkPos != null) { - handler.Log.Info(Translations.Get("cmd.chunk.for_debug")); + handler.Log.Info(Translations.cmd_chunk_for_debug); World world = handler.GetWorld(); (int chunkX, int chunkZ) = chunkPos; ChunkColumn? chunkColumn = world[chunkX, chunkZ]; @@ -207,7 +207,7 @@ namespace MinecraftClient.Commands Tuple? chunkPos = ParseChunkPos(args); if (chunkPos != null) { - handler.Log.Info(Translations.Get("cmd.chunk.for_debug")); + handler.Log.Info(Translations.cmd_chunk_for_debug); World world = handler.GetWorld(); (int chunkX, int chunkZ) = chunkPos; world[chunkX, chunkZ] = null; diff --git a/MinecraftClient/Commands/Connect.cs b/MinecraftClient/Commands/Connect.cs index 12c94a3f..7a131fa4 100644 --- a/MinecraftClient/Commands/Connect.cs +++ b/MinecraftClient/Commands/Connect.cs @@ -6,7 +6,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "connect"; } } public override string CmdUsage { get { return "connect [account]"; } } - public override string CmdDesc { get { return "cmd.connect.desc"; } } + public override string CmdDesc { get { return Translations.cmd_connect_desc; } } public override string Run(McClient? handler, string command, Dictionary? localVars) { @@ -17,7 +17,7 @@ namespace MinecraftClient.Commands { if (!Settings.Config.Main.Advanced.SetAccount(args[1])) { - return Translations.Get("cmd.connect.unknown", args[1]); + return string.Format(Translations.cmd_connect_unknown, args[1]); } } @@ -26,7 +26,7 @@ namespace MinecraftClient.Commands Program.Restart(); return ""; } - else return Translations.Get("cmd.connect.invalid_ip", args[0]); + else return string.Format(Translations.cmd_connect_invalid_ip, args[0]); } else return GetCmdDescTranslated(); } diff --git a/MinecraftClient/Commands/Debug.cs b/MinecraftClient/Commands/Debug.cs index c2bbda8a..56e5f0a4 100644 --- a/MinecraftClient/Commands/Debug.cs +++ b/MinecraftClient/Commands/Debug.cs @@ -6,7 +6,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "debug"; } } public override string CmdUsage { get { return "debug [on|off]"; } } - public override string CmdDesc { get { return "cmd.debug.desc"; } } + public override string CmdDesc { get { return Translations.cmd_debug_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -14,7 +14,10 @@ namespace MinecraftClient.Commands Settings.Config.Logging.DebugMessages = (GetArg(command).ToLower() == "on"); else Settings.Config.Logging.DebugMessages = !Settings.Config.Logging.DebugMessages; - return Translations.Get(Settings.Config.Logging.DebugMessages ? "cmd.debug.state_on" : "cmd.debug.state_off"); + if (Settings.Config.Logging.DebugMessages) + return Translations.cmd_debug_state_on; + else + return Translations.cmd_debug_state_off; } } } diff --git a/MinecraftClient/Commands/Dig.cs b/MinecraftClient/Commands/Dig.cs index 59b9d79d..2891b1a7 100644 --- a/MinecraftClient/Commands/Dig.cs +++ b/MinecraftClient/Commands/Dig.cs @@ -8,25 +8,25 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "dig"; } } public override string CmdUsage { get { return "dig "; } } - public override string CmdDesc { get { return "cmd.dig.desc"; } } + public override string CmdDesc { get { return Translations.cmd_dig_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { if (!handler.GetTerrainEnabled()) - return Translations.Get("extra.terrainandmovement_required"); + return Translations.extra_terrainandmovement_required; string[] args = GetArgs(command); if (args.Length == 0) { (bool hasBlock, Location blockLoc, Block block) = RaycastHelper.RaycastBlock(handler, 4.5, false); if (!hasBlock) - return Translations.Get("cmd.dig.too_far"); + return Translations.cmd_dig_too_far; else if (block.Type == Material.Air) - return Translations.Get("cmd.dig.no_block"); + return Translations.cmd_dig_no_block; else if (handler.DigBlock(blockLoc, lookAtBlock: false)) - return Translations.Get("cmd.dig.dig", blockLoc.X, blockLoc.Y, blockLoc.Z, block.GetTypeString()); + return string.Format(Translations.cmd_dig_dig, blockLoc.X, blockLoc.Y, blockLoc.Z, block.GetTypeString()); else - return Translations.Get("cmd.dig.fail"); + return Translations.cmd_dig_fail; } else if (args.Length == 3) { @@ -35,17 +35,17 @@ namespace MinecraftClient.Commands Location current = handler.GetCurrentLocation(); Location blockToBreak = Location.Parse(current.ToFloor(), args[0], args[1], args[2]); if (blockToBreak.DistanceSquared(current.EyesLocation()) > 25) - return Translations.Get("cmd.dig.too_far"); + return Translations.cmd_dig_too_far; Block block = handler.GetWorld().GetBlock(blockToBreak); if (block.Type == Material.Air) - return Translations.Get("cmd.dig.no_block"); + return Translations.cmd_dig_no_block; else if (handler.DigBlock(blockToBreak)) { blockToBreak = blockToBreak.ToCenter(); - return Translations.Get("cmd.dig.dig", blockToBreak.X, blockToBreak.Y, blockToBreak.Z, block.GetTypeString()); + return string.Format(Translations.cmd_dig_dig, blockToBreak.X, blockToBreak.Y, blockToBreak.Z, block.GetTypeString()); } else - return Translations.Get("cmd.dig.fail"); + return Translations.cmd_dig_fail; } catch (FormatException) { return GetCmdDescTranslated(); } } diff --git a/MinecraftClient/Commands/DropItem.cs b/MinecraftClient/Commands/DropItem.cs index 54f93254..ec1f77d0 100644 --- a/MinecraftClient/Commands/DropItem.cs +++ b/MinecraftClient/Commands/DropItem.cs @@ -8,16 +8,14 @@ namespace MinecraftClient.Commands class DropItem : Command { public override string CmdName { get { return "dropitem"; } } - - public override string CmdDesc { get { return "cmd.dropItem.desc"; } } - public override string CmdUsage { get { return "/dropitem "; } } + public override string CmdDesc { get { return Translations.cmd_dropItem_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { if (!handler.GetInventoryEnabled()) { - return Translations.Get("extra.inventory_required"); + return Translations.extra_inventory_required; } if (HasArg(command)) { @@ -38,11 +36,11 @@ namespace MinecraftClient.Commands { handler.DoWindowAction(inventoryId, slot, WindowActionType.DropItemStack); } - return Translations.Get("cmd.dropItem.dropped", itemType.ToString(), inventoryId); + return string.Format(Translations.cmd_dropItem_dropped, itemType.ToString(), inventoryId); } else { - return Translations.Get("cmd.dropItem.unknown_item", arg); + return string.Format(Translations.cmd_dropItem_unknown_item, arg); } } else diff --git a/MinecraftClient/Commands/Enchant.cs b/MinecraftClient/Commands/Enchant.cs index a75317e2..263d351a 100644 --- a/MinecraftClient/Commands/Enchant.cs +++ b/MinecraftClient/Commands/Enchant.cs @@ -8,12 +8,12 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "enchant"; } } public override string CmdUsage { get { return "enchant "; } } - public override string CmdDesc { get { return "cmd.enchant.desc"; } } + public override string CmdDesc { get { return Translations.cmd_enchant_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { if (!handler.GetInventoryEnabled()) - return Translations.TryGet("error.inventoryhandling_not_enabled"); + return Translations.error_inventoryhandling_not_enabled; if (HasArg(command)) { @@ -28,7 +28,7 @@ namespace MinecraftClient.Commands }; if (slotId == -1) - return Translations.TryGet("cmd.enchant.invalid_slot"); + return Translations.cmd_enchant_invalid_slot; Container? enchantingTable = null; @@ -42,28 +42,28 @@ namespace MinecraftClient.Commands } if (enchantingTable == null) - return Translations.TryGet("cmd.enchant.enchanting_table_not_opened"); + return Translations.cmd_enchant_enchanting_table_not_opened; int[] emptySlots = enchantingTable.GetEmpytSlots(); if (emptySlots.Contains(0)) - return Translations.TryGet("cmd.enchant.enchanting_no_item"); + return Translations.cmd_enchant_enchanting_no_item; if (emptySlots.Contains(1)) - return Translations.TryGet("cmd.enchant.enchanting_no_lapis"); + return Translations.cmd_enchant_enchanting_no_lapis; Item lapisSlot = enchantingTable.Items[1]; if (lapisSlot.Type != ItemType.LapisLazuli) - return Translations.TryGet("cmd.enchant.enchanting_no_lapis"); + return Translations.cmd_enchant_enchanting_no_lapis; if (lapisSlot.Count < 3) - return Translations.TryGet("cmd.enchant.enchanting_no_lapis"); + return Translations.cmd_enchant_enchanting_no_lapis; EnchantmentData? enchantment = handler.GetLastEnchantments(); if (enchantment == null) - return Translations.TryGet("cmd.enchant.no_enchantments"); + return Translations.cmd_enchant_no_enchantments; short requiredLevel = slotId switch { @@ -74,9 +74,9 @@ namespace MinecraftClient.Commands }; if (handler.GetLevel() < requiredLevel) - return Translations.TryGet("cmd.enchant.no_levels", handler.GetLevel(), requiredLevel); + return string.Format(Translations.cmd_enchant_no_levels, handler.GetLevel(), requiredLevel); - return handler.ClickContainerButton(enchantingTable.ID, slotId) ? Translations.TryGet("cmd.enchant.clicked") : Translations.TryGet("cmd.enchant.not_clicked"); + return handler.ClickContainerButton(enchantingTable.ID, slotId) ? Translations.cmd_enchant_clicked : Translations.cmd_enchant_not_clicked; } return GetCmdDescTranslated(); diff --git a/MinecraftClient/Commands/Entitycmd.cs b/MinecraftClient/Commands/Entitycmd.cs index 64bfa6c1..d698b875 100644 --- a/MinecraftClient/Commands/Entitycmd.cs +++ b/MinecraftClient/Commands/Entitycmd.cs @@ -11,7 +11,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "entity"; } } public override string CmdUsage { get { return "entity "; } } - public override string CmdDesc { get { return ""; } } + public override string CmdDesc { get { return string.Empty; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -34,10 +34,10 @@ namespace MinecraftClient.Commands { case "attack": handler.InteractEntity(entityID, InteractType.Attack); - return Translations.Get("cmd.entityCmd.attacked"); + return Translations.cmd_entityCmd_attacked; case "use": handler.InteractEntity(entityID, InteractType.Interact); - return Translations.Get("cmd.entityCmd.used"); + return Translations.cmd_entityCmd_used; default: Entity entity = handler.GetEntities()[entityID]; int id = entity.ID; @@ -56,53 +56,53 @@ namespace MinecraftClient.Commands else if (health < 15) color = "§e"; // Yellow - string location = String.Format("X:{0}, Y:{1}, Z:{2}", Math.Round(entity.Location.X, 2), Math.Round(entity.Location.Y, 2), Math.Round(entity.Location.Z, 2)); + string location = $"X:{Math.Round(entity.Location.X, 2)}, Y:{Math.Round(entity.Location.Y, 2)}, Z:{Math.Round(entity.Location.Z, 2)}"; StringBuilder done = new(); - done.Append(Translations.Replace("([cmd.entityCmd.entity]): {0}\n [MCC] Type: {1}", id, entity.GetTypeString())); - if (!String.IsNullOrEmpty(nickname)) - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.nickname]): {0}", nickname)); - else if (!String.IsNullOrEmpty(customname)) - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.customname]): {0}§8", customname.Replace("&", "§"))); + done.Append($"{Translations.cmd_entityCmd_entity}: {id}\n [MCC] Type: {entity.GetTypeString()}"); + if (!string.IsNullOrEmpty(nickname)) + done.Append($"\n [MCC] {Translations.cmd_entityCmd_nickname}: {nickname}"); + else if (!string.IsNullOrEmpty(customname)) + done.Append($"\n [MCC] {Translations.cmd_entityCmd_customname}: {customname.Replace("&", "§")}§8"); if (type == EntityType.Player) - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.latency]): {0}", latency)); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_latency}: {latency}"); else if (type == EntityType.Item || type == EntityType.ItemFrame || type == Mapping.EntityType.EyeOfEnder || type == Mapping.EntityType.Egg || type == Mapping.EntityType.EnderPearl || type == Mapping.EntityType.Potion || type == Mapping.EntityType.Fireball || type == Mapping.EntityType.FireworkRocket) { string? displayName = item.DisplayName; - if (String.IsNullOrEmpty(displayName)) - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.item]): {0} x{1}", item.GetTypeString(), item.Count)); + if (string.IsNullOrEmpty(displayName)) + done.Append($"\n [MCC] {Translations.cmd_entityCmd_item}: {item.GetTypeString()} x{item.Count}"); else - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.item]): {0} x{1} - {2}§8", item.GetTypeString(), item.Count, displayName)); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_item}: {item.GetTypeString()} x{item.Count} - {displayName}§8"); } if (entity.Equipment.Count >= 1 && entity.Equipment != null) { - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.equipment]):")); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_equipment}:"); if (entity.Equipment.ContainsKey(0) && entity.Equipment[0] != null) - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.mainhand]): {0} x{1}", entity.Equipment[0].GetTypeString(), entity.Equipment[0].Count)); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_mainhand}: {entity.Equipment[0].GetTypeString()} x{entity.Equipment[0].Count}"); if (entity.Equipment.ContainsKey(1) && entity.Equipment[1] != null) - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.offhand]): {0} x{1}", entity.Equipment[1].GetTypeString(), entity.Equipment[1].Count)); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_offhand}: {entity.Equipment[1].GetTypeString()} x{entity.Equipment[1].Count}"); if (entity.Equipment.ContainsKey(5) && entity.Equipment[5] != null) - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.helmet]): {0} x{1}", entity.Equipment[5].GetTypeString(), entity.Equipment[5].Count)); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_helmet}: {entity.Equipment[5].GetTypeString()} x{entity.Equipment[5].Count}"); if (entity.Equipment.ContainsKey(4) && entity.Equipment[4] != null) - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.chestplate]): {0} x{1}", entity.Equipment[4].GetTypeString(), entity.Equipment[4].Count)); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_chestplate}: {entity.Equipment[4].GetTypeString()} x{entity.Equipment[4].Count}"); if (entity.Equipment.ContainsKey(3) && entity.Equipment[3] != null) - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.leggings]): {0} x{1}", entity.Equipment[3].GetTypeString(), entity.Equipment[3].Count)); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_leggings}: {entity.Equipment[3].GetTypeString()} x{entity.Equipment[3].Count}"); if (entity.Equipment.ContainsKey(2) && entity.Equipment[2] != null) - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.boots]): {0} x{1}", entity.Equipment[2].GetTypeString(), entity.Equipment[2].Count)); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_boots}: {entity.Equipment[2].GetTypeString()} x{entity.Equipment[2].Count}"); } - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.pose]): {0}", pose)); - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.health]): {0}", color + health + "§8")); - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.distance]): {0}", distance)); - done.Append(Translations.Replace("\n [MCC] ([cmd.entityCmd.location]): {0}", location)); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_pose}: {pose}"); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_health}: {color}{health}§8"); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_distance}: {distance}"); + done.Append($"\n [MCC] {Translations.cmd_entityCmd_location}: {location}"); return done.ToString(); } } - else return Translations.Get("cmd.entityCmd.not_found"); + else return Translations.cmd_entityCmd_not_found; } else { EntityType interacttype = Enum.Parse(args[0]); - string actionst = "cmd.entityCmd.attacked"; + string actionst = Translations.cmd_entityCmd_attacked; int actioncount = 0; foreach (var entity2 in handler.GetEntities()) { @@ -114,19 +114,19 @@ namespace MinecraftClient.Commands if (action == "attack") { handler.InteractEntity(entity2.Key, InteractType.Attack); - actionst = "cmd.entityCmd.attacked"; + actionst = Translations.cmd_entityCmd_attacked; actioncount++; } else if (action == "use") { handler.InteractEntity(entity2.Key, InteractType.Interact); - actionst = "cmd.entityCmd.used"; + actionst = Translations.cmd_entityCmd_used; actioncount++; } else return GetCmdDescTranslated(); } } - return actioncount + " " + Translations.Get(actionst); + return actioncount + " " + actionst; } } catch (FormatException) { return GetCmdDescTranslated(); } @@ -135,7 +135,7 @@ namespace MinecraftClient.Commands { Dictionary entities = handler.GetEntities(); StringBuilder response = new(); - response.AppendLine(Translations.Get("cmd.entityCmd.entities")); + response.AppendLine(Translations.cmd_entityCmd_entities); foreach (var entity2 in entities) { int id = entity2.Key; @@ -146,22 +146,22 @@ namespace MinecraftClient.Commands EntityPose pose = entity2.Value.Pose; EntityType type = entity2.Value.Type; Item item = entity2.Value.Item; - string location = String.Format("X:{0}, Y:{1}, Z:{2}", Math.Round(entity2.Value.Location.X, 2), Math.Round(entity2.Value.Location.Y, 2), Math.Round(entity2.Value.Location.Z, 2)); + string location = $"X:{Math.Round(entity2.Value.Location.X, 2)}, Y:{Math.Round(entity2.Value.Location.Y, 2)}, Z:{Math.Round(entity2.Value.Location.Z, 2)}"; if (type == EntityType.Item || type == EntityType.ItemFrame || type == EntityType.EyeOfEnder || type == EntityType.Egg || type == EntityType.EnderPearl || type == EntityType.Potion || type == EntityType.Fireball || type == EntityType.FireworkRocket) - response.AppendLine(Translations.Replace(" #{0}: ([cmd.entityCmd.type]): {1}, ([cmd.entityCmd.item]): {2}, ([cmd.entityCmd.location]): {3}", id, entity2.Value.GetTypeString(), item.GetTypeString(), location)); - else if (type == EntityType.Player && !String.IsNullOrEmpty(nickname)) - response.AppendLine(Translations.Replace(" #{0}: ([cmd.entityCmd.type]): {1}, ([cmd.entityCmd.nickname]): §8{2}§8, ([cmd.entityCmd.latency]): {3}, ([cmd.entityCmd.health]): {4}, ([cmd.entityCmd.pose]): {5}, ([cmd.entityCmd.location]): {6}", id, entity2.Value.GetTypeString(), nickname, latency, health, pose, location)); - else if (type == EntityType.Player && !String.IsNullOrEmpty(customname)) - response.AppendLine(Translations.Replace(" #{0}: ([cmd.entityCmd.type]): {1}, ([cmd.entityCmd.customname]): §8{2}§8, ([cmd.entityCmd.latency]): {3}, ([cmd.entityCmd.health]): {4}, ([cmd.entityCmd.pose]): {5}, ([cmd.entityCmd.location]): {6}", id, entity2.Value.GetTypeString(), customname.Replace("&", "§"), latency, health, pose, location)); + response.AppendLine($" #{id}: {Translations.cmd_entityCmd_type}: {entity2.Value.GetTypeString()}, {Translations.cmd_entityCmd_item}: {item.GetTypeString()}, {Translations.cmd_entityCmd_location}: {location}"); + else if (type == EntityType.Player && !string.IsNullOrEmpty(nickname)) + response.AppendLine($" #{id}: {Translations.cmd_entityCmd_type}: {entity2.Value.GetTypeString()}, {Translations.cmd_entityCmd_nickname}: §8{nickname}§8, {Translations.cmd_entityCmd_latency}: {latency}, {Translations.cmd_entityCmd_health}: {health}, {Translations.cmd_entityCmd_pose}: {pose}, {Translations.cmd_entityCmd_location}: {location}"); + else if (type == EntityType.Player && !string.IsNullOrEmpty(customname)) + response.AppendLine($" #{id}: {Translations.cmd_entityCmd_type}: {entity2.Value.GetTypeString()}, {Translations.cmd_entityCmd_customname}: §8{customname.Replace("&", "§")}§8, {Translations.cmd_entityCmd_latency}: {latency}, {Translations.cmd_entityCmd_health}: {health}, {Translations.cmd_entityCmd_pose}: {pose}, {Translations.cmd_entityCmd_location}: {location}"); else - response.AppendLine(Translations.Replace(" #{0}: ([cmd.entityCmd.type]): {1}, ([cmd.entityCmd.health]): {2}, ([cmd.entityCmd.location]): {3}", id, entity2.Value.GetTypeString(), health, location)); + response.AppendLine($" #{id}: {Translations.cmd_entityCmd_type}: {entity2.Value.GetTypeString()}, {Translations.cmd_entityCmd_health}: {health}, {Translations.cmd_entityCmd_location}: {location}"); } response.Append(GetCmdDescTranslated()); return response.ToString(); } } - else return Translations.Get("extra.entity_required"); + else return Translations.extra_entity_required; } } } diff --git a/MinecraftClient/Commands/ExecIf.cs b/MinecraftClient/Commands/ExecIf.cs index 06b8619f..8cf8acd5 100644 --- a/MinecraftClient/Commands/ExecIf.cs +++ b/MinecraftClient/Commands/ExecIf.cs @@ -9,7 +9,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "execif"; } } public override string CmdUsage { get { return "execif ---> "; } } - public override string CmdDesc { get { return "cmd.execif.desc"; } } + public override string CmdDesc { get { return Translations.cmd_execif_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -69,8 +69,9 @@ namespace MinecraftClient.Commands handler.PerformInternalCommand(resultCommand, ref output); if (string.IsNullOrEmpty(output)) - handler.Log.Debug(Translations.TryGet("cmd.execif.executed_no_output", expressionText, resultCommand)); - else handler.Log.Debug(Translations.TryGet("cmd.execif.executed", expressionText, resultCommand, output)); + handler.Log.Debug(string.Format(Translations.cmd_execif_executed_no_output, expressionText, resultCommand)); + else + handler.Log.Debug(string.Format(Translations.cmd_execif_executed, expressionText, resultCommand, output)); return ""; } @@ -79,8 +80,8 @@ namespace MinecraftClient.Commands } catch (Exception e) { - handler.Log.Error(Translations.TryGet("cmd.execif.error_occured", command)); - handler.Log.Error(Translations.TryGet("cmd.execif.error", e.Message)); + handler.Log.Error(string.Format(Translations.cmd_execif_error_occured, command)); + handler.Log.Error(string.Format(Translations.cmd_execif_error, e.Message)); return ""; } } diff --git a/MinecraftClient/Commands/ExecMulti.cs b/MinecraftClient/Commands/ExecMulti.cs index a329da10..da034470 100644 --- a/MinecraftClient/Commands/ExecMulti.cs +++ b/MinecraftClient/Commands/ExecMulti.cs @@ -8,7 +8,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "execmulti"; } } public override string CmdUsage { get { return "execmulti -> -> -> ..."; } } - public override string CmdDesc { get { return "cmd.execmulti.desc"; } } + public override string CmdDesc { get { return Translations.cmd_execmulti_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -17,7 +17,7 @@ namespace MinecraftClient.Commands string commandsString = GetArg(command); if (commandsString.Contains("execmulti", StringComparison.OrdinalIgnoreCase) || commandsString.Contains("execif", StringComparison.OrdinalIgnoreCase)) - return Translations.TryGet("cmd.execmulti.prevent"); + return Translations.cmd_execmulti_prevent; IEnumerable commands = commandsString.Split("->", StringSplitOptions.TrimEntries) .ToList() @@ -28,9 +28,9 @@ namespace MinecraftClient.Commands string? output = ""; handler.PerformInternalCommand(cmd, ref output); - string log = Translations.TryGet( - "cmd.execmulti.executed", cmd, - string.IsNullOrEmpty(output) ? Translations.TryGet("cmd.execmulti.no_result") : Translations.TryGet("cmd.execmulti.result", output)); + string log = string.Format( + Translations.cmd_execmulti_executed, cmd, + string.IsNullOrEmpty(output) ? Translations.cmd_execmulti_no_result : string.Format(Translations.cmd_execmulti_result, output)); if (output != null && output.Contains("unknown command", StringComparison.OrdinalIgnoreCase)) handler.Log.Error(log); diff --git a/MinecraftClient/Commands/Exit.cs b/MinecraftClient/Commands/Exit.cs index 7bca6496..be1a894b 100644 --- a/MinecraftClient/Commands/Exit.cs +++ b/MinecraftClient/Commands/Exit.cs @@ -6,7 +6,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "exit"; } } public override string CmdUsage { get { return "exit"; } } - public override string CmdDesc { get { return "cmd.exit.desc"; } } + public override string CmdDesc { get { return Translations.cmd_exit_desc; } } public override string Run(McClient? handler, string command, Dictionary? localVars) { diff --git a/MinecraftClient/Commands/Health.cs b/MinecraftClient/Commands/Health.cs index 68af9b32..052eb3e2 100644 --- a/MinecraftClient/Commands/Health.cs +++ b/MinecraftClient/Commands/Health.cs @@ -6,11 +6,11 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "health"; } } public override string CmdUsage { get { return "health"; } } - public override string CmdDesc { get { return "cmd.health.desc"; } } + public override string CmdDesc { get { return Translations.cmd_health_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { - return Translations.Get("cmd.health.response", handler.GetHealth(), handler.GetSaturation(), handler.GetLevel(), handler.GetTotalExperience()); + return string.Format(Translations.cmd_health_response, handler.GetHealth(), handler.GetSaturation(), handler.GetLevel(), handler.GetTotalExperience()); } } } diff --git a/MinecraftClient/Commands/Inventory.cs b/MinecraftClient/Commands/Inventory.cs index f5f1a6c2..94b14211 100644 --- a/MinecraftClient/Commands/Inventory.cs +++ b/MinecraftClient/Commands/Inventory.cs @@ -11,7 +11,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "inventory"; } } public override string CmdUsage { get { return GetBasicUsage(); } } - public override string CmdDesc { get { return "cmd.inventory.desc"; } } + public override string CmdDesc { get { return Translations.cmd_inventory_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -36,12 +36,12 @@ namespace MinecraftClient.Commands return GetCmdDescTranslated(); if (handler.DoCreativeGive(slot, itemType, count, null)) - return Translations.Get("cmd.inventory.creative_done", itemType, count, slot); + return string.Format(Translations.cmd_inventory_creative_done, itemType, count, slot); else - return Translations.Get("cmd.inventory.creative_fail"); + return Translations.cmd_inventory_creative_fail; } else - return Translations.Get("cmd.inventory.need_creative"); + return Translations.cmd_inventory_need_creative; } else return GetCmdDescTranslated(); @@ -59,12 +59,12 @@ namespace MinecraftClient.Commands if (handler.GetGamemode() == 1) { if (handler.DoCreativeGive(slot, ItemType.Null, 0, null)) - return Translations.Get("cmd.inventory.creative_delete", slot); + return string.Format(Translations.cmd_inventory_creative_delete, slot); else - return Translations.Get("cmd.inventory.creative_fail"); + return Translations.cmd_inventory_creative_fail; } else - return Translations.Get("cmd.inventory.need_creative"); + return Translations.cmd_inventory_need_creative; } else return GetCmdDescTranslated(); @@ -81,14 +81,14 @@ namespace MinecraftClient.Commands if (availableIds.Count > 0) inventoryId = availableIds.Max(); // use foreground container else - return Translations.Get("cmd.inventory.container_not_found"); + return Translations.cmd_inventory_container_not_found; } else if (args[0].ToLower().StartsWith("inventories") || args[0].ToLower().StartsWith("i")) { Dictionary inventories = handler.GetInventories(); List availableIds = inventories.Keys.ToList(); StringBuilder response = new(); - response.AppendLine(Translations.Get("cmd.inventory.inventories_available")); + response.AppendLine(Translations.cmd_inventory_inventories_available); foreach (int id in availableIds) response.AppendLine(String.Format(" #{0} - {1}§8", id, inventories[id].Title)); @@ -135,11 +135,11 @@ namespace MinecraftClient.Commands }); if (foundItems.Count == 0) - return Translations.Get("cmd.inventory.no_found_items"); + return Translations.cmd_inventory_no_found_items; StringBuilder response = new(); - response.AppendLine(Translations.Get("cmd.inventory.found_items") + ":"); + response.AppendLine(Translations.cmd_inventory_found_items + ":"); foreach ((int invId, List itemsList) in new SortedDictionary>(foundItems)) { @@ -168,20 +168,20 @@ namespace MinecraftClient.Commands Container? inventory = handler.GetInventory(inventoryId); if (inventory == null) - return Translations.Get("cmd.inventory.not_exist", inventoryId); + return string.Format(Translations.cmd_inventory_not_exist, inventoryId); string action = args.Length > 1 ? args[1].ToLower() : "list"; if (action == "close") { if (handler.CloseInventory(inventoryId)) - return Translations.Get("cmd.inventory.close", inventoryId); + return string.Format(Translations.cmd_inventory_close, inventoryId); else - return Translations.Get("cmd.inventory.close_fail", inventoryId); + return string.Format(Translations.cmd_inventory_close_fail, inventoryId); } else if (action == "list") { StringBuilder response = new(); - response.Append(Translations.Get("cmd.inventory.inventory")); + response.Append(Translations.cmd_inventory_inventory); response.AppendLine(String.Format(" #{0} - {1}§8", inventoryId, inventory.Title)); string? asciiArt = inventory.Type.GetAsciiArt(); @@ -199,7 +199,7 @@ namespace MinecraftClient.Commands } if (inventoryId == 0) - response.AppendLine(Translations.Get("cmd.inventory.hotbar", (handler.GetCurrentSlot() + 1))); + response.AppendLine(string.Format(Translations.cmd_inventory_hotbar, (handler.GetCurrentSlot() + 1))); response.Remove(response.Length - 1, 1); // Remove last '\n' return response.ToString(); @@ -210,18 +210,18 @@ namespace MinecraftClient.Commands return GetCmdDescTranslated(); WindowActionType actionType = WindowActionType.LeftClick; - string keyName = "cmd.inventory.left"; + string keyName = Translations.cmd_inventory_left; if (args.Length >= 4) { string b = args[3]; if (b.ToLower()[0] == 'r') - (actionType, keyName) = (WindowActionType.RightClick, "cmd.inventory.right"); + (actionType, keyName) = (WindowActionType.RightClick, Translations.cmd_inventory_right); else if (b.ToLower()[0] == 'm') - (actionType, keyName) = (WindowActionType.MiddleClick, "cmd.inventory.middle"); + (actionType, keyName) = (WindowActionType.MiddleClick, Translations.cmd_inventory_middle); } handler.DoWindowAction(inventoryId, slot, actionType); - return Translations.Get("cmd.inventory.clicking", Translations.Get(keyName), slot, inventoryId); + return string.Format(Translations.cmd_inventory_clicking, keyName, slot, inventoryId); } else if (action == "shiftclick" && args.Length >= 3) { @@ -229,9 +229,9 @@ namespace MinecraftClient.Commands return GetCmdDescTranslated(); if (!handler.DoWindowAction(inventoryId, slot, WindowActionType.ShiftClick)) - return Translations.Get("cmd.inventory.shiftclick_fail"); + return Translations.cmd_inventory_shiftclick_fail; - return Translations.Get("cmd.inventory.shiftclick", slot, inventoryId); + return string.Format(Translations.cmd_inventory_shiftclick, slot, inventoryId); } else if (action == "drop" && args.Length >= 3) { @@ -240,7 +240,7 @@ namespace MinecraftClient.Commands // check item exist if (!inventory.Items.ContainsKey(slot)) - return Translations.Get("cmd.inventory.no_item", slot); + return string.Format(Translations.cmd_inventory_no_item, slot); WindowActionType actionType = WindowActionType.DropItem; if (args.Length >= 4 && args[3].ToLower() == "all") @@ -249,9 +249,9 @@ namespace MinecraftClient.Commands if (handler.DoWindowAction(inventoryId, slot, actionType)) { if (actionType == WindowActionType.DropItemStack) - return Translations.Get("cmd.inventory.drop_stack", slot); + return string.Format(Translations.cmd_inventory_drop_stack, slot); else - return Translations.Get("cmd.inventory.drop", slot); + return string.Format(Translations.cmd_inventory_drop, slot); } else return "Failed"; @@ -262,7 +262,7 @@ namespace MinecraftClient.Commands else { StringBuilder response = new(); - response.Append(Translations.Get("cmd.inventory.inventories")).Append(":\n"); + response.Append(Translations.cmd_inventory_inventories).Append(":\n"); foreach ((int invId, Container inv) in handler.GetInventories()) response.AppendLine(String.Format(" #{0}: {1}§8", invId, inv.Title)); response.Append(CmdUsage); @@ -270,42 +270,44 @@ namespace MinecraftClient.Commands } } else - return Translations.Get("extra.inventory_required"); + return Translations.extra_inventory_required; } #region Methods for commands help private static string GetAvailableActions() { - return Translations.Get("cmd.inventory.help.available") + ": list, close, click, drop, creativegive, creativedelete."; + return Translations.cmd_inventory_help_available + ": list, close, click, drop, creativegive, creativedelete."; } private static string GetBasicUsage() { - return Translations.Get("cmd.inventory.help.basic") + ": /inventory > ."; + return Translations.cmd_inventory_help_basic + ": /inventory > ."; } private static string GetHelp() { - return Translations.Get("cmd.inventory.help.help", GetAvailableActions()); + return string.Format(Translations.cmd_inventory_help_help, GetAvailableActions()); } private static string GetSubCommandHelp(string cmd) { - string usageStr = ' ' + Translations.Get("cmd.inventory.help.usage") + ": "; + string usageStr = ' ' + Translations.cmd_inventory_help_usage + ": "; return cmd switch { - "list" => Translations.Get("cmd.inventory.help.list") + usageStr + "/inventory > list", - "close" => Translations.Get("cmd.inventory.help.close") + usageStr + "/inventory > close", - "click" => Translations.Get("cmd.inventory.help.click") + usageStr + "/inventory > click [left|right|middle]\nDefault is left click", - "shiftclick" => Translations.Get("cmd.inventory.help.shiftclick") + usageStr + "/inventory > shiftclick ", - "drop" => Translations.Get("cmd.inventory.help.drop") + usageStr + "/inventory > drop [all]\nAll means drop full stack", - "creativegive" => Translations.Get("cmd.inventory.help.creativegive") + usageStr + "/inventory creativegive ", - "creativedelete" => Translations.Get("cmd.inventory.help.creativedelete") + usageStr + "/inventory creativedelete ", - "inventories" => Translations.Get("cmd.inventory.help.inventories") + usageStr + "/inventory inventories", - "search" => Translations.Get("cmd.inventory.help.search") + usageStr + "/inventory search [count]", - "help" => GetHelp(), - _ => Translations.Get("cmd.inventory.help.unknown") + GetAvailableActions(), +#pragma warning disable format // @formatter:off + "list" => Translations.cmd_inventory_help_list + usageStr + "/inventory > list", + "close" => Translations.cmd_inventory_help_close + usageStr + "/inventory > close", + "click" => Translations.cmd_inventory_help_click + usageStr + "/inventory > click [left|right|middle]\nDefault is left click", + "shiftclick" => Translations.cmd_inventory_help_shiftclick + usageStr + "/inventory > shiftclick ", + "drop" => Translations.cmd_inventory_help_drop + usageStr + "/inventory > drop [all]\nAll means drop full stack", + "creativegive" => Translations.cmd_inventory_help_creativegive + usageStr + "/inventory creativegive ", + "creativedelete" => Translations.cmd_inventory_help_creativedelete + usageStr + "/inventory creativedelete ", + "inventories" => Translations.cmd_inventory_help_inventories + usageStr + "/inventory inventories", + "search" => Translations.cmd_inventory_help_search + usageStr + "/inventory search [count]", + "help" => GetHelp(), + _ => Translations.cmd_inventory_help_unknown + GetAvailableActions(), +#pragma warning restore format // @formatter:on }; } #endregion diff --git a/MinecraftClient/Commands/List.cs b/MinecraftClient/Commands/List.cs index f261d670..4adc8eaa 100644 --- a/MinecraftClient/Commands/List.cs +++ b/MinecraftClient/Commands/List.cs @@ -7,11 +7,11 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "list"; } } public override string CmdUsage { get { return "list"; } } - public override string CmdDesc { get { return "cmd.list.desc"; } } + public override string CmdDesc { get { return Translations.cmd_list_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { - return Translations.Get("cmd.list.players", String.Join(", ", handler.GetOnlinePlayers())); + return string.Format(Translations.cmd_list_players, String.Join(", ", handler.GetOnlinePlayers())); } } } diff --git a/MinecraftClient/Commands/Log.cs b/MinecraftClient/Commands/Log.cs index 412e401b..ea930d67 100644 --- a/MinecraftClient/Commands/Log.cs +++ b/MinecraftClient/Commands/Log.cs @@ -6,7 +6,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "log"; } } public override string CmdUsage { get { return "log "; } } - public override string CmdDesc { get { return "cmd.log.desc"; } } + public override string CmdDesc { get { return Translations.cmd_log_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { diff --git a/MinecraftClient/Commands/Look.cs b/MinecraftClient/Commands/Look.cs index 11065f62..f763d6ab 100644 --- a/MinecraftClient/Commands/Look.cs +++ b/MinecraftClient/Commands/Look.cs @@ -9,7 +9,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "look"; } } public override string CmdUsage { get { return "look "; } } - public override string CmdDesc { get { return "cmd.look.desc"; } } + public override string CmdDesc { get { return Translations.cmd_look_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -21,11 +21,11 @@ namespace MinecraftClient.Commands const double maxDistance = 8.0; (bool hasBlock, Location target, Block block) = RaycastHelper.RaycastBlock(handler, maxDistance, false); if (!hasBlock) - return Translations.Get("cmd.look.noinspection", maxDistance); + return string.Format(Translations.cmd_look_noinspection, maxDistance); else { Location current = handler.GetCurrentLocation(), target_center = target.ToCenter(); - return Translations.Get("cmd.look.inspection", block.Type, target.X, target.Y, target.Z, + return string.Format(Translations.cmd_look_inspection, block.Type, target.X, target.Y, target.Z, current.Distance(target_center), current.EyesLocation().Distance(target_center)); } } @@ -41,7 +41,7 @@ namespace MinecraftClient.Commands case "west": direction = Direction.West; break; case "north": direction = Direction.North; break; case "south": direction = Direction.South; break; - default: return Translations.Get("cmd.look.unknown", dirStr); + default: return string.Format(Translations.cmd_look_unknown, dirStr); } handler.UpdateLocation(handler.GetCurrentLocation(), direction); @@ -55,7 +55,7 @@ namespace MinecraftClient.Commands float pitch = float.Parse(args[1], NumberStyles.Any, CultureInfo.CurrentCulture); handler.UpdateLocation(handler.GetCurrentLocation(), yaw, pitch); - return Translations.Get("cmd.look.at", yaw.ToString("0.00"), pitch.ToString("0.00")); + return string.Format(Translations.cmd_look_at, yaw.ToString("0.00"), pitch.ToString("0.00")); } catch (FormatException) { return GetCmdDescTranslated(); } } @@ -67,14 +67,14 @@ namespace MinecraftClient.Commands Location block = Location.Parse(current, args[0], args[1], args[2]); handler.UpdateLocation(current, block); - return Translations.Get("cmd.look.block", block); + return string.Format(Translations.cmd_look_block, block); } catch (FormatException) { return CmdUsage; } } else return GetCmdDescTranslated(); } - else return Translations.Get("extra.terrainandmovement_required"); + else return Translations.extra_terrainandmovement_required; } } } diff --git a/MinecraftClient/Commands/Move.cs b/MinecraftClient/Commands/Move.cs index bbebcded..67f8f4ec 100644 --- a/MinecraftClient/Commands/Move.cs +++ b/MinecraftClient/Commands/Move.cs @@ -9,7 +9,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "move"; } } public override string CmdUsage { get { return "move [-f]"; } } - public override string CmdDesc { get { return "walk or start walking. \"-f\": force unsafe movements like falling or touching fire"; } } + public override string CmdDesc { get { return Translations.cmd_move_desc + " \"-f\": " + Translations.cmd_move_desc_force; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -35,20 +35,20 @@ namespace MinecraftClient.Commands if (args[0] == "on") { handler.SetTerrainEnabled(true); - return Translations.Get("cmd.move.enable"); + return Translations.cmd_move_enable; } else if (args[0] == "off") { handler.SetTerrainEnabled(false); - return Translations.Get("cmd.move.disable"); + return Translations.cmd_move_disable; } else if (args[0] == "gravity") { if (args.Count >= 2) Settings.InternalConfig.GravityEnabled = (args[1] == "on"); if (Settings.InternalConfig.GravityEnabled) - return Translations.Get("cmd.move.gravity.enabled"); - else return Translations.Get("cmd.move.gravity.disabled"); + return Translations.cmd_move_gravity_enabled; + else return Translations.cmd_move_gravity_disabled; } else if (handler.GetTerrainEnabled()) { @@ -67,24 +67,24 @@ namespace MinecraftClient.Commands Location current = handler.GetCurrentLocation(); Location currentCenter = new(Math.Floor(current.X) + 0.5, current.Y, Math.Floor(current.Z) + 0.5); handler.MoveTo(currentCenter, allowDirectTeleport: true); - return Translations.Get("cmd.move.walk", currentCenter, current); + return string.Format(Translations.cmd_move_walk, currentCenter, current); case "get": return handler.GetCurrentLocation().ToString(); - default: return Translations.Get("cmd.look.unknown", args[0]); + default: return string.Format(Translations.cmd_look_unknown, args[0]); } Location goal = Movement.Move(handler.GetCurrentLocation(), direction); if (!Movement.CheckChunkLoading(handler.GetWorld(), handler.GetCurrentLocation(), goal)) - return Translations.Get("cmd.move.chunk_not_loaded", goal.X, goal.Y, goal.Z); + return string.Format(Translations.cmd_move_chunk_not_loaded, goal.X, goal.Y, goal.Z); if (Movement.CanMove(handler.GetWorld(), handler.GetCurrentLocation(), direction)) { if (handler.MoveTo(goal, allowUnsafe: takeRisk)) - return Translations.Get("cmd.move.moving", args[0]); + return string.Format(Translations.cmd_move_moving, args[0]); else - return takeRisk ? Translations.Get("cmd.move.dir_fail") : Translations.Get("cmd.move.suggestforce"); + return takeRisk ? Translations.cmd_move_dir_fail : Translations.cmd_move_suggestforce; } - else return Translations.Get("cmd.move.dir_fail"); + else return Translations.cmd_move_dir_fail; } else if (args.Count == 3) { @@ -94,24 +94,24 @@ namespace MinecraftClient.Commands Location goal = Location.Parse(current, args[0], args[1], args[2]); if (!Movement.CheckChunkLoading(handler.GetWorld(), current, goal)) - return Translations.Get("cmd.move.chunk_not_loaded", goal.X, goal.Y, goal.Z); + return string.Format(Translations.cmd_move_chunk_not_loaded, goal.X, goal.Y, goal.Z); if (takeRisk || Movement.PlayerFitsHere(handler.GetWorld(), goal)) { if (current.ToFloor() == goal.ToFloor()) handler.MoveTo(goal, allowDirectTeleport: true); else if (!handler.MoveTo(goal, allowUnsafe: takeRisk)) - return takeRisk ? Translations.Get("cmd.move.fail", goal) : Translations.Get("cmd.move.suggestforce", goal); - return Translations.Get("cmd.move.walk", goal, current); + return takeRisk ? string.Format(Translations.cmd_move_fail, goal) : string.Format(Translations.cmd_move_suggestforce, goal); + return string.Format(Translations.cmd_move_walk, goal, current); } else - return Translations.Get("cmd.move.suggestforce", goal); + return string.Format(Translations.cmd_move_suggestforce, goal); } catch (FormatException) { return GetCmdDescTranslated(); } } else return GetCmdDescTranslated(); } - else return Translations.Get("extra.terrainandmovement_required"); + else return Translations.extra_terrainandmovement_required; } } } diff --git a/MinecraftClient/Commands/Reco.cs b/MinecraftClient/Commands/Reco.cs index 5b5b0e0f..267573f4 100644 --- a/MinecraftClient/Commands/Reco.cs +++ b/MinecraftClient/Commands/Reco.cs @@ -6,7 +6,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "reco"; } } public override string CmdUsage { get { return "reco [account]"; } } - public override string CmdDesc { get { return "cmd.reco.desc"; } } + public override string CmdDesc { get { return Translations.cmd_reco_desc; } } public override string Run(McClient? handler, string command, Dictionary? localVars) { @@ -15,7 +15,7 @@ namespace MinecraftClient.Commands { if (!Settings.Config.Main.Advanced.SetAccount(args[0])) { - return Translations.Get("cmd.connect.unknown", args[0]); + return string.Format(Translations.cmd_connect_unknown, args[0]); } } Program.Restart(); diff --git a/MinecraftClient/Commands/Reload.cs b/MinecraftClient/Commands/Reload.cs index f4063db7..4761ce43 100644 --- a/MinecraftClient/Commands/Reload.cs +++ b/MinecraftClient/Commands/Reload.cs @@ -6,18 +6,18 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "reload"; } } public override string CmdUsage { get { return "reload"; } } - public override string CmdDesc { get { return "cmd.reload.desc"; } } + public override string CmdDesc { get { return Translations.cmd_reload_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { - handler.Log.Info(Translations.TryGet("cmd.reload.started")); + handler.Log.Info(Translations.cmd_reload_started); handler.ReloadSettings(); - handler.Log.Warn(Translations.TryGet("cmd.reload.warning1")); - handler.Log.Warn(Translations.TryGet("cmd.reload.warning2")); - handler.Log.Warn(Translations.TryGet("cmd.reload.warning3")); - handler.Log.Warn(Translations.TryGet("cmd.reload.warning4")); + handler.Log.Warn(Translations.cmd_reload_warning1); + handler.Log.Warn(Translations.cmd_reload_warning2); + handler.Log.Warn(Translations.cmd_reload_warning3); + handler.Log.Warn(Translations.cmd_reload_warning4); - return Translations.TryGet("cmd.reload.finished"); + return Translations.cmd_reload_finished; } } } diff --git a/MinecraftClient/Commands/Respawn.cs b/MinecraftClient/Commands/Respawn.cs index 3ff718fd..11f05a76 100644 --- a/MinecraftClient/Commands/Respawn.cs +++ b/MinecraftClient/Commands/Respawn.cs @@ -6,12 +6,12 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "respawn"; } } public override string CmdUsage { get { return "respawn"; } } - public override string CmdDesc { get { return "cmd.respawn.desc"; } } + public override string CmdDesc { get { return Translations.cmd_respawn_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { handler.SendRespawnPacket(); - return Translations.Get("cmd.respawn.done"); + return Translations.cmd_respawn_done; } } } diff --git a/MinecraftClient/Commands/Script.cs b/MinecraftClient/Commands/Script.cs index e7e233c5..80cda2a8 100644 --- a/MinecraftClient/Commands/Script.cs +++ b/MinecraftClient/Commands/Script.cs @@ -6,7 +6,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "script"; } } public override string CmdUsage { get { return "script "; } } - public override string CmdDesc { get { return "cmd.script.desc"; } } + public override string CmdDesc { get { return Translations.cmd_script_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { diff --git a/MinecraftClient/Commands/Send.cs b/MinecraftClient/Commands/Send.cs index 55977740..9e868a08 100644 --- a/MinecraftClient/Commands/Send.cs +++ b/MinecraftClient/Commands/Send.cs @@ -6,7 +6,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "send"; } } public override string CmdUsage { get { return "send "; } } - public override string CmdDesc { get { return "cmd.send.desc"; } } + public override string CmdDesc { get { return Translations.cmd_send_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { diff --git a/MinecraftClient/Commands/Set.cs b/MinecraftClient/Commands/Set.cs index 9f8cfe5d..f3210664 100644 --- a/MinecraftClient/Commands/Set.cs +++ b/MinecraftClient/Commands/Set.cs @@ -6,7 +6,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "set"; } } public override string CmdUsage { get { return "set varname=value"; } } - public override string CmdDesc { get { return "cmd.set.desc"; } } + public override string CmdDesc { get { return Translations.cmd_set_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -18,7 +18,7 @@ namespace MinecraftClient.Commands if (Settings.Config.AppVar.SetVar(temp[0], GetArg(command).Substring(temp[0].Length + 1))) return ""; //Success else - return Translations.Get("cmd.set.format"); + return Translations.cmd_set_format; } else return GetCmdDescTranslated(); diff --git a/MinecraftClient/Commands/SetRnd.cs b/MinecraftClient/Commands/SetRnd.cs index 6e0d00b2..dfd3969b 100644 --- a/MinecraftClient/Commands/SetRnd.cs +++ b/MinecraftClient/Commands/SetRnd.cs @@ -6,8 +6,8 @@ namespace MinecraftClient.Commands class SetRnd : Command { public override string CmdName { get { return "setrnd"; } } - public override string CmdUsage { get { return Translations.Get("cmd.setrnd.format"); } } - public override string CmdDesc { get { return "cmd.setrnd.desc"; } } + public override string CmdUsage { get { return Translations.cmd_setrnd_format; } } + public override string CmdDesc { get { return Translations.cmd_setrnd_desc; } } private static readonly Random rand = new(); public override string Run(McClient handler, string command, Dictionary? localVars) @@ -32,7 +32,7 @@ namespace MinecraftClient.Commands } catch (Exception) { - return Translations.Get("cmd.setrndnum.format"); + return Translations.cmd_setrndnum_format; } // switch the values if they were entered in the wrong way @@ -44,7 +44,7 @@ namespace MinecraftClient.Commands { return string.Format("Set %{0}% to {1}.", args[0], Settings.Config.AppVar.GetVar(args[0])); //Success } - else return Translations.Get("cmd.setrndnum.format"); + else return Translations.cmd_setrndnum_format; } else { @@ -59,7 +59,7 @@ namespace MinecraftClient.Commands { return string.Format("Set %{0}% to {1}.", args[0], Settings.Config.AppVar.GetVar(args[0])); //Success } - else return Translations.Get("cmd.setrndstr.format"); + else return Translations.cmd_setrndstr_format; } } else return GetCmdDescTranslated(); diff --git a/MinecraftClient/Commands/Sneak.cs b/MinecraftClient/Commands/Sneak.cs index 1c8dbf17..2ea4308a 100644 --- a/MinecraftClient/Commands/Sneak.cs +++ b/MinecraftClient/Commands/Sneak.cs @@ -7,7 +7,7 @@ namespace MinecraftClient.Commands private bool sneaking = false; public override string CmdName { get { return "Sneak"; } } public override string CmdUsage { get { return "Sneak"; } } - public override string CmdDesc { get { return "cmd.sneak.desc"; } } + public override string CmdDesc { get { return Translations.cmd_sneak_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -16,14 +16,14 @@ namespace MinecraftClient.Commands var result = handler.SendEntityAction(Protocol.EntityActionType.StopSneaking); if (result) sneaking = false; - return Translations.Get(result ? "cmd.sneak.off" : "general.fail"); + return result ? Translations.cmd_sneak_off : Translations.general_fail; } else { var result = handler.SendEntityAction(Protocol.EntityActionType.StartSneaking); if (result) sneaking = true; - return Translations.Get(result ? "cmd.sneak.on" : "general.fail"); + return result ? Translations.cmd_sneak_on : Translations.general_fail; } } } diff --git a/MinecraftClient/Commands/Tps.cs b/MinecraftClient/Commands/Tps.cs index 9aaafc5c..ced7b9af 100644 --- a/MinecraftClient/Commands/Tps.cs +++ b/MinecraftClient/Commands/Tps.cs @@ -7,7 +7,7 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "tps"; } } public override string CmdUsage { get { return "tps"; } } - public override string CmdDesc { get { return "cmd.tps.desc"; } } + public override string CmdDesc { get { return Translations.cmd_tps_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { @@ -19,7 +19,7 @@ namespace MinecraftClient.Commands color = "§e"; // Yellow else color = "§a"; // Green - return Translations.Get("cmd.tps.current") + ": " + color + tps; + return Translations.cmd_tps_current + ": " + color + tps; } } } diff --git a/MinecraftClient/Commands/UseItem.cs b/MinecraftClient/Commands/UseItem.cs index 497633d2..773a8040 100644 --- a/MinecraftClient/Commands/UseItem.cs +++ b/MinecraftClient/Commands/UseItem.cs @@ -6,16 +6,16 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "useitem"; } } public override string CmdUsage { get { return "useitem"; } } - public override string CmdDesc { get { return "cmd.useitem.desc"; } } + public override string CmdDesc { get { return Translations.cmd_useitem_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { if (handler.GetInventoryEnabled()) { handler.UseItemOnHand(); - return Translations.Get("cmd.useitem.use"); + return Translations.cmd_useitem_use; } - else return Translations.Get("extra.inventory_required"); + else return Translations.extra_inventory_required; } } } diff --git a/MinecraftClient/Commands/Useblock.cs b/MinecraftClient/Commands/Useblock.cs index 5d8bf32e..a187999a 100644 --- a/MinecraftClient/Commands/Useblock.cs +++ b/MinecraftClient/Commands/Useblock.cs @@ -7,12 +7,12 @@ namespace MinecraftClient.Commands { public override string CmdName { get { return "useblock"; } } public override string CmdUsage { get { return "useblock "; } } - public override string CmdDesc { get { return "cmd.useblock.desc"; } } + public override string CmdDesc { get { return Translations.cmd_useblock_desc; } } public override string Run(McClient handler, string command, Dictionary? localVars) { if (!handler.GetTerrainEnabled()) - return Translations.Get("extra.terrainandmovement_required"); + return Translations.extra_terrainandmovement_required; else if (HasArg(command)) { string[] args = GetArgs(command); @@ -21,7 +21,7 @@ namespace MinecraftClient.Commands Location block = Location.Parse(handler.GetCurrentLocation().ToFloor(), args[0], args[1], args[2]).ToFloor(); Location blockCenter = block.ToCenter(); bool res = handler.PlaceBlock(block, Direction.Down); - return Translations.Get("cmd.useblock.use", blockCenter.X, blockCenter.Y, blockCenter.Z, res ? "succeeded" : "failed"); + return string.Format(Translations.cmd_useblock_use, blockCenter.X, blockCenter.Y, blockCenter.Z, res ? "succeeded" : "failed"); } else return GetCmdDescTranslated(); diff --git a/MinecraftClient/DefaultConfigResource.resx b/MinecraftClient/DefaultConfigResource.resx deleted file mode 100644 index 9205adb1..00000000 --- a/MinecraftClient/DefaultConfigResource.resx +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - Resources\containers\ContainerType.BrewingStand.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\containers\ContainerType.Crafting.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\containers\ContainerType.EnchantingTable.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\containers\ContainerType.Furnace.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\containers\ContainerType.Generic_3x3.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\containers\ContainerType.Generic_9x3.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\containers\ContainerType.Generic_9x6.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\containers\ContainerType.Grindstone.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\containers\ContainerType.Hopper.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\containers\ContainerType.PlayerInventory.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\lang\de.ini;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\lang\en.ini;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\lang\fr.ini;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\lang\ru.ini;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\lang\tr.ini;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\lang\vi.ini;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\lang\zh-Hans.ini;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - - Resources\lang\zh-Hant.ini;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - \ No newline at end of file diff --git a/MinecraftClient/FileMonitor.cs b/MinecraftClient/FileMonitor.cs index 05c83208..aaa5029c 100644 --- a/MinecraftClient/FileMonitor.cs +++ b/MinecraftClient/FileMonitor.cs @@ -25,7 +25,7 @@ namespace MinecraftClient if (Settings.Config.Logging.DebugMessages) { string callerClass = new System.Diagnostics.StackFrame(1).GetMethod()!.DeclaringType!.Name; - ConsoleIO.WriteLineFormatted(Translations.Get("filemonitor.init", callerClass, Path.Combine(folder, filename))); + ConsoleIO.WriteLineFormatted(string.Format(Translations.filemonitor_init, callerClass, Path.Combine(folder, filename))); } try @@ -43,7 +43,7 @@ namespace MinecraftClient if (Settings.Config.Logging.DebugMessages) { string callerClass = new System.Diagnostics.StackFrame(1).GetMethod()!.DeclaringType!.Name; - ConsoleIO.WriteLineFormatted(Translations.Get("filemonitor.fail", callerClass)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.filemonitor_fail, callerClass)); } monitor = null; diff --git a/MinecraftClient/Inventory/ContainerTypeExtensions.cs b/MinecraftClient/Inventory/ContainerTypeExtensions.cs index 41c2217c..4fe16373 100644 --- a/MinecraftClient/Inventory/ContainerTypeExtensions.cs +++ b/MinecraftClient/Inventory/ContainerTypeExtensions.cs @@ -48,26 +48,26 @@ return c switch { #pragma warning disable format // @formatter:off - ContainerType.PlayerInventory => DefaultConfigResource.ContainerType_PlayerInventory, - ContainerType.Generic_9x3 => DefaultConfigResource.ContainerType_Generic_9x3, - ContainerType.Generic_9x6 => DefaultConfigResource.ContainerType_Generic_9x6, - ContainerType.Generic_3x3 => DefaultConfigResource.ContainerType_Generic_3x3, - ContainerType.Crafting => DefaultConfigResource.ContainerType_Crafting, - ContainerType.BlastFurnace => DefaultConfigResource.ContainerType_Furnace, - ContainerType.Furnace => DefaultConfigResource.ContainerType_Furnace, - ContainerType.Smoker => DefaultConfigResource.ContainerType_Furnace, - ContainerType.Enchantment => DefaultConfigResource.ContainerType_EnchantingTable, - ContainerType.BrewingStand => DefaultConfigResource.ContainerType_BrewingStand, + ContainerType.PlayerInventory => AsciiArt.Container_PlayerInventory, + ContainerType.Generic_9x3 => AsciiArt.Container_Generic_9x3, + ContainerType.Generic_9x6 => AsciiArt.Container_Generic_9x6, + ContainerType.Generic_3x3 => AsciiArt.Container_Generic_3x3, + ContainerType.Crafting => AsciiArt.Container_Crafting, + ContainerType.BlastFurnace => AsciiArt.Container_Furnace, + ContainerType.Furnace => AsciiArt.Container_Furnace, + ContainerType.Smoker => AsciiArt.Container_Furnace, + ContainerType.Enchantment => AsciiArt.Container_EnchantingTable, + ContainerType.BrewingStand => AsciiArt.Container_BrewingStand, ContainerType.Merchant => null, ContainerType.Beacon => null, ContainerType.Anvil => null, - ContainerType.Hopper => DefaultConfigResource.ContainerType_Hopper, - ContainerType.ShulkerBox => DefaultConfigResource.ContainerType_Generic_9x3, + ContainerType.Hopper => AsciiArt.Container_Hopper, + ContainerType.ShulkerBox => AsciiArt.Container_Generic_9x3, ContainerType.Loom => null, ContainerType.Stonecutter => null, ContainerType.Lectern => null, ContainerType.Cartography => null, - ContainerType.Grindstone => DefaultConfigResource.ContainerType_Grindstone, + ContainerType.Grindstone => AsciiArt.Container_Grindstone, ContainerType.Unknown => null, ContainerType.Generic_9x1 => null, ContainerType.Generic_9x2 => null, diff --git a/MinecraftClient/Inventory/Item.cs b/MinecraftClient/Inventory/Item.cs index 5b4b7941..28a5754e 100644 --- a/MinecraftClient/Inventory/Item.cs +++ b/MinecraftClient/Inventory/Item.cs @@ -167,7 +167,7 @@ namespace MinecraftClient.Inventory int damage = Damage; if (damage != 0) - sb.AppendFormat(" | {0}: {1}", Translations.Get("cmd.inventory.damage"), damage); + sb.AppendFormat(" | {0}: {1}", Translations.cmd_inventory_damage, damage); return sb.ToString(); } diff --git a/MinecraftClient/Mapping/World.cs b/MinecraftClient/Mapping/World.cs index 25908155..97792cfe 100644 --- a/MinecraftClient/Mapping/World.cs +++ b/MinecraftClient/Mapping/World.cs @@ -216,7 +216,7 @@ namespace MinecraftClient.Mapping else chunkLoadedRatio = (world.chunkCnt - world.chunkLoadNotCompleted) / (double)world.chunkCnt; - string status = Translations.Get("cmd.move.chunk_loading_status", + string status = string.Format(Translations.cmd_move_chunk_loading_status, chunkLoadedRatio, world.chunkCnt - world.chunkLoadNotCompleted, world.chunkCnt); return status; diff --git a/MinecraftClient/McClient.cs b/MinecraftClient/McClient.cs index 04a853b1..3cbbe868 100644 --- a/MinecraftClient/McClient.cs +++ b/MinecraftClient/McClient.cs @@ -181,7 +181,7 @@ namespace MinecraftClient client.ReceiveBufferSize = 1024 * 1024; client.ReceiveTimeout = Config.Main.Advanced.TcpTimeout * 1000; // Default: 30 seconds handler = Protocol.ProtocolHandler.GetProtocolHandler(client, protocolversion, forgeInfo, this); - Log.Info(Translations.Get("mcc.version_supported")); + Log.Info(Translations.mcc_version_supported); timeoutdetector = new(new Thread(new ParameterizedThreadStart(TimeoutDetector)), new CancellationTokenSource()); timeoutdetector.Item1.Name = "MCC Connection timeout detector"; @@ -195,7 +195,7 @@ namespace MinecraftClient BotLoad(bot, false); botsOnHold.Clear(); - Log.Info(Translations.Get("mcc.joined", Config.Main.Advanced.InternalCmdChar.ToLogString())); + Log.Info(string.Format(Translations.mcc_joined, Config.Main.Advanced.InternalCmdChar.ToLogString())); cmdprompt = new CancellationTokenSource(); ConsoleInteractive.ConsoleReader.BeginReadThread(cmdprompt); @@ -204,21 +204,21 @@ namespace MinecraftClient } else { - Log.Error(Translations.Get("error.login_failed")); + Log.Error(Translations.error_login_failed); goto Retry; } } catch (Exception e) { Log.Error(e.GetType().Name + ": " + e.Message); - Log.Error(Translations.Get("error.join")); + Log.Error(Translations.error_join); goto Retry; } } catch (SocketException e) { Log.Error(e.Message); - Log.Error(Translations.Get("error.connect")); + Log.Error(Translations.error_connect); goto Retry; } @@ -232,7 +232,7 @@ namespace MinecraftClient } if (ReconnectionAttemptsLeft > 0) { - Log.Info(Translations.Get("mcc.reconnect", ReconnectionAttemptsLeft)); + Log.Info(string.Format(Translations.mcc_reconnect, ReconnectionAttemptsLeft)); Thread.Sleep(5000); ReconnectionAttemptsLeft--; Program.Restart(); @@ -394,7 +394,7 @@ namespace MinecraftClient if (((CancellationToken)o!).IsCancellationRequested) return; - OnConnectionLost(ChatBot.DisconnectReason.ConnectionLost, Translations.Get("error.timeout")); + OnConnectionLost(ChatBot.DisconnectReason.ConnectionLost, Translations.error_timeout); return; } } @@ -466,22 +466,22 @@ namespace MinecraftClient switch (reason) { case ChatBot.DisconnectReason.ConnectionLost: - message = Translations.Get("mcc.disconnect.lost"); + message = Translations.mcc_disconnect_lost; Log.Info(message); break; case ChatBot.DisconnectReason.InGameKick: - Log.Info(Translations.Get("mcc.disconnect.server")); + Log.Info(Translations.mcc_disconnect_server); Log.Info(message); break; case ChatBot.DisconnectReason.LoginRejected: - Log.Info(Translations.Get("mcc.disconnect.login")); + Log.Info(Translations.mcc_disconnect_login); Log.Info(message); break; case ChatBot.DisconnectReason.UserLogout: - throw new InvalidOperationException(Translations.Get("exception.user_logout")); + throw new InvalidOperationException(Translations.exception_user_logout); } //Process AutoRelog last to make sure other bots can perform their cleanup tasks first (issue #1517) @@ -636,15 +636,15 @@ namespace MinecraftClient string help_cmdname = Command.GetArgs(command)[0].ToLower(); if (help_cmdname == "help") { - response_msg = Translations.Get("icmd.help"); + response_msg = Translations.icmd_help; } else if (cmds.ContainsKey(help_cmdname)) { response_msg = cmds[help_cmdname].GetCmdDescTranslated(); } - else response_msg = Translations.Get("icmd.unknown", command_name); + else response_msg = string.Format(Translations.icmd_unknown, command_name); } - else response_msg = Translations.Get("icmd.list", String.Join(", ", cmd_names.ToArray()), Config.Main.Advanced.InternalCmdChar.ToChar()); + else response_msg = string.Format(Translations.icmd_list, String.Join(", ", cmd_names.ToArray()), Config.Main.Advanced.InternalCmdChar.ToChar()); } else if (cmds.ContainsKey(command_name)) { @@ -660,7 +660,7 @@ namespace MinecraftClient { if (e is not ThreadAbortException) { - Log.Warn(Translations.Get("icmd.error", bot.ToString() ?? string.Empty, e.ToString())); + Log.Warn(string.Format(Translations.icmd_error, bot.ToString() ?? string.Empty, e.ToString())); } else throw; //ThreadAbortException should not be caught } @@ -668,7 +668,7 @@ namespace MinecraftClient } else { - response_msg = Translations.Get("icmd.unknown", command_name); + response_msg = string.Format(Translations.icmd_unknown, command_name); return false; } @@ -2407,7 +2407,7 @@ namespace MinecraftClient { inventoryHandlingRequested = false; inventoryHandlingEnabled = true; - Log.Info(Translations.Get("extra.inventory_enabled")); + Log.Info(Translations.extra_inventory_enabled); } ClearInventories(); @@ -2426,7 +2426,7 @@ namespace MinecraftClient { terrainAndMovementsEnabled = true; terrainAndMovementsRequested = false; - Log.Info(Translations.Get("extra.terrainandmovement_enabled")); + Log.Info(Translations.extra_terrainandmovement_enabled); } if (terrainAndMovementsEnabled) @@ -2576,7 +2576,7 @@ namespace MinecraftClient case Direction.South: break; default: - throw new ArgumentException(Translations.Get("exception.unknown_direction"), nameof(direction)); + throw new ArgumentException(Translations.exception_unknown_direction, nameof(direction)); } UpdateLocation(location, yaw, pitch); @@ -2611,7 +2611,7 @@ namespace MinecraftClient if (Config.Main.Advanced.ShowChatLinks) foreach (string link in links) - Log.Chat(Translations.Get("mcc.link", link)); + Log.Chat(string.Format(Translations.mcc_link, link)); DispatchBotEvent(bot => bot.GetText(messageText)); DispatchBotEvent(bot => bot.GetText(messageText, message.content)); @@ -2636,8 +2636,8 @@ namespace MinecraftClient if (inventoryID != 0) { - Log.Info(Translations.Get("extra.inventory_open", inventoryID, inventory.Title)); - Log.Info(Translations.Get("extra.inventory_interact")); + Log.Info(string.Format(Translations.extra_inventory_open, inventoryID, inventory.Title)); + Log.Info(Translations.extra_inventory_interact); DispatchBotEvent(bot => bot.OnInventoryOpen(inventoryID)); } } @@ -2658,7 +2658,7 @@ namespace MinecraftClient if (inventoryID != 0) { - Log.Info(Translations.Get("extra.inventory_close", inventoryID)); + Log.Info(string.Format(Translations.extra_inventory_close, inventoryID)); DispatchBotEvent(bot => bot.OnInventoryClose(inventoryID)); } } @@ -2712,22 +2712,22 @@ namespace MinecraftClient StringBuilder sb = new(); - sb.AppendLine(Translations.TryGet("Enchantment.enchantments_available") + ":"); + sb.AppendLine(Translations.Enchantment_enchantments_available + ":"); - sb.AppendLine(Translations.TryGet("Enchantment.tops_slot") + ":\t" + sb.AppendLine(Translations.Enchantment_tops_slot + ":\t" + EnchantmentMapping.GetEnchantmentName(topEnchantment) + " " + EnchantmentMapping.ConvertLevelToRomanNumbers(topEnchantmentLevel) + " (" - + topEnchantmentLevelRequirement + " " + Translations.TryGet("Enchantment.levels") + ")"); + + topEnchantmentLevelRequirement + " " + Translations.Enchantment_levels + ")"); - sb.AppendLine(Translations.TryGet("Enchantment.middle_slot") + ":\t" + sb.AppendLine(Translations.Enchantment_middle_slot + ":\t" + EnchantmentMapping.GetEnchantmentName(middleEnchantment) + " " + EnchantmentMapping.ConvertLevelToRomanNumbers(middleEnchantmentLevel) + " (" - + middleEnchantmentLevelRequirement + " " + Translations.TryGet("Enchantment.levels") + ")"); + + middleEnchantmentLevelRequirement + " " + Translations.Enchantment_levels + ")"); - sb.AppendLine(Translations.TryGet("Enchantment.bottom_slot") + ":\t" + sb.AppendLine(Translations.Enchantment_bottom_slot + ":\t" + EnchantmentMapping.GetEnchantmentName(bottomEnchantment) + " " + EnchantmentMapping.ConvertLevelToRomanNumbers(bottomEnchantmentLevel) + " (" - + bottomEnchantmentLevelRequirement + " " + Translations.TryGet("Enchantment.levels") + ")"); + + bottomEnchantmentLevelRequirement + " " + Translations.Enchantment_levels + ")"); Log.Info(sb.ToString()); @@ -3138,12 +3138,12 @@ namespace MinecraftClient { if (Config.Main.Advanced.AutoRespawn) { - Log.Info(Translations.Get("mcc.player_dead_respawn")); + Log.Info(Translations.mcc_player_dead_respawn); respawnTicks = 10; } else { - Log.Info(Translations.Get("mcc.player_dead", Config.Main.Advanced.InternalCmdChar.ToLogString())); + Log.Info(string.Format(Translations.mcc_player_dead, Config.Main.Advanced.InternalCmdChar.ToLogString())); } DispatchBotEvent(bot => bot.OnDeath()); } diff --git a/MinecraftClient/MinecraftClient.csproj b/MinecraftClient/MinecraftClient.csproj index 3fd436e6..0367ff36 100644 --- a/MinecraftClient/MinecraftClient.csproj +++ b/MinecraftClient/MinecraftClient.csproj @@ -25,12 +25,6 @@ - - - - - - @@ -78,8 +72,27 @@ - - + + True + True + AsciiArt.resx + + + True + True + Translations.resx + + + + + ResXFileCodeGenerator + AsciiArt.Designer.cs + MinecraftClient + + + ResXFileCodeGenerator + Translations.Designer.cs + MinecraftClient diff --git a/MinecraftClient/Program.cs b/MinecraftClient/Program.cs index 5f7c5bf0..ac82421e 100644 --- a/MinecraftClient/Program.cs +++ b/MinecraftClient/Program.cs @@ -42,7 +42,7 @@ namespace MinecraftClient { private static McClient? client; public static string[]? startupargs; - public static readonly CultureInfo ActualCulture = CultureInfo.CurrentCulture; + public static CultureInfo ActualCulture = CultureInfo.CurrentCulture; public const string Version = MCHighestVersion; public const string MCLowestVersion = "1.4.6"; @@ -58,8 +58,6 @@ namespace MinecraftClient /// static void Main(string[] args) { - InitCulture(); - Task.Run(() => { // "ToLower" require "CultureInfo" to be initialized on first run, which can take a lot of time. @@ -135,15 +133,23 @@ namespace MinecraftClient newlyGenerated = true; } - if (!loadSucceed) + if (needWriteDefaultSetting) + { + Config.Main.Advanced.Language = Settings.GetDefaultGameLanguage(); + WriteBackSettings(false); + if (newlyGenerated) + ConsoleIO.WriteLineFormatted(Translations.mcc_settings_generated); + ConsoleIO.WriteLine(Translations.mcc_run_with_default_settings); + } + else if (!loadSucceed) { ConsoleInteractive.ConsoleReader.StopReadThread(); string command = " "; while (command.Length > 0) { ConsoleIO.WriteLine(string.Empty); - ConsoleIO.WriteLineFormatted(Translations.Get("mcc.invaild_config", Config.Main.Advanced.InternalCmdChar.ToLogString())); - Translations.WriteLineFormatted("mcc.press_exit"); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_invaild_config, Config.Main.Advanced.InternalCmdChar.ToLogString())); + ConsoleIO.WriteLineFormatted(Translations.mcc_press_exit, acceptnewlines: true); command = ConsoleInteractive.ConsoleReader.RequestImmediateInput().Trim(); if (command.Length > 0) { @@ -157,12 +163,9 @@ namespace MinecraftClient } else if (command.StartsWith("new")) { - (string gameLanguage, string[] langList) = Translations.GetTranslationPriority(); - Config.Main.Advanced.Language = gameLanguage; - Translations.LoadTranslationFile(langList); - + Config.Main.Advanced.Language = Settings.GetDefaultGameLanguage(); WriteBackSettings(true); - ConsoleIO.WriteLineFormatted(Translations.Get("mcc.gen_new_config", settingsIniPath)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_gen_new_config, settingsIniPath)); return; } } @@ -173,23 +176,11 @@ namespace MinecraftClient } return; } - else if (needWriteDefaultSetting) - { - (string gameLanguage, string[] langList) = Translations.GetTranslationPriority(); - Translations.LoadTranslationFile(langList); - Config.Main.Advanced.Language = gameLanguage; - - WriteBackSettings(false); - if (newlyGenerated) - ConsoleIO.WriteLineFormatted(Translations.TryGet("mcc.settings_generated")); - ConsoleIO.WriteLine(Translations.TryGet("mcc.run_with_default_settings")); - } else { //Load external translation file. Should be called AFTER settings loaded - Translations.LoadTranslationFile(Translations.GetTranslationPriority(Config.Main.Advanced.Language)); if (!Config.Main.Advanced.Language.StartsWith("en")) - ConsoleIO.WriteLine(Translations.TryGet("mcc.help_us_translate", Settings.TranslationDocUrl)); + ConsoleIO.WriteLine(string.Format(Translations.mcc_help_us_translate, Settings.TranslationProjectUrl)); WriteBackSettings(true); // format } @@ -197,7 +188,7 @@ namespace MinecraftClient if (Settings.CheckUpdate(Config.Head.CurrentVersion, Config.Head.LatestVersion)) { needPromptUpdate = false; - ConsoleIO.WriteLineFormatted(Translations.TryGet("mcc.has_update", Settings.GithubReleaseUrl)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_has_update, Settings.GithubReleaseUrl)); } //Other command-line arguments @@ -214,12 +205,6 @@ namespace MinecraftClient return; } - if (args.Contains("--trim-translation")) - { - Translations.TrimAllTranslations(); - return; - } - if (args.Contains("--generate")) { string dataGenerator = ""; @@ -230,7 +215,7 @@ namespace MinecraftClient if (argument.StartsWith("--") && !argument.Contains("--generate")) { if (!argument.Contains('=')) - throw new ArgumentException(Translations.Get("error.setting.argument_syntax", argument)); + throw new ArgumentException(string.Format(Translations.error_setting_argument_syntax, argument)); string[] argParts = argument[2..].Split('='); string argName = argParts[0].Trim(); @@ -251,31 +236,31 @@ namespace MinecraftClient if (string.IsNullOrEmpty(dataGenerator) || !(Settings.ToLowerIfNeed(dataGenerator).Equals("entity") || Settings.ToLowerIfNeed(dataGenerator).Equals("item") || Settings.ToLowerIfNeed(dataGenerator).Equals("block"))) { - Console.WriteLine(Translations.Get("error.generator.invalid")); - Console.WriteLine(Translations.Get("error.usage") + " MinecraftClient.exe --data-generator= --data-path=\"\""); + Console.WriteLine(Translations.error_generator_invalid); + Console.WriteLine(Translations.error_usage + " MinecraftClient.exe --data-generator= --data-path=\"\""); return; } if (string.IsNullOrEmpty(dataPath)) { - Console.WriteLine(Translations.Get("error.missing.argument", "--data-path")); - Console.WriteLine(Translations.Get("error.usage") + " MinecraftClient.exe --data-generator= --data-path=\"\""); + Console.WriteLine(string.Format(Translations.error_missing_argument, "--data-path")); + Console.WriteLine(Translations.error_usage + " MinecraftClient.exe --data-generator= --data-path=\"\""); return; } if (!File.Exists(dataPath)) { - Console.WriteLine(Translations.Get("error.generator.path", dataPath)); + Console.WriteLine(string.Format(Translations.error_generator_path, dataPath)); return; } if (!dataPath.EndsWith(".json")) { - Console.WriteLine(Translations.Get("error.generator.json", dataPath)); + Console.WriteLine(string.Format(Translations.error_generator_json, dataPath)); return; } - Console.WriteLine(Translations.Get("mcc.generator.generating", dataGenerator, dataPath)); + Console.WriteLine(string.Format(Translations.mcc_generator_generating, dataGenerator, dataPath)); switch (dataGenerator) { @@ -292,7 +277,7 @@ namespace MinecraftClient break; } - Console.WriteLine(Translations.Get("mcc.generator.done", dataGenerator, dataPath)); + Console.WriteLine(string.Format(Translations.mcc_generator_done, dataGenerator, dataPath)); return; } @@ -328,7 +313,7 @@ namespace MinecraftClient string latestVersion = string.Format("GitHub build {0}, built on {1}-{2}-{3}", run, year, month, day); if (needPromptUpdate) if (Settings.CheckUpdate(Config.Head.CurrentVersion, Config.Head.LatestVersion)) - ConsoleIO.WriteLineFormatted(Translations.TryGet("mcc.has_update", Settings.GithubReleaseUrl)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_has_update, Settings.GithubReleaseUrl)); if (latestVersion != Config.Head.LatestVersion) { Config.Head.LatestVersion = latestVersion; @@ -352,7 +337,7 @@ namespace MinecraftClient //Test line to troubleshoot invisible colors if (Config.Logging.DebugMessages) { - ConsoleIO.WriteLineFormatted(Translations.Get("debug.color_test", "[0123456789ABCDEF]: (4bit)[§00§11§22§33§44§55§66§77§88§99§aA§bB§cC§dD§eE§fF§r]")); + ConsoleIO.WriteLineFormatted(string.Format(Translations.debug_color_test, "[0123456789ABCDEF]: (4bit)[§00§11§22§33§44§55§66§77§88§99§aA§bB§cC§dD§eE§fF§r]")); Random random = new(); { // Test 8 bit color StringBuilder sb = new(); @@ -366,7 +351,7 @@ namespace MinecraftClient TerminalColorDepthType.bit_8)).Append(i); } sb.Append(ColorHelper.GetResetEscapeCode()).Append(']'); - ConsoleIO.WriteLine(Translations.Get("debug.color_test", sb.ToString())); + ConsoleIO.WriteLine(string.Format(Translations.debug_color_test, sb.ToString())); } { // Test 24 bit color StringBuilder sb = new(); @@ -380,7 +365,7 @@ namespace MinecraftClient TerminalColorDepthType.bit_24)).Append(i); } sb.Append(ColorHelper.GetResetEscapeCode()).Append(']'); - ConsoleIO.WriteLine(Translations.Get("debug.color_test", sb.ToString())); + ConsoleIO.WriteLine(string.Format(Translations.debug_color_test, sb.ToString())); } } @@ -389,7 +374,7 @@ namespace MinecraftClient { bool cacheLoaded = SessionCache.InitializeDiskCache(); if (Config.Logging.DebugMessages) - Translations.WriteLineFormatted(cacheLoaded ? "debug.session_cache_ok" : "debug.session_cache_fail"); + ConsoleIO.WriteLineFormatted(cacheLoaded ? Translations.debug_session_cache_ok : Translations.debug_session_cache_fail, acceptnewlines: true); } // Setup exit cleaning code @@ -399,11 +384,11 @@ namespace MinecraftClient bool useBrowser = Config.Main.General.AccountType == LoginType.microsoft && Config.Main.General.Method == LoginMethod.browser; if (string.IsNullOrEmpty(InternalConfig.Login) && !useBrowser) { - ConsoleIO.WriteLine(ConsoleIO.BasicIO ? Translations.Get("mcc.login_basic_io") : Translations.Get("mcc.login")); + ConsoleIO.WriteLine(ConsoleIO.BasicIO ? Translations.mcc_login_basic_io : Translations.mcc_login); InternalConfig.Login = ConsoleIO.ReadLine().Trim(); if (string.IsNullOrEmpty(InternalConfig.Login)) { - HandleFailure(Translations.Get("error.login.blocked"), false, ChatBot.DisconnectReason.LoginRejected); + HandleFailure(Translations.error_login_blocked, false, ChatBot.DisconnectReason.LoginRejected); return; } } @@ -427,7 +412,7 @@ namespace MinecraftClient /// private static void RequestPassword() { - ConsoleIO.WriteLine(ConsoleIO.BasicIO ? Translations.Get("mcc.password_basic_io", InternalConfig.Login) + "\n" : Translations.Get("mcc.password")); + ConsoleIO.WriteLine(ConsoleIO.BasicIO ? string.Format(Translations.mcc_password_basic_io, InternalConfig.Login) + "\n" : Translations.mcc_password); string? password = ConsoleIO.BasicIO ? Console.ReadLine() : ConsoleIO.ReadPassword(); if (password == null || password == string.Empty) { password = "-"; } InternalConfig.Password = password; @@ -448,7 +433,7 @@ namespace MinecraftClient string loginLower = Settings.ToLowerIfNeed(InternalConfig.Login); if (InternalConfig.Password == "-") { - Translations.WriteLineFormatted("mcc.offline"); + ConsoleIO.WriteLineFormatted(Translations.mcc_offline, acceptnewlines: true); result = ProtocolHandler.LoginResult.Success; session.PlayerID = "0"; session.PlayerName = InternalConfig.Username; @@ -462,7 +447,7 @@ namespace MinecraftClient result = ProtocolHandler.GetTokenValidation(session); if (result != ProtocolHandler.LoginResult.Success) { - Translations.WriteLineFormatted("mcc.session_invalid"); + ConsoleIO.WriteLineFormatted(Translations.mcc_session_invalid, acceptnewlines: true); // Try to refresh access token if (!string.IsNullOrWhiteSpace(session.RefreshToken)) { @@ -482,12 +467,12 @@ namespace MinecraftClient && Config.Main.General.AccountType == LoginType.mojang) RequestPassword(); } - else ConsoleIO.WriteLineFormatted(Translations.Get("mcc.session_valid", session.PlayerName)); + else ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_session_valid, session.PlayerName)); } if (result != ProtocolHandler.LoginResult.Success) { - Translations.WriteLine("mcc.connecting", Config.Main.General.AccountType == LoginType.mojang ? "Minecraft.net" : "Microsoft"); + ConsoleIO.WriteLine(string.Format(Translations.mcc_connecting, Config.Main.General.AccountType == LoginType.mojang ? "Minecraft.net" : "Microsoft")); result = ProtocolHandler.GetLogin(InternalConfig.Login, InternalConfig.Password, Config.Main.General.AccountType, out session); } @@ -510,7 +495,7 @@ namespace MinecraftClient ConsoleIcon.SetPlayerIconAsync(InternalConfig.Username); if (Config.Logging.DebugMessages) - Translations.WriteLine("debug.session_id", session.ID); + ConsoleIO.WriteLine(string.Format(Translations.debug_session_id, session.ID)); List availableWorlds = new(); if (Config.Main.Advanced.MinecraftRealms && !String.IsNullOrEmpty(session.ID)) @@ -518,7 +503,7 @@ namespace MinecraftClient if (InternalConfig.ServerIP == string.Empty) { - Translations.Write("mcc.ip"); + ConsoleIO.WriteLine(Translations.mcc_ip); string addressInput = ConsoleIO.ReadLine(); if (addressInput.StartsWith("realms:")) { @@ -526,7 +511,7 @@ namespace MinecraftClient { if (availableWorlds.Count == 0) { - HandleFailure(Translations.Get("error.realms.access_denied"), false, ChatBot.DisconnectReason.LoginRejected); + HandleFailure(Translations.error_realms_access_denied, false, ChatBot.DisconnectReason.LoginRejected); return; } string worldId = addressInput.Split(':')[1]; @@ -543,19 +528,19 @@ namespace MinecraftClient } else { - HandleFailure(Translations.Get("error.realms.server_unavailable"), false, ChatBot.DisconnectReason.LoginRejected); + HandleFailure(Translations.error_realms_server_unavailable, false, ChatBot.DisconnectReason.LoginRejected); return; } } else { - HandleFailure(Translations.Get("error.realms.server_id"), false, ChatBot.DisconnectReason.LoginRejected); + HandleFailure(Translations.error_realms_server_id, false, ChatBot.DisconnectReason.LoginRejected); return; } } else { - HandleFailure(Translations.Get("error.realms.disabled"), false, null); + HandleFailure(Translations.error_realms_disabled, false, null); return; } } @@ -571,9 +556,9 @@ namespace MinecraftClient protocolversion = Protocol.ProtocolHandler.MCVer2ProtocolVersion(InternalConfig.MinecraftVersion); if (protocolversion != 0) - ConsoleIO.WriteLineFormatted(Translations.Get("mcc.use_version", InternalConfig.MinecraftVersion, protocolversion)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_use_version, InternalConfig.MinecraftVersion, protocolversion)); else - ConsoleIO.WriteLineFormatted(Translations.Get("mcc.unknown_version", InternalConfig.MinecraftVersion)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_unknown_version, InternalConfig.MinecraftVersion)); if (useMcVersionOnce) { @@ -587,11 +572,12 @@ namespace MinecraftClient ((Config.Main.Advanced.EnableForge == ForgeConfigType.force) && !ProtocolHandler.ProtocolMayForceForge(protocolversion)))) { if (protocolversion != 0) - Translations.WriteLine("mcc.forge"); - else Translations.WriteLine("mcc.retrieve"); + ConsoleIO.WriteLine(Translations.mcc_forge); + else + ConsoleIO.WriteLine(Translations.mcc_retrieve); if (!ProtocolHandler.GetServerInfo(InternalConfig.ServerIP, InternalConfig.ServerPort, ref protocolversion, ref forgeInfo)) { - HandleFailure(Translations.Get("error.ping"), true, ChatBots.AutoRelog.DisconnectReason.ConnectionLost); + HandleFailure(Translations.error_ping, true, ChatBots.AutoRelog.DisconnectReason.ConnectionLost); return; } } @@ -604,21 +590,21 @@ namespace MinecraftClient { bool cacheKeyLoaded = KeysCache.InitializeDiskCache(); if (Config.Logging.DebugMessages) - Translations.WriteLineFormatted(cacheKeyLoaded ? "debug.keys_cache_ok" : "debug.keys_cache_fail"); + ConsoleIO.WriteLineFormatted(cacheKeyLoaded ? Translations.debug_keys_cache_ok : Translations.debug_keys_cache_fail, acceptnewlines: true); } if (Config.Main.Advanced.ProfileKeyCache != CacheType.none && KeysCache.Contains(loginLower)) { playerKeyPair = KeysCache.Get(loginLower); if (playerKeyPair.NeedRefresh()) - Translations.WriteLineFormatted("mcc.profile_key_invalid"); + ConsoleIO.WriteLineFormatted(Translations.mcc_profile_key_invalid, acceptnewlines: true); else - ConsoleIO.WriteLineFormatted(Translations.Get("mcc.profile_key_valid", session.PlayerName)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_profile_key_valid, session.PlayerName)); } if (playerKeyPair == null || playerKeyPair.NeedRefresh()) { - Translations.WriteLineFormatted("mcc.fetching_key"); + ConsoleIO.WriteLineFormatted(Translations.mcc_fetching_key, acceptnewlines: true); playerKeyPair = KeyUtils.GetNewProfileKeys(session.ID); if (Config.Main.Advanced.ProfileKeyCache != CacheType.none && playerKeyPair != null) { @@ -632,12 +618,12 @@ namespace MinecraftClient { if (ProtocolHandler.ProtocolMayForceForge(protocolversion)) { - Translations.WriteLine("mcc.forgeforce"); + ConsoleIO.WriteLine(Translations.mcc_forgeforce); forgeInfo = ProtocolHandler.ProtocolForceForge(protocolversion); } else { - HandleFailure(Translations.Get("error.forgeforce"), true, ChatBots.AutoRelog.DisconnectReason.ConnectionLost); + HandleFailure(Translations.error_forgeforce, true, ChatBots.AutoRelog.DisconnectReason.ConnectionLost); return; } } @@ -656,31 +642,31 @@ namespace MinecraftClient } catch (NotSupportedException) { - HandleFailure(Translations.Get("error.unsupported"), true); + HandleFailure(Translations.error_unsupported, true); } catch (Exception) { } } - else HandleFailure(Translations.Get("error.determine"), true); + else HandleFailure(Translations.error_determine, true); } else { - string failureMessage = Translations.Get("error.login"); - string failureReason = ""; + string failureMessage = Translations.error_login; + string failureReason = string.Empty; failureReason = result switch { #pragma warning disable format // @formatter:off - ProtocolHandler.LoginResult.AccountMigrated => "error.login.migrated", - ProtocolHandler.LoginResult.ServiceUnavailable => "error.login.server", - ProtocolHandler.LoginResult.WrongPassword => "error.login.blocked", - ProtocolHandler.LoginResult.InvalidResponse => "error.login.response", - ProtocolHandler.LoginResult.NotPremium => "error.login.premium", - ProtocolHandler.LoginResult.OtherError => "error.login.network", - ProtocolHandler.LoginResult.SSLError => "error.login.ssl", - ProtocolHandler.LoginResult.UserCancel => "error.login.cancel", - _ => "error.login.unknown", + ProtocolHandler.LoginResult.AccountMigrated => Translations.error_login_migrated, + ProtocolHandler.LoginResult.ServiceUnavailable => Translations.error_login_server, + ProtocolHandler.LoginResult.WrongPassword => Translations.error_login_blocked, + ProtocolHandler.LoginResult.InvalidResponse => Translations.error_login_response, + ProtocolHandler.LoginResult.NotPremium => Translations.error_login_premium, + ProtocolHandler.LoginResult.OtherError => Translations.error_login_network, + ProtocolHandler.LoginResult.SSLError => Translations.error_login_ssl, + ProtocolHandler.LoginResult.UserCancel => Translations.error_login_cancel, + _ => Translations.error_login_unknown, #pragma warning restore format // @formatter:on }; - failureMessage += Translations.Get(failureReason); + failureMessage += failureReason; HandleFailure(failureMessage, false, ChatBot.DisconnectReason.LoginRejected); } } @@ -691,7 +677,7 @@ namespace MinecraftClient public static void ReloadSettings() { if(Settings.LoadFromFile(settingsIniPath).Item1) - ConsoleIO.WriteLine(Translations.TryGet("config.load", settingsIniPath)); + ConsoleIO.WriteLine(string.Format(Translations.config_load, settingsIniPath)); } /// @@ -715,10 +701,10 @@ namespace MinecraftClient if (offlinePrompt != null) { offlinePrompt.Item2.Cancel(); offlinePrompt.Item1.Join(); offlinePrompt = null; ConsoleIO.Reset(); } if (delaySeconds > 0) { - Translations.WriteLine("mcc.restart_delay", delaySeconds); - System.Threading.Thread.Sleep(delaySeconds * 1000); + ConsoleIO.WriteLine(string.Format(Translations.mcc_restart_delay, delaySeconds)); + Thread.Sleep(delaySeconds * 1000); } - Translations.WriteLine("mcc.restart"); + ConsoleIO.WriteLine(Translations.mcc_restart); ReloadSettings(); InitializeClient(); })).Start(); @@ -727,7 +713,7 @@ namespace MinecraftClient public static void DoExit(int exitcode = 0) { WriteBackSettings(true); - ConsoleIO.WriteLineFormatted(Translations.TryGet("config.saving", settingsIniPath)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.config_saving, settingsIniPath)); if (client != null) { client.Disconnect(); ConsoleIO.Reset(); } if (offlinePrompt != null) { offlinePrompt.Item2.Cancel(); offlinePrompt.Item1.Join(); offlinePrompt = null; ConsoleIO.Reset(); } @@ -770,7 +756,7 @@ namespace MinecraftClient { if (versionError) { - Translations.Write("mcc.server_version"); + ConsoleIO.WriteLine(Translations.mcc_server_version); InternalConfig.MinecraftVersion = ConsoleInteractive.ConsoleReader.RequestImmediateInput(); if (InternalConfig.MinecraftVersion != "") { @@ -790,8 +776,8 @@ namespace MinecraftClient bool exitThread = false; string command = " "; ConsoleIO.WriteLine(string.Empty); - ConsoleIO.WriteLineFormatted(Translations.Get("mcc.disconnected", Config.Main.Advanced.InternalCmdChar.ToLogString())); - Translations.WriteLineFormatted("mcc.press_exit"); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_disconnected, Config.Main.Advanced.InternalCmdChar.ToLogString())); + ConsoleIO.WriteLineFormatted(Translations.mcc_press_exit, acceptnewlines: true); while (!cancellationTokenSource.IsCancellationRequested) { @@ -844,7 +830,7 @@ namespace MinecraftClient new Commands.Connect().GetCmdDescTranslated()); } else - ConsoleIO.WriteLineFormatted(Translations.Get("icmd.unknown", command.Split(' ')[0])); + ConsoleIO.WriteLineFormatted(string.Format(Translations.icmd_unknown, command.Split(' ')[0])); if (message != "") ConsoleIO.WriteLineFormatted("§8MCC: " + message); @@ -890,15 +876,6 @@ namespace MinecraftClient return assembly.GetTypes().Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)).ToArray(); } - public static void InitCulture() - { - CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); - CultureInfo.DefaultThreadCurrentCulture = culture; - CultureInfo.DefaultThreadCurrentUICulture = culture; - Thread.CurrentThread.CurrentCulture = culture; - Thread.CurrentThread.CurrentUICulture = culture; - } - /// /// Static initialization of build information, read from assembly information /// diff --git a/MinecraftClient/Protocol/Handlers/Forge/ForgeInfo.cs b/MinecraftClient/Protocol/Handlers/Forge/ForgeInfo.cs index 9e82a2ea..781cfd5a 100755 --- a/MinecraftClient/Protocol/Handlers/Forge/ForgeInfo.cs +++ b/MinecraftClient/Protocol/Handlers/Forge/ForgeInfo.cs @@ -47,7 +47,7 @@ namespace MinecraftClient.Protocol.Handlers.Forge Version = fmlVersion; break; default: - throw new InvalidOperationException(Translations.Get("error.forgeforce")); + throw new InvalidOperationException(Translations.error_forgeforce); } } diff --git a/MinecraftClient/Protocol/Handlers/PacketType18Handler.cs b/MinecraftClient/Protocol/Handlers/PacketType18Handler.cs index b0ad5125..20e4ce02 100644 --- a/MinecraftClient/Protocol/Handlers/PacketType18Handler.cs +++ b/MinecraftClient/Protocol/Handlers/PacketType18Handler.cs @@ -48,7 +48,7 @@ namespace MinecraftClient.Protocol.Handlers { PacketTypePalette p; if (protocol > Protocol18Handler.MC_1_19_2_Version) - throw new NotImplementedException(Translations.Get("exception.palette.packet")); + throw new NotImplementedException(Translations.exception_palette_packet); if (protocol <= Protocol18Handler.MC_1_8_Version) p = new PacketPalette17(); diff --git a/MinecraftClient/Protocol/Handlers/Protocol16.cs b/MinecraftClient/Protocol/Handlers/Protocol16.cs index 1270f3c1..b9f6fbfb 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol16.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol16.cs @@ -43,19 +43,19 @@ namespace MinecraftClient.Protocol.Handlers if (Handler.GetTerrainEnabled()) { - Translations.WriteLineFormatted("extra.terrainandmovement_disabled"); + ConsoleIO.WriteLineFormatted(Translations.extra_terrainandmovement_disabled, acceptnewlines: true); Handler.SetTerrainEnabled(false); } if (handler.GetInventoryEnabled()) { - Translations.WriteLineFormatted("extra.inventory_disabled"); + ConsoleIO.WriteLineFormatted(Translations.extra_inventory_disabled, acceptnewlines: true); handler.SetInventoryEnabled(false); } if (handler.GetEntityHandlingEnabled()) { - Translations.WriteLineFormatted("extra.entity_disabled"); + ConsoleIO.WriteLineFormatted(Translations.extra_entity_disabled, acceptnewlines: true); handler.SetEntityHandlingEnabled(false); } } @@ -184,7 +184,7 @@ namespace MinecraftClient.Protocol.Handlers case 0x84: ReadData(11); nbr = ReadNextShort(); if (nbr > 0) { ReadData(nbr); } break; case 0x85: if (protocolversion >= 74) { ReadData(13); } break; case 0xC8: - if (ReadNextInt() == 2022) { Translations.WriteLogLine("mcc.player_dead"); } + if (ReadNextInt() == 2022) { ConsoleIO.WriteLogLine(Translations.mcc_player_dead, acceptnewlines: true); } if (protocolversion >= 72) { ReadData(4); } else ReadData(1); break; case 0xC9: @@ -494,15 +494,15 @@ namespace MinecraftClient.Protocol.Handlers byte[] token = ReadNextByteArray(); if (serverID == "-") - Translations.WriteLineFormatted("mcc.server_offline"); + ConsoleIO.WriteLineFormatted(Translations.mcc_server_offline, acceptnewlines: true); else if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("mcc.handshake", serverID)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_handshake, serverID)); return StartEncryption(uuid, username, sessionID, token, serverID, PublicServerkey, session); } else { - Translations.WriteLineFormatted("error.invalid_response"); + ConsoleIO.WriteLineFormatted(Translations.error_invalid_response, acceptnewlines: true); return false; } } @@ -513,11 +513,11 @@ namespace MinecraftClient.Protocol.Handlers byte[] secretKey = CryptoHandler.ClientAESPrivateKey ?? CryptoHandler.GenerateAESPrivateKey(); if (Settings.Config.Logging.DebugMessages) - Translations.WriteLineFormatted("debug.crypto"); + ConsoleIO.WriteLineFormatted(Translations.debug_crypto, acceptnewlines: true); if (serverIDhash != "-") { - Translations.WriteLine("mcc.session"); + ConsoleIO.WriteLine(Translations.mcc_session); string serverHash = CryptoHandler.GetServerHash(serverIDhash, serverPublicKey, secretKey); bool needCheckSession = true; @@ -539,7 +539,7 @@ namespace MinecraftClient.Protocol.Handlers } else { - handler.OnConnectionLost(ChatBot.DisconnectReason.LoginRejected, Translations.Get("mcc.session_fail")); + handler.OnConnectionLost(ChatBot.DisconnectReason.LoginRejected, Translations.mcc_session_fail); return false; } } @@ -578,7 +578,7 @@ namespace MinecraftClient.Protocol.Handlers } else { - Translations.WriteLineFormatted("error.invalid_encrypt"); + ConsoleIO.WriteLineFormatted(Translations.error_invalid_encrypt, acceptnewlines: true); return false; } } @@ -891,7 +891,7 @@ namespace MinecraftClient.Protocol.Handlers version = "B1.8.1 - 1.3.2"; } - ConsoleIO.WriteLineFormatted(Translations.Get("mcc.use_version", version, protocolversion)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_use_version, version, protocolversion)); return true; } diff --git a/MinecraftClient/Protocol/Handlers/Protocol18.cs b/MinecraftClient/Protocol/Handlers/Protocol18.cs index 02d3068e..260a3b96 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol18.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol18.cs @@ -107,24 +107,24 @@ namespace MinecraftClient.Protocol.Handlers if (handler.GetTerrainEnabled() && protocolVersion > MC_1_19_2_Version) { - log.Error(Translations.Get("extra.terrainandmovement_disabled")); + log.Error(Translations.extra_terrainandmovement_disabled); handler.SetTerrainEnabled(false); } if (handler.GetInventoryEnabled() && (protocolVersion < MC_1_10_Version || protocolVersion > MC_1_19_2_Version)) { - log.Error(Translations.Get("extra.inventory_disabled")); + log.Error(Translations.extra_inventory_disabled); handler.SetInventoryEnabled(false); } if (handler.GetEntityHandlingEnabled() && (protocolVersion < MC_1_10_Version || protocolVersion > MC_1_19_2_Version)) { - log.Error(Translations.Get("extra.entity_disabled")); + log.Error(Translations.extra_entity_disabled); handler.SetEntityHandlingEnabled(false); } // Block palette if (protocolVersion > MC_1_19_2_Version && handler.GetTerrainEnabled()) - throw new NotImplementedException(Translations.Get("exception.palette.block")); + throw new NotImplementedException(Translations.exception_palette_block); if (protocolVersion >= MC_1_19_Version) Block.Palette = new Palette119(); @@ -143,7 +143,7 @@ namespace MinecraftClient.Protocol.Handlers // Entity palette if (protocolVersion > MC_1_19_2_Version && handler.GetEntityHandlingEnabled()) - throw new NotImplementedException(Translations.Get("exception.palette.entity")); + throw new NotImplementedException(Translations.exception_palette_entity); if (protocolVersion >= MC_1_19_Version) entityPalette = new EntityPalette119(); @@ -164,7 +164,7 @@ namespace MinecraftClient.Protocol.Handlers // Item palette if (protocolVersion > MC_1_19_2_Version && handler.GetInventoryEnabled()) - throw new NotImplementedException(Translations.Get("exception.palette.item")); + throw new NotImplementedException(Translations.exception_palette_item); if (protocolVersion >= MC_1_19_Version) itemPalette = new ItemPalette119(); @@ -587,7 +587,7 @@ namespace MinecraftClient.Protocol.Handlers bool lastVerifyResult = player.IsMessageChainLegal(); verifyResult = player.VerifyMessage(signedChat, timestamp, salt, ref headerSignature, ref precedingSignature, lastSeenMessages); if (lastVerifyResult && !verifyResult) - log.Warn(Translations.Get("chat.message_chain_broken", senderDisplayName)); + log.Warn(string.Format(Translations.chat_message_chain_broken, senderDisplayName)); } } @@ -649,7 +649,7 @@ namespace MinecraftClient.Protocol.Handlers bool lastVerifyResult = player.IsMessageChainLegal(); verifyResult = player.VerifyMessageHead(ref precedingSignature, ref headerSignature, ref bodyDigest); if (lastVerifyResult && !verifyResult) - log.Warn(Translations.Get("chat.message_chain_broken", player.Name)); + log.Warn(string.Format(Translations.chat_message_chain_broken, player.Name)); } } } @@ -1647,7 +1647,7 @@ namespace MinecraftClient.Protocol.Handlers int healthField; // See https://wiki.vg/Entity_metadata#Living_Entity if (protocolVersion > MC_1_19_2_Version) - throw new NotImplementedException(Translations.Get("exception.palette.healthfield")); + throw new NotImplementedException(Translations.exception_palette_healthfield); else if (protocolVersion >= MC_1_17_Version) // 1.17 and above healthField = 9; else if (protocolVersion >= MC_1_14_Version) // 1.14 and above @@ -1655,7 +1655,7 @@ namespace MinecraftClient.Protocol.Handlers else if (protocolVersion >= MC_1_10_Version) // 1.10 and above healthField = 7; else - throw new NotImplementedException(Translations.Get("exception.palette.healthfield")); + throw new NotImplementedException(Translations.exception_palette_healthfield); if (metadata.TryGetValue(healthField, out object? healthObj) && healthObj != null && healthObj.GetType() == typeof(float)) handler.OnEntityHealth(EntityID, (float)healthObj); @@ -1788,7 +1788,7 @@ namespace MinecraftClient.Protocol.Handlers if (innerException is ThreadAbortException || innerException is SocketException || innerException.InnerException is SocketException) throw; //Thread abort or Connection lost rather than invalid data throw new System.IO.InvalidDataException( - Translations.Get("exception.packet_process", + string.Format(Translations.exception_packet_process, packetPalette.GetIncommingTypeById(packetID), packetID, protocolVersion, @@ -1953,12 +1953,12 @@ namespace MinecraftClient.Protocol.Handlers } else if (packetID == 0x02) //Login successful { - log.Info(Translations.Get("mcc.server_offline")); + log.Info(Translations.mcc_server_offline); login_phase = false; if (!pForge.CompleteForgeHandshake()) { - log.Error(Translations.Get("error.forge")); + log.Error(Translations.error_forge); return false; } @@ -1978,11 +1978,11 @@ namespace MinecraftClient.Protocol.Handlers RSACryptoServiceProvider RSAService = CryptoHandler.DecodeRSAPublicKey(serverPublicKey)!; byte[] secretKey = CryptoHandler.ClientAESPrivateKey ?? CryptoHandler.GenerateAESPrivateKey(); - log.Debug(Translations.Get("debug.crypto")); + log.Debug(Translations.debug_crypto); if (serverIDhash != "-") { - log.Info(Translations.Get("mcc.session")); + log.Info(Translations.mcc_session); bool needCheckSession = true; if (session.ServerPublicKey != null && session.SessionPreCheckTask != null @@ -2005,7 +2005,7 @@ namespace MinecraftClient.Protocol.Handlers } else { - handler.OnConnectionLost(ChatBot.DisconnectReason.LoginRejected, Translations.Get("mcc.session_fail")); + handler.OnConnectionLost(ChatBot.DisconnectReason.LoginRejected, Translations.mcc_session_fail); return false; } } @@ -2047,7 +2047,7 @@ namespace MinecraftClient.Protocol.Handlers (int packetID, Queue packetData) = ReadNextPacket(); if (packetID < 0 || loopPrevention-- < 0) // Failed to read packet or too many iterations (issue #1150) { - handler.OnConnectionLost(ChatBot.DisconnectReason.ConnectionLost, Translations.Get("error.invalid_encrypt")); + handler.OnConnectionLost(ChatBot.DisconnectReason.ConnectionLost, Translations.error_invalid_encrypt); return false; } else if (packetID == 0x00) //Login rejected @@ -2083,7 +2083,7 @@ namespace MinecraftClient.Protocol.Handlers if (!pForge.CompleteForgeHandshake()) { - log.Error(Translations.Get("error.forge_encrypt")); + log.Error(Translations.error_forge_encrypt); return false; } @@ -2221,7 +2221,7 @@ namespace MinecraftClient.Protocol.Handlers // Check for forge on the server. Protocol18Forge.ServerInfoCheckForge(jsonData, ref forgeInfo); - ConsoleIO.WriteLineFormatted(Translations.Get("mcc.server_protocol", version, protocolVersion + (forgeInfo != null ? Translations.Get("mcc.with_forge") : ""))); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_server_protocol, version, protocolVersion + (forgeInfo != null ? Translations.mcc_with_forge : ""))); return true; } diff --git a/MinecraftClient/Protocol/Handlers/Protocol18Forge.cs b/MinecraftClient/Protocol/Handlers/Protocol18Forge.cs index 102d9fad..382ba5c5 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol18Forge.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol18Forge.cs @@ -131,7 +131,7 @@ namespace MinecraftClient.Protocol.Handlers byte fmlProtocolVersion = dataTypes.ReadNextByte(packetData); if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("forge.version", fmlProtocolVersion)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.forge_version, fmlProtocolVersion)); if (fmlProtocolVersion >= 1) currentDimension = dataTypes.ReadNextInt(packetData); @@ -141,7 +141,7 @@ namespace MinecraftClient.Protocol.Handlers // Then tell the server that we're running the same mods. if (Settings.Config.Logging.DebugMessages) - Translations.WriteLineFormatted("forge.send_mod"); + ConsoleIO.WriteLineFormatted(Translations.forge_send_mod, acceptnewlines: true); byte[][] mods = new byte[forgeInfo.Mods.Count][]; for (int i = 0; i < forgeInfo.Mods.Count; i++) { @@ -161,7 +161,7 @@ namespace MinecraftClient.Protocol.Handlers Thread.Sleep(2000); if (Settings.Config.Logging.DebugMessages) - Translations.WriteLineFormatted("forge.accept"); + ConsoleIO.WriteLineFormatted(Translations.forge_accept, acceptnewlines: true); // Tell the server that yes, we are OK with the mods it has // even though we don't actually care what mods it has. @@ -183,7 +183,7 @@ namespace MinecraftClient.Protocol.Handlers int registrySize = dataTypes.ReadNextVarInt(packetData); if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("forge.registry", registrySize)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.forge_registry, registrySize)); fmlHandshakeState = FMLHandshakeClientState.PENDINGCOMPLETE; } @@ -195,7 +195,7 @@ namespace MinecraftClient.Protocol.Handlers string registryName = dataTypes.ReadNextString(packetData); int registrySize = dataTypes.ReadNextVarInt(packetData); if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("forge.registry_2", registryName, registrySize)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.forge_registry_2, registryName, registrySize)); if (!hasNextRegistry) fmlHandshakeState = FMLHandshakeClientState.PENDINGCOMPLETE; } @@ -207,7 +207,7 @@ namespace MinecraftClient.Protocol.Handlers if (discriminator != FMLHandshakeDiscriminator.HandshakeAck) return false; if (Settings.Config.Logging.DebugMessages) - Translations.WriteLineFormatted("forge.accept_registry"); + ConsoleIO.WriteLineFormatted(Translations.forge_accept_registry, acceptnewlines: true); SendForgeHandshakePacket(FMLHandshakeDiscriminator.HandshakeAck, new byte[] { (byte)FMLHandshakeClientState.PENDINGCOMPLETE }); fmlHandshakeState = FMLHandshakeClientState.COMPLETE; @@ -221,7 +221,7 @@ namespace MinecraftClient.Protocol.Handlers SendForgeHandshakePacket(FMLHandshakeDiscriminator.HandshakeAck, new byte[] { (byte)FMLHandshakeClientState.COMPLETE }); if (Settings.Config.Logging.DebugMessages) - Translations.WriteLine("forge.complete"); + ConsoleIO.WriteLine(Translations.forge_complete); fmlHandshakeState = FMLHandshakeClientState.DONE; return true; } @@ -301,7 +301,7 @@ namespace MinecraftClient.Protocol.Handlers // [1]: Version is usually set to "FML2" for FML stuff and "1" for mods if (Settings.Config.Logging.DebugMessages) - Translations.WriteLineFormatted("forge.fml2.mod"); + ConsoleIO.WriteLineFormatted(Translations.forge_fml2_mod, acceptnewlines: true); List mods = new(); int modCount = dataTypes.ReadNextVarInt(packetData); @@ -333,7 +333,7 @@ namespace MinecraftClient.Protocol.Handlers // In MCC, we just want to send a valid response so we'll reply back with data collected from the server. if (Settings.Config.Logging.DebugMessages) - Translations.WriteLineFormatted("forge.fml2.mod_send"); + ConsoleIO.WriteLineFormatted(Translations.forge_fml2_mod_send, acceptnewlines: true); // Packet ID 2: Client to Server Mod List fmlResponsePacket.AddRange(dataTypes.GetVarInt(2)); @@ -371,7 +371,7 @@ namespace MinecraftClient.Protocol.Handlers if (Settings.Config.Logging.DebugMessages) { string registryName = dataTypes.ReadNextString(packetData); - ConsoleIO.WriteLineFormatted(Translations.Get("forge.fml2.registry", registryName)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.forge_fml2_registry, registryName)); } fmlResponsePacket.AddRange(dataTypes.GetVarInt(99)); @@ -390,7 +390,7 @@ namespace MinecraftClient.Protocol.Handlers if (Settings.Config.Logging.DebugMessages) { string configName = dataTypes.ReadNextString(packetData); - ConsoleIO.WriteLineFormatted(Translations.Get("forge.fml2.config", configName)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.forge_fml2_config, configName)); } fmlResponsePacket.AddRange(dataTypes.GetVarInt(99)); @@ -399,7 +399,7 @@ namespace MinecraftClient.Protocol.Handlers default: if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("forge.fml2.unknown", packetID)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.forge_fml2_unknown, packetID)); break; } @@ -415,7 +415,7 @@ namespace MinecraftClient.Protocol.Handlers } else if (Settings.Config.Logging.DebugMessages) { - ConsoleIO.WriteLineFormatted(Translations.Get("forge.fml2.unknown_channel", fmlChannel)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.forge_fml2_unknown_channel, fmlChannel)); } } return false; @@ -464,7 +464,7 @@ namespace MinecraftClient.Protocol.Handlers { return new ForgeInfo(FMLVersion.FML2); } - else throw new InvalidOperationException(Translations.Get("error.forgeforce")); + else throw new InvalidOperationException(Translations.error_forgeforce); } /// @@ -504,10 +504,10 @@ namespace MinecraftClient.Protocol.Handlers forgeInfo = new ForgeInfo(modData, fmlVersion); if (forgeInfo.Mods.Any()) { - ConsoleIO.WriteLineFormatted(Translations.Get("forge.with_mod", forgeInfo.Mods.Count)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.forge_with_mod, forgeInfo.Mods.Count)); if (Settings.Config.Logging.DebugMessages) { - Translations.WriteLineFormatted("forge.mod_list"); + ConsoleIO.WriteLineFormatted(Translations.forge_mod_list, acceptnewlines: true); foreach (ForgeInfo.ForgeMod mod in forgeInfo.Mods) ConsoleIO.WriteLineFormatted("§8 " + mod.ToString()); } @@ -515,7 +515,7 @@ namespace MinecraftClient.Protocol.Handlers } else { - Translations.WriteLineFormatted("forge.no_mod"); + ConsoleIO.WriteLineFormatted(Translations.forge_no_mod, acceptnewlines: true); forgeInfo = null; } } diff --git a/MinecraftClient/Protocol/Message/ChatParser.cs b/MinecraftClient/Protocol/Message/ChatParser.cs index 78f45f4e..47e02256 100644 --- a/MinecraftClient/Protocol/Message/ChatParser.cs +++ b/MinecraftClient/Protocol/Message/ChatParser.cs @@ -219,7 +219,7 @@ namespace MinecraftClient.Protocol //File not found? Try downloading language file from Mojang's servers? if (!File.Exists(Language_File)) { - ConsoleIO.WriteLineFormatted(Translations.Get("chat.download", Config.Main.Advanced.Language)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.chat_download, Config.Main.Advanced.Language)); HttpClient httpClient = new(); try { @@ -233,7 +233,7 @@ namespace MinecraftClient.Protocol string hash = tmp[1].Split('"')[0]; //Translations file identifier on Mojang's servers string translation_file_location = Settings.TranslationsFile_Website_Download + '/' + hash[..2] + '/' + hash; if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("chat.request", translation_file_location)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.chat_request, translation_file_location)); Task fetch_file = httpClient.GetStringAsync(translation_file_location); fetch_file.Wait(); @@ -245,11 +245,11 @@ namespace MinecraftClient.Protocol stringBuilder.Append(entry.Key).Append('=').Append(entry.Value.StringValue.Replace("\n", "\\n").Replace("\r", String.Empty)).Append(Environment.NewLine); File.WriteAllText(Language_File, stringBuilder.ToString()); - ConsoleIO.WriteLineFormatted(Translations.Get("chat.done", Language_File)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.chat_done, Language_File)); } catch { - Translations.WriteLineFormatted("chat.fail"); + ConsoleIO.WriteLineFormatted(Translations.chat_fail, acceptnewlines: true); } httpClient.Dispose(); } @@ -259,7 +259,7 @@ namespace MinecraftClient.Protocol && File.Exists(Settings.TranslationsFile_FromMCDir)) { Language_File = Settings.TranslationsFile_FromMCDir; - Translations.WriteLineFormatted("chat.from_dir"); + ConsoleIO.WriteLineFormatted(Translations.chat_from_dir, acceptnewlines: true); } //Load the external dictionnary of translation rules or display an error message @@ -278,11 +278,11 @@ namespace MinecraftClient.Protocol } if (Settings.Config.Logging.DebugMessages) - Translations.WriteLineFormatted("chat.loaded"); + ConsoleIO.WriteLineFormatted(Translations.chat_loaded, acceptnewlines: true); } else //No external dictionnary found. { - ConsoleIO.WriteLineFormatted(Translations.Get("chat.not_found", Language_File)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.chat_not_found, Language_File)); } } diff --git a/MinecraftClient/Protocol/ProfileKey/KeysCache.cs b/MinecraftClient/Protocol/ProfileKey/KeysCache.cs index b9bfc7f3..9962e2aa 100644 --- a/MinecraftClient/Protocol/ProfileKey/KeysCache.cs +++ b/MinecraftClient/Protocol/ProfileKey/KeysCache.cs @@ -116,7 +116,7 @@ namespace MinecraftClient.Protocol.Keys if (File.Exists(KeysCacheFilePlaintext)) { if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.loading_keys", KeysCacheFilePlaintext)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_loading_keys, KeysCacheFilePlaintext)); try { @@ -135,35 +135,35 @@ namespace MinecraftClient.Protocol.Keys PlayerKeyPair playerKeyPair = PlayerKeyPair.FromString(value); keys[login] = playerKeyPair; if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.loaded_keys", playerKeyPair.ExpiresAt.ToString())); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_loaded_keys, playerKeyPair.ExpiresAt.ToString())); } catch (InvalidDataException e) { if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.ignore_string_keys", value, e.Message)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_ignore_string_keys, value, e.Message)); } catch (FormatException e) { if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.ignore_string_keys", value, e.Message)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_ignore_string_keys, value, e.Message)); } catch (ArgumentNullException e) { if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.ignore_string_keys", value, e.Message)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_ignore_string_keys, value, e.Message)); } } else if (Settings.Config.Logging.DebugMessages) { - ConsoleIO.WriteLineFormatted(Translations.Get("cache.ignore_line_keys", line)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_ignore_line_keys, line)); } } } } catch (IOException e) { - ConsoleIO.WriteLineFormatted(Translations.Get("cache.read_fail_plain_keys", e.Message)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_read_fail_plain_keys, e.Message)); } } @@ -176,7 +176,7 @@ namespace MinecraftClient.Protocol.Keys private static void SaveToDisk() { if (Config.Logging.DebugMessages) - Translations.WriteLineFormatted("cache.saving_keys"); + ConsoleIO.WriteLineFormatted(Translations.cache_saving_keys, acceptnewlines: true); List KeysCacheLines = new() { @@ -192,7 +192,7 @@ namespace MinecraftClient.Protocol.Keys } catch (IOException e) { - ConsoleIO.WriteLineFormatted(Translations.Get("cache.save_fail_keys", e.Message)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_save_fail_keys, e.Message)); } } } diff --git a/MinecraftClient/Protocol/ProtocolHandler.cs b/MinecraftClient/Protocol/ProtocolHandler.cs index 513c276c..e3cba5a2 100644 --- a/MinecraftClient/Protocol/ProtocolHandler.cs +++ b/MinecraftClient/Protocol/ProtocolHandler.cs @@ -44,7 +44,7 @@ namespace MinecraftClient.Protocol { try { - Translations.WriteLine("mcc.resolve", domainVal); + ConsoleIO.WriteLine(string.Format(Translations.mcc_resolve, domainVal)); var lookupClient = new LookupClient(); var response = lookupClient.Query(new DnsQuestion($"_minecraft._tcp.{domainVal}", QueryType.SRV)); if (response.HasError != true && response.Answers.SrvRecords().Any()) @@ -56,7 +56,7 @@ namespace MinecraftClient.Protocol .ThenBy(record => Guid.NewGuid()) .First(); string target = result.Target.Value.Trim('.'); - ConsoleIO.WriteLineFormatted(Translations.Get("mcc.found", target, result.Port, domainVal)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_found, target, result.Port, domainVal)); domainVal = target; portVal = result.Port; foundService = true; @@ -64,7 +64,7 @@ namespace MinecraftClient.Protocol } catch (Exception e) { - ConsoleIO.WriteLineFormatted(Translations.Get("mcc.not_found", domainVal, e.GetType().FullName, e.Message)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.mcc_not_found, domainVal, e.GetType().FullName, e.Message)); } }, TimeSpan.FromSeconds(Config.Main.Advanced.ResolveSrvRecords == MainConfigHealper.MainConfig.AdvancedConfig.ResolveSrvRecordType.fast ? 10 : 30)); } @@ -95,7 +95,8 @@ namespace MinecraftClient.Protocol { success = true; } - else Translations.WriteLineFormatted("error.unexpect_response"); + else + ConsoleIO.WriteLineFormatted(Translations.error_unexpect_response, acceptnewlines: true); } catch (Exception e) { @@ -104,9 +105,9 @@ namespace MinecraftClient.Protocol }, TimeSpan.FromSeconds(Config.Main.Advanced.ResolveSrvRecords == MainConfigHealper.MainConfig.AdvancedConfig.ResolveSrvRecordType.fast ? 10 : 30))) { if (protocolversion != 0 && protocolversion != protocolversionTmp) - Translations.WriteLineFormatted("error.version_different"); + ConsoleIO.WriteLineFormatted(Translations.error_version_different, acceptnewlines: true); if (protocolversion == 0 && protocolversionTmp <= 1) - Translations.WriteLineFormatted("error.no_version_report"); + ConsoleIO.WriteLineFormatted(Translations.error_no_version_report, acceptnewlines: true); if (protocolversion == 0) protocolversion = protocolversionTmp; forgeInfo = forgeInfoTmp; @@ -114,7 +115,7 @@ namespace MinecraftClient.Protocol } else { - Translations.WriteLineFormatted("error.connection_timeout"); + ConsoleIO.WriteLineFormatted(Translations.error_connection_timeout, acceptnewlines: true); return false; } } @@ -138,7 +139,7 @@ namespace MinecraftClient.Protocol if (Array.IndexOf(supportedVersions_Protocol18, ProtocolVersion) > -1) return new Protocol18Handler(Client, ProtocolVersion, Handler, forgeInfo); - throw new NotSupportedException(Translations.Get("exception.version_unsupport", ProtocolVersion)); + throw new NotSupportedException(string.Format(Translations.exception_version_unsupport, ProtocolVersion)); } /// @@ -490,7 +491,7 @@ namespace MinecraftClient.Protocol } else { - ConsoleIO.WriteLineFormatted(Translations.Get("error.http_code", code)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.error_http_code, code)); return LoginResult.OtherError; } } @@ -692,7 +693,7 @@ namespace MinecraftClient.Protocol } else { - ConsoleIO.WriteLineFormatted(Translations.Get("error.auth", code)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.error_auth, code)); return LoginResult.OtherError; } } @@ -763,10 +764,10 @@ namespace MinecraftClient.Protocol } if (availableWorlds.Count > 0) { - Translations.WriteLine("mcc.realms_available"); + ConsoleIO.WriteLine(Translations.mcc_realms_available); foreach (var world in availableWorlds) ConsoleIO.WriteLine(world); - Translations.WriteLine("mcc.realms_join"); + ConsoleIO.WriteLine(Translations.mcc_realms_join); } } @@ -804,13 +805,13 @@ namespace MinecraftClient.Protocol return serverAddress.Properties["address"].StringValue; else { - Translations.WriteLine("error.realms.ip_error"); + ConsoleIO.WriteLine(Translations.error_realms_ip_error); return ""; } } else { - Translations.WriteLine("error.realms.access_denied"); + ConsoleIO.WriteLine(Translations.error_realms_access_denied); return ""; } } @@ -893,7 +894,7 @@ namespace MinecraftClient.Protocol try { if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("debug.request", host)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.debug_request, host)); TcpClient client = ProxyHandler.NewTcpClient(host, 443, true); SslStream stream = new(client.GetStream()); diff --git a/MinecraftClient/Protocol/Session/SessionCache.cs b/MinecraftClient/Protocol/Session/SessionCache.cs index 82ebe005..cf1b69f8 100644 --- a/MinecraftClient/Protocol/Session/SessionCache.cs +++ b/MinecraftClient/Protocol/Session/SessionCache.cs @@ -125,7 +125,7 @@ namespace MinecraftClient.Protocol.Session if (File.Exists(SessionCacheFileMinecraft)) { if (Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.loading", Path.GetFileName(SessionCacheFileMinecraft))); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_loading, Path.GetFileName(SessionCacheFileMinecraft))); Json.JSONData mcSession = new(Json.JSONData.DataType.String); try { @@ -158,7 +158,7 @@ namespace MinecraftClient.Protocol.Session clientID )); if (Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.loaded", login, session.ID)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_loaded, login, session.ID)); sessions[login] = session; } catch (InvalidDataException) { /* Not a valid session */ } @@ -172,7 +172,7 @@ namespace MinecraftClient.Protocol.Session if (File.Exists(SessionCacheFileSerialized)) { if (Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.converting", SessionCacheFileSerialized)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_converting, SessionCacheFileSerialized)); try { @@ -184,17 +184,17 @@ namespace MinecraftClient.Protocol.Session foreach (KeyValuePair item in sessionsTemp) { if (Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.loaded", item.Key, item.Value.ID)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_loaded, item.Key, item.Value.ID)); sessions[item.Key] = item.Value; } } catch (IOException ex) { - ConsoleIO.WriteLineFormatted(Translations.Get("cache.read_fail", ex.Message)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_read_fail, ex.Message)); } catch (SerializationException ex2) { - ConsoleIO.WriteLineFormatted(Translations.Get("cache.malformed", ex2.Message)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_malformed, ex2.Message)); } } @@ -202,7 +202,7 @@ namespace MinecraftClient.Protocol.Session if (File.Exists(SessionCacheFilePlaintext)) { if (Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.loading_session", SessionCacheFilePlaintext)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_loading_session, SessionCacheFilePlaintext)); try { @@ -218,25 +218,25 @@ namespace MinecraftClient.Protocol.Session string login = Settings.ToLowerIfNeed(keyValue[0]); SessionToken session = SessionToken.FromString(keyValue[1]); if (Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.loaded", login, session.ID)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_loaded, login, session.ID)); sessions[login] = session; } catch (InvalidDataException e) { if (Config.Logging.DebugMessages) - ConsoleIO.WriteLineFormatted(Translations.Get("cache.ignore_string", keyValue[1], e.Message)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_ignore_string, keyValue[1], e.Message)); } } else if (Config.Logging.DebugMessages) { - ConsoleIO.WriteLineFormatted(Translations.Get("cache.ignore_line", line)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_ignore_line, line)); } } } } catch (IOException e) { - ConsoleIO.WriteLineFormatted(Translations.Get("cache.read_fail_plain", e.Message)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_read_fail_plain, e.Message)); } } @@ -249,7 +249,7 @@ namespace MinecraftClient.Protocol.Session private static void SaveToDisk() { if (Config.Logging.DebugMessages) - Translations.WriteLineFormatted("cache.saving"); + ConsoleIO.WriteLineFormatted(Translations.cache_saving, acceptnewlines: true); List sessionCacheLines = new() { @@ -265,7 +265,7 @@ namespace MinecraftClient.Protocol.Session } catch (IOException e) { - ConsoleIO.WriteLineFormatted(Translations.Get("cache.save_fail", e.Message)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.cache_save_fail, e.Message)); } } } diff --git a/MinecraftClient/Proxy/ProxyHandler.cs b/MinecraftClient/Proxy/ProxyHandler.cs index 8a0e225d..50d65324 100644 --- a/MinecraftClient/Proxy/ProxyHandler.cs +++ b/MinecraftClient/Proxy/ProxyHandler.cs @@ -86,7 +86,7 @@ namespace MinecraftClient.Proxy if (!proxy_ok) { - ConsoleIO.WriteLineFormatted(Translations.Get("proxy.connected", Config.Server.Host, Config.Server.Port)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.proxy_connected, Config.Server.Host, Config.Server.Port)); proxy_ok = true; } diff --git a/MinecraftClient/DefaultConfigResource.Designer.cs b/MinecraftClient/Resources/AsciiArt/AsciiArt.Designer.cs similarity index 60% rename from MinecraftClient/DefaultConfigResource.Designer.cs rename to MinecraftClient/Resources/AsciiArt/AsciiArt.Designer.cs index 3b27b478..142a0f26 100644 --- a/MinecraftClient/DefaultConfigResource.Designer.cs +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.Designer.cs @@ -22,14 +22,14 @@ namespace MinecraftClient { [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class DefaultConfigResource { + internal class AsciiArt { private static global::System.Resources.ResourceManager resourceMan; private static global::System.Globalization.CultureInfo resourceCulture; [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal DefaultConfigResource() { + internal AsciiArt() { } /// @@ -39,7 +39,7 @@ namespace MinecraftClient { internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MinecraftClient.DefaultConfigResource", typeof(DefaultConfigResource).Assembly); + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MinecraftClient.Resources.AsciiArt.AsciiArt", typeof(AsciiArt).Assembly); resourceMan = temp; } return resourceMan; @@ -75,9 +75,9 @@ namespace MinecraftClient { ///║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ ///║╠═══╬═══╬═══╬═══╬══ [rest of string was truncated]";. /// - internal static string ContainerType_BrewingStand { + internal static string Container_BrewingStand { get { - return ResourceManager.GetString("ContainerType_BrewingStand", resourceCulture); + return ResourceManager.GetString("Container.BrewingStand", resourceCulture); } } @@ -96,9 +96,9 @@ namespace MinecraftClient { ///║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ ///║╠═══╬═══╬═══╬═══╬══ [rest of string was truncated]";. /// - internal static string ContainerType_Crafting { + internal static string Container_Crafting { get { - return ResourceManager.GetString("ContainerType_Crafting", resourceCulture); + return ResourceManager.GetString("Container.Crafting", resourceCulture); } } @@ -117,9 +117,9 @@ namespace MinecraftClient { ///║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ ///║╠═══╬═══╬═══╬═══╬══ [rest of string was truncated]";. /// - internal static string ContainerType_EnchantingTable { + internal static string Container_EnchantingTable { get { - return ResourceManager.GetString("ContainerType_EnchantingTable", resourceCulture); + return ResourceManager.GetString("Container.EnchantingTable", resourceCulture); } } @@ -138,9 +138,9 @@ namespace MinecraftClient { ///║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ ///║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 [rest of string was truncated]";. /// - internal static string ContainerType_Furnace { + internal static string Container_Furnace { get { - return ResourceManager.GetString("ContainerType_Furnace", resourceCulture); + return ResourceManager.GetString("Container.Furnace", resourceCulture); } } @@ -159,9 +159,9 @@ namespace MinecraftClient { ///║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ ///║╠═══╬═══╬═══╬═══╬══ [rest of string was truncated]";. /// - internal static string ContainerType_Generic_3x3 { + internal static string Container_Generic_3x3 { get { - return ResourceManager.GetString("ContainerType_Generic_3x3", resourceCulture); + return ResourceManager.GetString("Container.Generic_3x3", resourceCulture); } } @@ -180,9 +180,9 @@ namespace MinecraftClient { ///║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ ///║╠═══╬═══╬═══╬═══╬══ [rest of string was truncated]";. /// - internal static string ContainerType_Generic_9x3 { + internal static string Container_Generic_9x3 { get { - return ResourceManager.GetString("ContainerType_Generic_9x3", resourceCulture); + return ResourceManager.GetString("Container.Generic_9x3", resourceCulture); } } @@ -201,9 +201,9 @@ namespace MinecraftClient { ///║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ ///║╠═══╬═══╬═══╬═══╬══ [rest of string was truncated]";. /// - internal static string ContainerType_Generic_9x6 { + internal static string Container_Generic_9x6 { get { - return ResourceManager.GetString("ContainerType_Generic_9x6", resourceCulture); + return ResourceManager.GetString("Container.Generic_9x6", resourceCulture); } } @@ -222,9 +222,9 @@ namespace MinecraftClient { ///║ ╚══╝ ╚══╝ ║ ///║ [rest of string was truncated]";. /// - internal static string ContainerType_Grindstone { + internal static string Container_Grindstone { get { - return ResourceManager.GetString("ContainerType_Grindstone", resourceCulture); + return ResourceManager.GetString("Container.Grindstone", resourceCulture); } } @@ -243,9 +243,9 @@ namespace MinecraftClient { ///║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ ///║╚═══╩═══╩═══╩═══╩══ [rest of string was truncated]";. /// - internal static string ContainerType_Hopper { + internal static string Container_Hopper { get { - return ResourceManager.GetString("ContainerType_Hopper", resourceCulture); + return ResourceManager.GetString("Container.Hopper", resourceCulture); } } @@ -264,186 +264,9 @@ namespace MinecraftClient { ///║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ ///║╠═══╬═══╬═══╬═══╬══ [rest of string was truncated]";. /// - internal static string ContainerType_PlayerInventory { + internal static string Container_PlayerInventory { get { - return ResourceManager.GetString("ContainerType_PlayerInventory", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to [mcc] - ///# Messages from MCC itself - ///mcc.help_us_translate= - ///mcc.run_with_default_settings= - ///mcc.settings_generated= - ///mcc.has_update= - ///mcc.login=Login : - ///mcc.login_basic_io=Bitte gib einen Nutzernamen oder eine E-Mail deiner Wahl ein. - ///mcc.password=Passwort : - ///mcc.password_basic_io=Bitte gib das Passwort für {0} ein. - ///mcc.password_hidden=Passwort : {0} - ///mcc.offline=§8Das Programm läuft im Offline-Modus. - ///mcc.session_invalid=§8Gespeicherte Session ungültig oder abgelaufen. - ///mcc.session_valid=§8Gespeicherte Ses [rest of string was truncated]";. - /// - internal static string Translation_de { - get { - return ResourceManager.GetString("Translation_de", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to [mcc] - ///# Messages from MCC itself - ///mcc.help_us_translate=Help us translate MCC: {0} - ///mcc.run_with_default_settings=\nMCC is running with default settings. - ///mcc.settings_generated=§cSettings file MinecraftClient.ini has been generated. - ///mcc.has_update=§eNew version of MCC available: {0} - ///mcc.login=Login : - ///mcc.login_basic_io=Please type the username or email of your choice. - ///mcc.password=Password: - ///mcc.password_basic_io=Please type the password for {0}. - ///mcc.password_hidden=Password(invisible): {0} - ///mcc.offline=§8You [rest of string was truncated]";. - /// - internal static string Translation_en { - get { - return ResourceManager.GetString("Translation_en", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to [mcc] - ///# Messages from MCC itself - ///mcc.help_us_translate= - ///mcc.run_with_default_settings= - ///mcc.settings_generated= - ///mcc.has_update= - ///mcc.login=Connexion : - ///mcc.login_basic_io=Veuillez saisir un nom d'utilisateur ou une adresse email. - ///mcc.password=Mot de passe : - ///mcc.password_basic_io=Saisissez le mot de passe pour {0}. - ///mcc.password_hidden=Mot de passe : {0} - ///mcc.offline=§8Vous avez choisi d'utiliser le mode hors ligne. - ///mcc.session_invalid=§8Le cache de la session est invalide ou a expiré. - ///mcc.session_va [rest of string was truncated]";. - /// - internal static string Translation_fr { - get { - return ResourceManager.GetString("Translation_fr", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to [mcc] - ///# Messages from MCC itself - ///mcc.help_us_translate= - ///mcc.run_with_default_settings= - ///mcc.settings_generated= - ///mcc.has_update= - ///mcc.login=Логин : - ///mcc.login_basic_io=Пожалуйста, введите имя пользователя или email по вашему выбору. - ///mcc.password=Пароль: - ///mcc.password_basic_io=Пожалуйста, введите пароль для {0}. - ///mcc.password_hidden=Пароль: {0} - ///mcc.offline=§8Вы выбрали запуск в автономном режиме. - ///mcc.session_invalid=§8Кэшированная сессия недействительна или истекла. - ///mcc.session_valid=§8Кэшированная се [rest of string was truncated]";. - /// - internal static string Translation_ru { - get { - return ResourceManager.GetString("Translation_ru", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to [mcc] - ///# Messages from MCC itself - ///mcc.help_us_translate=MCCyi çevirmemize yardımcı olun: {0} - ///mcc.run_with_default_settings=\nMCC varsayılan ayarlarla çalışıyor. - ///mcc.settings_generated=§cAyarlar dosyası MinecraftClient.ini oluşturuldu. - ///mcc.has_update=§eMCCnin yeni sürümü mevcut: {0} - ///mcc.login=Login : - ///mcc.login_basic_io=Lütfen tercih ettiğiniz kullanıcı adını veya e-posta adresini yazın. - ///mcc.password=Password : - ///mcc.password_basic_io=Lütfen {0} için şifreyi yazın. - ///mcc.password_hidden=Password : {0} - ///m [rest of string was truncated]";. - /// - internal static string Translation_tr { - get { - return ResourceManager.GetString("Translation_tr", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to [mcc] - ///# Messages from MCC itself - ///mcc.help_us_translate= - ///mcc.run_with_default_settings= - ///mcc.settings_generated= - ///mcc.has_update= - ///mcc.login=Đăng nhập: - ///mcc.login_basic_io=Hãy nhập địa chỉ email hoặc tên tài khoản của bạn: - ///mcc.password=Mật khẩu: - ///mcc.password_basic_io=Hãy nhập mật khẩu cho {0}. - ///mcc.password_hidden=Password : {0} - ///mcc.offline=§8Bạn chọn sử dụng chế độ ngoại tuyến. - ///mcc.session_invalid=§8Phiên không hợp lệ hoặc đã hết hạn. - ///mcc.session_valid=§8Phiên vẫn còn hợp lệ cho {0}. - ///mcc.profile_ke [rest of string was truncated]";. - /// - internal static string Translation_vi { - get { - return ResourceManager.GetString("Translation_vi", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to [mcc] - ///# Messages from MCC itself - ///mcc.help_us_translate=帮助我们翻译MCC:{0} - ///mcc.run_with_default_settings=\nMCC正在使用默认配置运行。 - ///mcc.settings_generated=§c配置文件 MinecraftClient.ini 已经生成。 - ///mcc.has_update=§e新版本的MCC已经推出:{0} - ///mcc.login=账户名: - ///mcc.login_basic_io=请输入用户名或邮箱。 - ///mcc.password=密码: - ///mcc.password_basic_io=请输入用户 {0} 的密码。 - ///mcc.password_hidden=密码(不会显示):{0} - ///mcc.offline=§8您正在使用离线模式。 - ///mcc.session_invalid=§8会话缓存无效或已过期。 - ///mcc.session_valid=§8{0}的会话缓存仍然有效。 - ///mcc.profile_key_invalid=§8缓存的聊天签名密钥需要刷新。 - ///mcc.profile_key_valid=§8{0 [rest of string was truncated]";. - /// - internal static string Translation_zh_Hans { - get { - return ResourceManager.GetString("Translation_zh_Hans", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to [mcc] - ///# Messages from MCC itself - ///mcc.help_us_translate=幫助我們翻譯MCC:{0} - ///mcc.run_with_default_settings=\nMCC正在使用預設配置執行。 - ///mcc.settings_generated=§c配置檔案 MinecraftClient.ini 已經生成。 - ///mcc.has_update=§e新版本的MCC已經推出:{0} - ///mcc.login=賬戶名: - ///mcc.login_basic_io=請輸入使用者名稱或郵箱。 - ///mcc.password=密碼: - ///mcc.password_basic_io=請輸入使用者 {0} 的密碼。 - ///mcc.password_hidden=密碼(不會顯示):{0} - ///mcc.offline=§8您正在使用離線模式。 - ///mcc.session_invalid=§8會話快取無效或已過期。 - ///mcc.session_valid=§8{0}的會話快取仍然有效。 - ///mcc.profile_key_invalid=§8快取的聊天簽名金鑰需要重新整理。 - ///mcc.profile_key_valid [rest of string was truncated]";. - /// - internal static string Translation_zh_Hant { - get { - return ResourceManager.GetString("Translation_zh_Hant", resourceCulture); + return ResourceManager.GetString("Container_PlayerInventory", resourceCulture); } } } diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.af.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.af.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.af.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.ar.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.ar.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.ar.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.ca.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.ca.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.ca.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.cs.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.cs.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.cs.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.da.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.da.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.da.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.de.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.de.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.de.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.el.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.el.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.el.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.es.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.es.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.es.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.fi.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.fi.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.fi.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.fr.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.fr.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.fr.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.he.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.he.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.he.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.hu.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.hu.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.hu.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.it.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.it.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.it.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.ja.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.ja.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.ja.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.ko.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.ko.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.ko.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.nl.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.nl.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.nl.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.no.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.no.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.no.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.pl.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.pl.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.pl.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.pt-BR.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.pt-BR.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.pt-BR.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.pt.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.pt.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.pt.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.ro.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.ro.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.ro.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.ru.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.ru.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.ru.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.sr-Cyrl.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.sr-Cyrl.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.sr-Cyrl.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.sv.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.sv.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.sv.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.tr.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.tr.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.tr.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.uk.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.uk.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.uk.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.vi.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.vi.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.vi.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.zh-Hans.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.zh-Hans.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.zh-Hans.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/AsciiArt/AsciiArt.zh-Hant.resx b/MinecraftClient/Resources/AsciiArt/AsciiArt.zh-Hant.resx new file mode 100644 index 00000000..18653630 --- /dev/null +++ b/MinecraftClient/Resources/AsciiArt/AsciiArt.zh-Hant.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ╔═════════════════════════════════════╗ +║ Brewing Stand ║ +║ ╔═══╗ ⡈ ⠄╔═══╗ ║ +║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ +║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ +║ ╰───■■■■ ║║║ ▼ ║ +║ ╔═══╦═╝║╚═╦═══╗ ║ +║ ║ 0 ║╔═╩═╗║ 2 ║ ║ +║ ╚═══╝║ 1 ║╚═══╝ ║ +║ Inventory ╚═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Crafting ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 1 ║ 2 ║ 3 ║ ║ +║ ╠═══╬═══╬═══╣ ╔═══╗ ║ +║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ +║ ╠═══╬═══╬═══╣ ╚═══╝ ║ +║ ║ 7 ║ 8 ║ 9 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Enchant ║ +║ ╔════════════════════╗ ║ +║ ║ Top ║ ║ +║ ╔═══╦═══╗ ╠════════════════════╣ ║ +║ ║ 0 ║ 1 ║ ║ Middle ║ ║ +║ ╚═══╩═══╝ ╠════════════════════╣ ║ +║ ║ Bottom ║ ║ +║ ╚════════════════════╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╗ ║ +║ ║ 0 ║ ║ +║ ╚═══╝ ╔═══╗ ║ +║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ +║ ⠂⡠⢂ ╚═══╝ ║ +║ ╔═══╗ ║ +║ ║ 1 ║ ║ +║ ╚═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 3 ║ 4 ║ 5 ║ ║ +║ ╠═══╬═══╬═══╣ ║ +║ ║ 6 ║ 7 ║ 8 ║ ║ +║ ╚═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Repair & Disenchant ║ +║ ╔═════════╗ ║ +║ ║ ╔═══╗ ║ ║ +║ ╔══║ ║ 0 ║ ║══╗ ║ +║ ║ ║ ╚═══╝ ║ ║ ║ +║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ +║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ +║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ +║ ║ ╠═════════╣ ║ ║ +║ ║ ║ ║ ║ ║ +║ ╚══╝ ╚══╝ ║ +║ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║ Container ║ +║ ╔═══╦═══╦═══╦═══╦═══╗ ║ +║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ +║ ╚═══╩═══╩═══╩═══╩═══╝ ║ +║ Inventory ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + + ╔═════════════════════════════════════╗ +║╔═══╦═══════════╗ ║ +║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ +║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ +║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ +║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ +║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ +║╠═══╣ ███ ╠═══╗ ║ +║║ 8 ║ ███ ║45 ║ ║ +║╚═══╩═══════════╩═══╝ ║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ +║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ +║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ +║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ +║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ +║ 1 2 3 4 5 6 7 8 9 ║ +╚═════════════════════════════════════╝ + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.Designer.cs b/MinecraftClient/Resources/Translations/Translations.Designer.cs new file mode 100644 index 00000000..1c76429e --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.Designer.cs @@ -0,0 +1,7388 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace MinecraftClient { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Translations { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Translations() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MinecraftClient.Resources.Translations.Translations", typeof(Translations).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to §cWeather change: It is no longer raining.§r. + /// + internal static string bot_alerts_end_rain { + get { + return ResourceManager.GetString("bot.alerts.end_rain", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §cWeather change: It is no longer a thunderstorm.§r. + /// + internal static string bot_alerts_end_thunderstorm { + get { + return ResourceManager.GetString("bot.alerts.end_thunderstorm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §cWeather change: It is raining now.§r. + /// + internal static string bot_alerts_start_rain { + get { + return ResourceManager.GetString("bot.alerts.start_rain", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §cWeather change: It is a thunderstorm.§r. + /// + internal static string bot_alerts_start_thunderstorm { + get { + return ResourceManager.GetString("bot.alerts.start_thunderstorm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid walk range provided, must be a positive integer greater than 0, using default value of 5!. + /// + internal static string bot_antiafk_invalid_walk_range { + get { + return ResourceManager.GetString("bot.antiafk.invalid_walk_range", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method.. + /// + internal static string bot_antiafk_not_using_terrain_handling { + get { + return ResourceManager.GetString("bot.antiafk.not_using_terrain_handling", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The time range begins with a bigger value, swapped them around.. + /// + internal static string bot_antiafk_swapping { + get { + return ResourceManager.GetString("bot.antiafk.swapping", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Attack cooldown value cannot be smaller than 0.. + /// + internal static string bot_autoAttack_invalidcooldown { + get { + return ResourceManager.GetString("bot.autoAttack.invalidcooldown", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Crafting aborted! Check your available materials.. + /// + internal static string bot_autoCraft_aborted { + get { + return ResourceManager.GetString("bot.autoCraft.aborted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Auto-crafting ChatBot command alias. + /// + internal static string bot_autoCraft_alias { + get { + return ResourceManager.GetString("bot.autoCraft.alias", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias.. + /// + internal static string bot_autoCraft_available_cmd { + get { + return ResourceManager.GetString("bot.autoCraft.available_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inventory #{0} was closed by AutoCraft. + /// + internal static string bot_autoCraft_close_inventory { + get { + return ResourceManager.GetString("bot.autoCraft.close_inventory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Auto-crafting ChatBot command. + /// + internal static string bot_autoCraft_cmd { + get { + return ResourceManager.GetString("bot.autoCraft.cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Total {0} recipes loaded: {1}. + /// + internal static string bot_autoCraft_cmd_list { + get { + return ResourceManager.GetString("bot.autoCraft.cmd.list", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resetting your config to default. + /// + internal static string bot_autoCraft_cmd_resetcfg { + get { + return ResourceManager.GetString("bot.autoCraft.cmd.resetcfg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Crafting failed! Waiting for more materials. + /// + internal static string bot_autoCraft_craft_fail { + get { + return ResourceManager.GetString("bot.autoCraft.craft_fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No config found. Writing a new one.. + /// + internal static string bot_autoCraft_debug_no_config { + get { + return ResourceManager.GetString("bot.autoCraft.debug.no_config", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error while parsing config: {0}. + /// + internal static string bot_autoCraft_error_config { + get { + return ResourceManager.GetString("bot.autoCraft.error.config", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Duplicate recipe name specified: {0}. + /// + internal static string bot_autoCraft_exception_duplicate { + get { + return ResourceManager.GetString("bot.autoCraft.exception.duplicate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Missing recipe name while parsing a recipe. + /// + internal static string bot_autoCraft_exception_name_miss { + get { + return ResourceManager.GetString("bot.autoCraft.exception.name_miss", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Get the command description. Usage: /autocraft help <command name>. + /// + internal static string bot_autoCraft_help_help { + get { + return ResourceManager.GetString("bot.autoCraft.help.help", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to List available recipes.. + /// + internal static string bot_autoCraft_help_list { + get { + return ResourceManager.GetString("bot.autoCraft.help.list", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Load the config file.. + /// + internal static string bot_autoCraft_help_load { + get { + return ResourceManager.GetString("bot.autoCraft.help.load", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reload the config file.. + /// + internal static string bot_autoCraft_help_reload { + get { + return ResourceManager.GetString("bot.autoCraft.help.reload", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Write the default example config to default location.. + /// + internal static string bot_autoCraft_help_resetcfg { + get { + return ResourceManager.GetString("bot.autoCraft.help.resetcfg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start the crafting. Usage: /autocraft start <recipe name>. + /// + internal static string bot_autoCraft_help_start { + get { + return ResourceManager.GetString("bot.autoCraft.help.start", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stop the current running crafting process. + /// + internal static string bot_autoCraft_help_stop { + get { + return ResourceManager.GetString("bot.autoCraft.help.stop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid result item!. + /// + internal static string bot_autocraft_invaild_result { + get { + return ResourceManager.GetString("bot.autocraft.invaild_result", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The number of slots does not match and has been adjusted automatically.. + /// + internal static string bot_autocraft_invaild_slots { + get { + return ResourceManager.GetString("bot.autocraft.invaild_slots", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully loaded. + /// + internal static string bot_autoCraft_loaded { + get { + return ResourceManager.GetString("bot.autoCraft.loaded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Missing material: {0}. + /// + internal static string bot_autoCraft_missing_material { + get { + return ResourceManager.GetString("bot.autoCraft.missing_material", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please specify the recipe name you want to craft.. + /// + internal static string bot_autoCraft_no_recipe_name { + get { + return ResourceManager.GetString("bot.autoCraft.no_recipe_name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Specified recipe name does not exist. Check your config file.. + /// + internal static string bot_autoCraft_recipe_not_exist { + get { + return ResourceManager.GetString("bot.autoCraft.recipe_not_exist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Starting AutoCraft: {0}. + /// + internal static string bot_autoCraft_start { + get { + return ResourceManager.GetString("bot.autoCraft.start", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoCraft cannot be started. Check your available materials for crafting {0}. + /// + internal static string bot_autoCraft_start_fail { + get { + return ResourceManager.GetString("bot.autoCraft.start_fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoCraft stopped. + /// + internal static string bot_autoCraft_stop { + get { + return ResourceManager.GetString("bot.autoCraft.stop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to table not found. + /// + internal static string bot_autoCraft_table_not_found { + get { + return ResourceManager.GetString("bot.autoCraft.table_not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Action timeout! Reason: {0}. + /// + internal static string bot_autoCraft_timeout { + get { + return ResourceManager.GetString("bot.autoCraft.timeout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Available commands: {0}. Use /digbot help <cmd name> for more information.. + /// + internal static string bot_autodig_available_cmd { + get { + return ResourceManager.GetString("bot.autodig.available_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Auto-digging ChatBot command. + /// + internal static string bot_autodig_cmd { + get { + return ResourceManager.GetString("bot.autodig.cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Digging block timeout, retry.. + /// + internal static string bot_autodig_dig_timeout { + get { + return ResourceManager.GetString("bot.autodig.dig_timeout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Get the command description. Usage: /digbot help <command name>. + /// + internal static string bot_autodig_help_help { + get { + return ResourceManager.GetString("bot.autodig.help.help", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start the automatic digging bot.. + /// + internal static string bot_autodig_help_start { + get { + return ResourceManager.GetString("bot.autodig.help.start", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deactivate the automatic digging bot.. + /// + internal static string bot_autodig_help_stop { + get { + return ResourceManager.GetString("bot.autodig.help.stop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inventory handling is not enabled. Unable to switch tools automatically.. + /// + internal static string bot_autodig_no_inv_handle { + get { + return ResourceManager.GetString("bot.autodig.no_inv_handle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The block currently pointed to is not in the allowed list.. + /// + internal static string bot_autodig_not_allow { + get { + return ResourceManager.GetString("bot.autodig.not_allow", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatic digging has started.. + /// + internal static string bot_autodig_start { + get { + return ResourceManager.GetString("bot.autodig.start", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Digging will start in {0:0.0} second(s).. + /// + internal static string bot_autodig_start_delay { + get { + return ResourceManager.GetString("bot.autodig.start_delay", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Auto-digging has been stopped.. + /// + internal static string bot_autodig_stop { + get { + return ResourceManager.GetString("bot.autodig.stop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Added item {0}. + /// + internal static string bot_autoDrop_added { + get { + return ResourceManager.GetString("bot.autoDrop.added", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoDrop ChatBot command alias. + /// + internal static string bot_autoDrop_alias { + get { + return ResourceManager.GetString("bot.autoDrop.alias", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoDrop ChatBot command. + /// + internal static string bot_autoDrop_cmd { + get { + return ResourceManager.GetString("bot.autoDrop.cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Incorrect item name {0}. Please try again.. + /// + internal static string bot_autoDrop_incorrect_name { + get { + return ResourceManager.GetString("bot.autoDrop.incorrect_name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Total {0} in the list: + /// {1}. + /// + internal static string bot_autoDrop_list { + get { + return ResourceManager.GetString("bot.autoDrop.list", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find inventory {0}!. + /// + internal static string bot_autoDrop_no_inventory { + get { + return ResourceManager.GetString("bot.autoDrop.no_inventory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No item in the list. + /// + internal static string bot_autoDrop_no_item { + get { + return ResourceManager.GetString("bot.autoDrop.no_item", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot read drop mode from config. Using include mode.. + /// + internal static string bot_autoDrop_no_mode { + get { + return ResourceManager.GetString("bot.autoDrop.no_mode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Item not in the list. + /// + internal static string bot_autoDrop_not_in_list { + get { + return ResourceManager.GetString("bot.autoDrop.not_in_list", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoDrop disabled. + /// + internal static string bot_autoDrop_off { + get { + return ResourceManager.GetString("bot.autoDrop.off", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoDrop enabled. + /// + internal static string bot_autoDrop_on { + get { + return ResourceManager.GetString("bot.autoDrop.on", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removed item {0}. + /// + internal static string bot_autoDrop_removed { + get { + return ResourceManager.GetString("bot.autoDrop.removed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switched to {0} mode.. + /// + internal static string bot_autoDrop_switched { + get { + return ResourceManager.GetString("bot.autoDrop.switched", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unknwon mode. Available modes: Include, Exclude, Everything. + /// + internal static string bot_autoDrop_unknown_mode { + get { + return ResourceManager.GetString("bot.autoDrop.unknown_mode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Available commands: {0}. Use /fish help <cmd name> for more information.. + /// + internal static string bot_autoFish_available_cmd { + get { + return ResourceManager.GetString("bot.autoFish.available_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec).. + /// + internal static string bot_autoFish_cast_timeout { + get { + return ResourceManager.GetString("bot.autoFish.cast_timeout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Retract the fishing rod. (Count: {0}). + /// + internal static string bot_autoFish_caught { + get { + return ResourceManager.GetString("bot.autoFish.caught", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}). + /// + internal static string bot_autoFish_caught_at { + get { + return ResourceManager.GetString("bot.autoFish.caught_at", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Auto-Fishing ChatBot command. + /// + internal static string bot_autoFish_cmd { + get { + return ResourceManager.GetString("bot.autoFish.cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fish floating despawn, will re-cast.. + /// + internal static string bot_autoFish_despawn { + get { + return ResourceManager.GetString("bot.autoFish.despawn", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fishing timeout, will soon re-cast.. + /// + internal static string bot_autoFish_fishing_timeout { + get { + return ResourceManager.GetString("bot.autoFish.fishing_timeout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fishing got {0}. + /// + internal static string bot_autoFish_got { + get { + return ResourceManager.GetString("bot.autoFish.got", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Get the command description. Usage: /fish help <command name>. + /// + internal static string bot_autoFish_help_help { + get { + return ResourceManager.GetString("bot.autoFish.help.help", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start auto-fishing.. + /// + internal static string bot_autoFish_help_start { + get { + return ResourceManager.GetString("bot.autoFish.help.start", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to List all obtained items. Or use "/fish status clear" to clear the list.. + /// + internal static string bot_autoFish_help_status { + get { + return ResourceManager.GetString("bot.autoFish.help.status", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stop auto-fishing.. + /// + internal static string bot_autoFish_help_stop { + get { + return ResourceManager.GetString("bot.autoFish.help.stop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inventory handling is not enabled. Cannot check rod durability and switch rods.. + /// + internal static string bot_autoFish_no_inv_handle { + get { + return ResourceManager.GetString("bot.autoFish.no_inv_handle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current fishing rod is not available. Maybe broken or low durability?. + /// + internal static string bot_autoFish_no_rod { + get { + return ResourceManager.GetString("bot.autoFish.no_rod", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start auto-fishing.. + /// + internal static string bot_autoFish_start { + get { + return ResourceManager.GetString("bot.autoFish.start", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fishing will start in {0:0.0} second(s).. + /// + internal static string bot_autoFish_start_at { + get { + return ResourceManager.GetString("bot.autoFish.start_at", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The record of the obtained items has been cleared.. + /// + internal static string bot_autoFish_status_clear { + get { + return ResourceManager.GetString("bot.autoFish.status_clear", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to All items obtained from fishing (not entirely accurate):. + /// + internal static string bot_autoFish_status_info { + get { + return ResourceManager.GetString("bot.autoFish.status_info", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stop auto-fishing.. + /// + internal static string bot_autoFish_stop { + get { + return ResourceManager.GetString("bot.autoFish.stop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to the rod in slot {0}, durability {1}/64.. + /// + internal static string bot_autoFish_switch { + get { + return ResourceManager.GetString("bot.autoFish.switch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Casting successfully.. + /// + internal static string bot_autoFish_throw { + get { + return ResourceManager.GetString("bot.autoFish.throw", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update yaw = {0:0.00}, pitch = {1:0.00}.. + /// + internal static string bot_autoFish_update_lookat { + get { + return ResourceManager.GetString("bot.autoFish.update_lookat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current directory was: {0}. + /// + internal static string bot_autoRelog_curr_dir { + get { + return ResourceManager.GetString("bot.autoRelog.curr_dir", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Got disconnected with message: {0}. + /// + internal static string bot_autoRelog_disconnect_msg { + get { + return ResourceManager.GetString("bot.autoRelog.disconnect_msg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disconnection initiated by User or MCC bot. Ignoring.. + /// + internal static string bot_autoRelog_ignore_user_logout { + get { + return ResourceManager.GetString("bot.autoRelog.ignore_user_logout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Launching with {0} reconnection attempts. + /// + internal static string bot_autoRelog_launch { + get { + return ResourceManager.GetString("bot.autoRelog.launch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Loaded message: {0}. + /// + internal static string bot_autoRelog_loaded { + get { + return ResourceManager.GetString("bot.autoRelog.loaded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Loading messages from file: {0}. + /// + internal static string bot_autoRelog_loading { + get { + return ResourceManager.GetString("bot.autoRelog.loading", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Initializing without a kick message file. + /// + internal static string bot_autoRelog_no_kick_msg { + get { + return ResourceManager.GetString("bot.autoRelog.no_kick_msg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File not found: {0}. + /// + internal static string bot_autoRelog_not_found { + get { + return ResourceManager.GetString("bot.autoRelog.not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Message contains '{0}'. Reconnecting.. + /// + internal static string bot_autoRelog_reconnect { + get { + return ResourceManager.GetString("bot.autoRelog.reconnect", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ignoring kick message, reconnecting anyway.. + /// + internal static string bot_autoRelog_reconnect_always { + get { + return ResourceManager.GetString("bot.autoRelog.reconnect_always", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Message not containing any defined keywords. Ignoring.. + /// + internal static string bot_autoRelog_reconnect_ignore { + get { + return ResourceManager.GetString("bot.autoRelog.reconnect_ignore", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Waiting {0:0.000} seconds before reconnecting.... + /// + internal static string bot_autoRelog_wait { + get { + return ResourceManager.GetString("bot.autoRelog.wait", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File not found: '{0}'. + /// + internal static string bot_autoRespond_file_not_found { + get { + return ResourceManager.GetString("bot.autoRespond.file_not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Loaded match: + ///{0}. + /// + internal static string bot_autoRespond_loaded_match { + get { + return ResourceManager.GetString("bot.autoRespond.loaded_match", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Loading matches from '{0}'. + /// + internal static string bot_autoRespond_loading { + get { + return ResourceManager.GetString("bot.autoRespond.loading", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to match: {0} + ///regex: {1} + ///action: {2} + ///actionPrivate: {3} + ///actionOther: {4} + ///ownersOnly: {5} + ///cooldown: {6}. + /// + internal static string bot_autoRespond_match { + get { + return ResourceManager.GetString("bot.autoRespond.match", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Running action: {0}. + /// + internal static string bot_autoRespond_match_run { + get { + return ResourceManager.GetString("bot.autoRespond.match_run", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No action for match: + ///{0}. + /// + internal static string bot_autoRespond_no_action { + get { + return ResourceManager.GetString("bot.autoRespond.no_action", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This match will never trigger: + ///{0}. + /// + internal static string bot_autoRespond_no_trigger { + get { + return ResourceManager.GetString("bot.autoRespond.no_trigger", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Path '{0}' contains invalid characters.. + /// + internal static string bot_chatLog_invalid_file { + get { + return ResourceManager.GetString("bot.chatLog.invalid_file", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sending message to Discord was canceled due an error occuring. For more info enable Debug.. + /// + internal static string bot_DiscordBridge_canceled_sending { + get { + return ResourceManager.GetString("bot.DiscordBridge.canceled_sending", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided channel with an id '{0}' has not been found!. + /// + internal static string bot_DiscordBridge_channel_not_found { + get { + return ResourceManager.GetString("bot.DiscordBridge.channel_not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The command was executed with the result. + /// + internal static string bot_DiscordBridge_command_executed { + get { + return ResourceManager.GetString("bot.DiscordBridge.command_executed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Succesfully connected with MCC!. + /// + internal static string bot_DiscordBridge_connected { + get { + return ResourceManager.GetString("bot.DiscordBridge.connected", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot.. + /// + internal static string bot_DiscordBridge_desc { + get { + return ResourceManager.GetString("bot.DiscordBridge.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Direction of the Discord Brdige has been switched to '{0}'!. + /// + internal static string bot_DiscordBridge_direction { + get { + return ResourceManager.GetString("bot.DiscordBridge.direction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Both. + /// + internal static string bot_DiscordBridge_direction_both { + get { + return ResourceManager.GetString("bot.DiscordBridge.direction.both", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Discord. + /// + internal static string bot_DiscordBridge_direction_discord { + get { + return ResourceManager.GetString("bot.DiscordBridge.direction.discord", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minecraft. + /// + internal static string bot_DiscordBridge_direction_minecraft { + get { + return ResourceManager.GetString("bot.DiscordBridge.direction.minecraft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully disconnected with MCC!. + /// + internal static string bot_DiscordBridge_disconnected { + get { + return ResourceManager.GetString("bot.DiscordBridge.disconnected", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided guild/server with an id '{0}' has not been found!. + /// + internal static string bot_DiscordBridge_guild_not_found { + get { + return ResourceManager.GetString("bot.DiscordBridge.guild_not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc". + /// + internal static string bot_DiscordBridge_invalid_direction { + get { + return ResourceManager.GetString("bot.DiscordBridge.invalid_direction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please provide a valid token!. + /// + internal static string bot_DiscordBridge_missing_token { + get { + return ResourceManager.GetString("bot.DiscordBridge.missing_token", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to An unknown error has occured!. + /// + internal static string bot_DiscordBridge_unknown_error { + get { + return ResourceManager.GetString("bot.DiscordBridge.unknown_error", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The bot is already farming!. + /// + internal static string bot_farmer_already_running { + get { + return ResourceManager.GetString("bot.farmer.already_running", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The bot has already stopped farming!. + /// + internal static string bot_farmer_already_stopped { + get { + return ResourceManager.GetString("bot.farmer.already_stopped", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Crop type. + /// + internal static string bot_farmer_crop_type { + get { + return ResourceManager.GetString("bot.farmer.crop_type", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Farming bot. + /// + internal static string bot_farmer_desc { + get { + return ResourceManager.GetString("bot.farmer.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)!. + /// + internal static string bot_farmer_invalid_crop_type { + get { + return ResourceManager.GetString("bot.farmer.invalid_crop_type", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid radius provided, you must provide a valid integer number greater than 0!. + /// + internal static string bot_farmer_invalid_radius { + get { + return ResourceManager.GetString("bot.farmer.invalid_radius", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The Farmer bot needs Inventory Handling in order to work, please enable it!. + /// + internal static string bot_farmer_needs_inventory { + get { + return ResourceManager.GetString("bot.farmer.needs_inventory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The Farmer bot needs Terrain Handling in order to work, please enable it!. + /// + internal static string bot_farmer_needs_terrain { + get { + return ResourceManager.GetString("bot.farmer.needs_terrain", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Not implemented bellow 1.13!. + /// + internal static string bot_farmer_not_implemented { + get { + return ResourceManager.GetString("bot.farmer.not_implemented", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Radius. + /// + internal static string bot_farmer_radius { + get { + return ResourceManager.GetString("bot.farmer.radius", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Started farming!. + /// + internal static string bot_farmer_started { + get { + return ResourceManager.GetString("bot.farmer.started", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stopped farming!. + /// + internal static string bot_farmer_stopped { + get { + return ResourceManager.GetString("bot.farmer.stopped", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stoping farming, this might take a second.... + /// + internal static string bot_farmer_stopping { + get { + return ResourceManager.GetString("bot.farmer.stopping", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution!. + /// + internal static string bot_farmer_warining_allow_teleport { + get { + return ResourceManager.GetString("bot.farmer.warining_allow_teleport", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You have enabled un-safe movement, the bot might get hurt!. + /// + internal static string bot_farmer_warining_force_unsafe { + get { + return ResourceManager.GetString("bot.farmer.warining_force_unsafe", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid parameter "{0}" provided (Use format: "key:value")!. + /// + internal static string bot_farmer_warining_invalid_parameter { + get { + return ResourceManager.GetString("bot.farmer.warining_invalid_parameter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to mailer command. + /// + internal static string bot_mailer_cmd { + get { + return ResourceManager.GetString("bot.mailer.cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to --- Ignore list --- + ///{0}. + /// + internal static string bot_mailer_cmd_getignored { + get { + return ResourceManager.GetString("bot.mailer.cmd.getignored", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to --- Mails in database --- + ///{0}. + /// + internal static string bot_mailer_cmd_getmails { + get { + return ResourceManager.GetString("bot.mailer.cmd.getmails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to See usage. + /// + internal static string bot_mailer_cmd_help { + get { + return ResourceManager.GetString("bot.mailer.cmd.help", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Added {0} to the ignore list!. + /// + internal static string bot_mailer_cmd_ignore_added { + get { + return ResourceManager.GetString("bot.mailer.cmd.ignore.added", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Missing or invalid name. Usage: {0} <username>. + /// + internal static string bot_mailer_cmd_ignore_invalid { + get { + return ResourceManager.GetString("bot.mailer.cmd.ignore.invalid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Removed {0} from the ignore list!. + /// + internal static string bot_mailer_cmd_ignore_removed { + get { + return ResourceManager.GetString("bot.mailer.cmd.ignore.removed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Creating new database file: {0}. + /// + internal static string bot_mailer_create_db { + get { + return ResourceManager.GetString("bot.mailer.create.db", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Creating new ignore list: {0}. + /// + internal static string bot_mailer_create_ignore { + get { + return ResourceManager.GetString("bot.mailer.create.ignore", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delivered: {0}. + /// + internal static string bot_mailer_delivered { + get { + return ResourceManager.GetString("bot.mailer.delivered", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Initializing Mailer with settings:. + /// + internal static string bot_mailer_init { + get { + return ResourceManager.GetString("bot.mailer.init", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to  - Database File: {0}. + /// + internal static string bot_mailer_init_db { + get { + return ResourceManager.GetString("bot.mailer.init.db", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to  - Max Database Size: {0}. + /// + internal static string bot_mailer_init_db_size { + get { + return ResourceManager.GetString("bot.mailer.init.db_size", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings.. + /// + internal static string bot_mailer_init_fail_db_size { + get { + return ResourceManager.GetString("bot.mailer.init_fail.db_size", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings.. + /// + internal static string bot_mailer_init_fail_mail_retention { + get { + return ResourceManager.GetString("bot.mailer.init_fail.mail_retention", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings.. + /// + internal static string bot_mailer_init_fail_max_mails { + get { + return ResourceManager.GetString("bot.mailer.init_fail.max_mails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to  - Ignore List: {0}. + /// + internal static string bot_mailer_init_ignore { + get { + return ResourceManager.GetString("bot.mailer.init.ignore", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to  - Mail Retention: {0}. + /// + internal static string bot_mailer_init_mail_retention { + get { + return ResourceManager.GetString("bot.mailer.init.mail_retention", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to  - Max Mails per Player: {0}. + /// + internal static string bot_mailer_init_max_mails { + get { + return ResourceManager.GetString("bot.mailer.init.max_mails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to  - Public Interactions: {0}. + /// + internal static string bot_mailer_init_public { + get { + return ResourceManager.GetString("bot.mailer.init.public", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Loading database file: {0}. + /// + internal static string bot_mailer_load_db { + get { + return ResourceManager.GetString("bot.mailer.load.db", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Loading ignore list: . + /// + internal static string bot_mailer_load_ignore { + get { + return ResourceManager.GetString("bot.mailer.load.ignore", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Looking for mails to send @ {0}. + /// + internal static string bot_mailer_process_mails { + get { + return ResourceManager.GetString("bot.mailer.process_mails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Saving message: {0}. + /// + internal static string bot_mailer_saving { + get { + return ResourceManager.GetString("bot.mailer.saving", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} is ignored!. + /// + internal static string bot_mailer_user_ignored { + get { + return ResourceManager.GetString("bot.mailer.user_ignored", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Render maps (item maps). + /// + internal static string bot_map_cmd_desc { + get { + return ResourceManager.GetString("bot.map.cmd.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid ID provided, must be a number!. + /// + internal static string bot_map_cmd_invalid_id { + get { + return ResourceManager.GetString("bot.map.cmd.invalid_id", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A map with id '{0}' does not exists!. + /// + internal static string bot_map_cmd_not_found { + get { + return ResourceManager.GetString("bot.map.cmd.not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to render the map with id: '{0}'. + /// + internal static string bot_map_failed_to_render { + get { + return ResourceManager.GetString("bot.map.failed_to_render", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - Map id: {0} (Last Updated: {1}). + /// + internal static string bot_map_list_item { + get { + return ResourceManager.GetString("bot.map.list_item", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No maps received!. + /// + internal static string bot_map_no_maps { + get { + return ResourceManager.GetString("bot.map.no_maps", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The list of received maps from the server:. + /// + internal static string bot_map_received { + get { + return ResourceManager.GetString("bot.map.received", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Received a new Map, with Id: {0}. + /// + internal static string bot_map_received_map { + get { + return ResourceManager.GetString("bot.map.received_map", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Succesfully rendered a map with id '{0}' to: '{1}'. + /// + internal static string bot_map_rendered { + get { + return ResourceManager.GetString("bot.map.rendered", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resized the rendered image of the map with id: '{0}' to {1}x{1}.. + /// + internal static string bot_map_resized_rendered_image { + get { + return ResourceManager.GetString("bot.map.resized_rendered_image", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal.. + /// + internal static string bot_map_scale { + get { + return ResourceManager.GetString("bot.map.scale", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot!. + /// + internal static string bot_map_sent_to_discord { + get { + return ResourceManager.GetString("bot.map.sent_to_discord", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot!. + /// + internal static string bot_map_sent_to_telegram { + get { + return ResourceManager.GetString("bot.map.sent_to_telegram", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to replay command. + /// + internal static string bot_replayCapture_cmd { + get { + return ResourceManager.GetString("bot.replayCapture.cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Replay file created.. + /// + internal static string bot_replayCapture_created { + get { + return ResourceManager.GetString("bot.replayCapture.created", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Record was stopped. Restart the program to start another record.. + /// + internal static string bot_replayCapture_restart { + get { + return ResourceManager.GetString("bot.replayCapture.restart", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Record stopped.. + /// + internal static string bot_replayCapture_stopped { + get { + return ResourceManager.GetString("bot.replayCapture.stopped", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Script '{0}' failed to run ({1}).. + /// + internal static string bot_script_fail { + get { + return ResourceManager.GetString("bot.script.fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to File not found: '{0}'. + /// + internal static string bot_script_file_not_found { + get { + return ResourceManager.GetString("bot.script.file_not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8[MCC] [{0}] Cannot find script file: {1}. + /// + internal static string bot_script_not_found { + get { + return ResourceManager.GetString("bot.script.not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Script '{0}' loaded.. + /// + internal static string bot_script_pm_loaded { + get { + return ResourceManager.GetString("bot.script.pm.loaded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Loaded task: + ///{0}. + /// + internal static string bot_scriptScheduler_loaded_task { + get { + return ResourceManager.GetString("bot.scriptScheduler.loaded_task", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No action for task: + ///{0}. + /// + internal static string bot_scriptScheduler_no_action { + get { + return ResourceManager.GetString("bot.scriptScheduler.no_action", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This task will never trigger: + ///{0}. + /// + internal static string bot_scriptScheduler_no_trigger { + get { + return ResourceManager.GetString("bot.scriptScheduler.no_trigger", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Interval / Running action: {0}. + /// + internal static string bot_scriptScheduler_running_inverval { + get { + return ResourceManager.GetString("bot.scriptScheduler.running_inverval", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Login / Running action: {0}. + /// + internal static string bot_scriptScheduler_running_login { + get { + return ResourceManager.GetString("bot.scriptScheduler.running_login", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Time / Running action: {0}. + /// + internal static string bot_scriptScheduler_running_time { + get { + return ResourceManager.GetString("bot.scriptScheduler.running_time", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to triggeronfirstlogin: {0} + /// triggeronlogin: {1} + /// triggerontime: {2} + /// triggeroninterval: {3} + /// timevalue: {4} + /// timeinterval: {5} + /// action: {6}. + /// + internal static string bot_scriptScheduler_task { + get { + return ResourceManager.GetString("bot.scriptScheduler.task", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sending message to Telegram was canceled due an error occuring. For more info enable Debug.. + /// + internal static string bot_TelegramBridge_canceled_sending { + get { + return ResourceManager.GetString("bot.TelegramBridge.canceled_sending", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The command was executed with the result. + /// + internal static string bot_TelegramBridge_command_executed { + get { + return ResourceManager.GetString("bot.TelegramBridge.command_executed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Succesfully connected with the MCC!. + /// + internal static string bot_TelegramBridge_connected { + get { + return ResourceManager.GetString("bot.TelegramBridge.connected", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot.. + /// + internal static string bot_TelegramBridge_desc { + get { + return ResourceManager.GetString("bot.TelegramBridge.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Direction of the Telegram Brdige has been switched to '{0}'!. + /// + internal static string bot_TelegramBridge_direction { + get { + return ResourceManager.GetString("bot.TelegramBridge.direction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Both. + /// + internal static string bot_TelegramBridge_direction_both { + get { + return ResourceManager.GetString("bot.TelegramBridge.direction.both", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minecraft. + /// + internal static string bot_TelegramBridge_direction_minecraft { + get { + return ResourceManager.GetString("bot.TelegramBridge.direction.minecraft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Telegram. + /// + internal static string bot_TelegramBridge_direction_Telegram { + get { + return ResourceManager.GetString("bot.TelegramBridge.direction.Telegram", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disconnected from from the MCC!. + /// + internal static string bot_TelegramBridge_disconnected { + get { + return ResourceManager.GetString("bot.TelegramBridge.disconnected", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc". + /// + internal static string bot_TelegramBridge_invalid_direction { + get { + return ResourceManager.GetString("bot.TelegramBridge.invalid_direction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it!. + /// + internal static string bot_TelegramBridge_missing_authorized_channels { + get { + return ResourceManager.GetString("bot.TelegramBridge.missing_authorized_channels", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram!. + /// + internal static string bot_TelegramBridge_missing_channel_id { + get { + return ResourceManager.GetString("bot.TelegramBridge.missing_channel_id", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please provide a valid bot token!. + /// + internal static string bot_TelegramBridge_missing_token { + get { + return ResourceManager.GetString("bot.TelegramBridge.missing_token", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to **🛑 Unauthorized access! 🛑 + /// + ///Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!**. + /// + internal static string bot_TelegramBridge_unauthorized { + get { + return ResourceManager.GetString("bot.TelegramBridge.unauthorized", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to An unknown error has occured!. + /// + internal static string bot_TelegramBridge_unknown_error { + get { + return ResourceManager.GetString("bot.TelegramBridge.unknown_error", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bot: {0} said : {1}. + /// + internal static string bot_testBot_said { + get { + return ResourceManager.GetString("bot.testBot.said", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bot: {0} told me : {1}. + /// + internal static string bot_testBot_told { + get { + return ResourceManager.GetString("bot.testBot.told", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Alerts. + /// + internal static string botname_Alerts { + get { + return ResourceManager.GetString("botname.Alerts", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AntiAFK. + /// + internal static string botname_AntiAFK { + get { + return ResourceManager.GetString("botname.AntiAFK", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoAttack. + /// + internal static string botname_AutoAttack { + get { + return ResourceManager.GetString("botname.AutoAttack", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoCraft. + /// + internal static string botname_AutoCraft { + get { + return ResourceManager.GetString("botname.AutoCraft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoDig. + /// + internal static string botname_AutoDig { + get { + return ResourceManager.GetString("botname.AutoDig", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoDrop. + /// + internal static string botname_AutoDrop { + get { + return ResourceManager.GetString("botname.AutoDrop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoEat. + /// + internal static string botname_AutoEat { + get { + return ResourceManager.GetString("botname.AutoEat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoFishing. + /// + internal static string botname_AutoFishing { + get { + return ResourceManager.GetString("botname.AutoFishing", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoRelog. + /// + internal static string botname_AutoRelog { + get { + return ResourceManager.GetString("botname.AutoRelog", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AutoRespond. + /// + internal static string botname_AutoRespond { + get { + return ResourceManager.GetString("botname.AutoRespond", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ChatLog. + /// + internal static string botname_ChatLog { + get { + return ResourceManager.GetString("botname.ChatLog", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to DiscordBridge. + /// + internal static string botname_DiscordBridge { + get { + return ResourceManager.GetString("botname.DiscordBridge", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Farmer. + /// + internal static string botname_Farmer { + get { + return ResourceManager.GetString("botname.Farmer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to FollowPlayer. + /// + internal static string botname_FollowPlayer { + get { + return ResourceManager.GetString("botname.FollowPlayer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to HangmanGame. + /// + internal static string botname_HangmanGame { + get { + return ResourceManager.GetString("botname.HangmanGame", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Mailer. + /// + internal static string botname_Mailer { + get { + return ResourceManager.GetString("botname.Mailer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Map. + /// + internal static string botname_Map { + get { + return ResourceManager.GetString("botname.Map", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PlayerListLogger. + /// + internal static string botname_PlayerListLogger { + get { + return ResourceManager.GetString("botname.PlayerListLogger", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to RemoteControl. + /// + internal static string botname_RemoteControl { + get { + return ResourceManager.GetString("botname.RemoteControl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ReplayCapture. + /// + internal static string botname_ReplayCapture { + get { + return ResourceManager.GetString("botname.ReplayCapture", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Script. + /// + internal static string botname_Script { + get { + return ResourceManager.GetString("botname.Script", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ScriptScheduler. + /// + internal static string botname_ScriptScheduler { + get { + return ResourceManager.GetString("botname.ScriptScheduler", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to TelegramBridge. + /// + internal static string botname_TelegramBridge { + get { + return ResourceManager.GetString("botname.TelegramBridge", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to TestBot. + /// + internal static string botname_TestBot { + get { + return ResourceManager.GetString("botname.TestBot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Converting session cache from disk: {0}. + /// + internal static string cache_converting { + get { + return ResourceManager.GetString("cache.converting", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Ignoring invalid session token line: {0}. + /// + internal static string cache_ignore_line { + get { + return ResourceManager.GetString("cache.ignore_line", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Ignoring invalid profile key token line: {0}. + /// + internal static string cache_ignore_line_keys { + get { + return ResourceManager.GetString("cache.ignore_line_keys", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Ignoring session token string '{0}': {1}. + /// + internal static string cache_ignore_string { + get { + return ResourceManager.GetString("cache.ignore_string", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Ignoring profile key token string '{0}': {1}. + /// + internal static string cache_ignore_string_keys { + get { + return ResourceManager.GetString("cache.ignore_string_keys", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Loaded session: {0}:{1}. + /// + internal static string cache_loaded { + get { + return ResourceManager.GetString("cache.loaded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Loaded profile key, it will be refresh at {0}. + /// + internal static string cache_loaded_keys { + get { + return ResourceManager.GetString("cache.loaded_keys", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Loading Minecraft profiles: {0}. + /// + internal static string cache_loading { + get { + return ResourceManager.GetString("cache.loading", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Loading profile key cache from disk: {0}. + /// + internal static string cache_loading_keys { + get { + return ResourceManager.GetString("cache.loading_keys", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Loading session cache from disk: {0}. + /// + internal static string cache_loading_session { + get { + return ResourceManager.GetString("cache.loading_session", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Got malformed data while reading serialized session cache from disk: {0}. + /// + internal static string cache_malformed { + get { + return ResourceManager.GetString("cache.malformed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Failed to read serialized session cache from disk: {0}. + /// + internal static string cache_read_fail { + get { + return ResourceManager.GetString("cache.read_fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Failed to read session cache from disk: {0}. + /// + internal static string cache_read_fail_plain { + get { + return ResourceManager.GetString("cache.read_fail_plain", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Failed to read profile key cache from disk: {0}. + /// + internal static string cache_read_fail_plain_keys { + get { + return ResourceManager.GetString("cache.read_fail_plain_keys", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Failed to write session cache to disk: {0}. + /// + internal static string cache_save_fail { + get { + return ResourceManager.GetString("cache.save_fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Failed to write profile key cache to disk: {0}. + /// + internal static string cache_save_fail_keys { + get { + return ResourceManager.GetString("cache.save_fail_keys", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Saving session cache to disk. + /// + internal static string cache_saving { + get { + return ResourceManager.GetString("cache.saving", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Saving profile key cache to disk. + /// + internal static string cache_saving_keys { + get { + return ResourceManager.GetString("cache.saving_keys", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Done. File saved as '{0}'. + /// + internal static string chat_done { + get { + return ResourceManager.GetString("chat.done", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Downloading '{0}.lang' from Mojang servers.... + /// + internal static string chat_download { + get { + return ResourceManager.GetString("chat.download", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Failed to download the file.. + /// + internal static string chat_fail { + get { + return ResourceManager.GetString("chat.fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Defaulting to en_GB.lang from your Minecraft directory.. + /// + internal static string chat_from_dir { + get { + return ResourceManager.GetString("chat.from_dir", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Translations file loaded.. + /// + internal static string chat_loaded { + get { + return ResourceManager.GetString("chat.loaded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Player {0}'s message chain is broken!. + /// + internal static string chat_message_chain_broken { + get { + return ResourceManager.GetString("chat.message_chain_broken", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Translations file not found: '{0}' + ///Some messages won't be properly printed without this file.. + /// + internal static string chat_not_found { + get { + return ResourceManager.GetString("chat.not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Performing request to {0}. + /// + internal static string chat_request { + get { + return ResourceManager.GetString("chat.request", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [{0}] Disconnecting and Reconnecting to the Server. + /// + internal static string chatbot_reconnect { + get { + return ResourceManager.GetString("chatbot.reconnect", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Swing your arm.. + /// + internal static string cmd_animation_desc { + get { + return ResourceManager.GetString("cmd.animation.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not find a bed!. + /// + internal static string cmd_bed_bed_not_found { + get { + return ResourceManager.GetString("cmd.bed.bed_not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Can not reach the bed safely!. + /// + internal static string cmd_bed_cant_reach_safely { + get { + return ResourceManager.GetString("cmd.bed.cant_reach_safely", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Used to sleep in or leave a bed.. + /// + internal static string cmd_bed_desc { + get { + return ResourceManager.GetString("cmd.bed.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up!. + /// + internal static string cmd_bed_failed_to_reach_in_time { + get { + return ResourceManager.GetString("cmd.bed.failed_to_reach_in_time", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}).. + /// + internal static string cmd_bed_found_a_bed_at { + get { + return ResourceManager.GetString("cmd.bed.found_a_bed_at", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Succesfully laid in bed!. + /// + internal static string cmd_bed_in { + get { + return ResourceManager.GetString("cmd.bed.in", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sending a command to leave a bed to the server.. + /// + internal static string cmd_bed_leaving { + get { + return ResourceManager.GetString("cmd.bed.leaving", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located.. + /// + internal static string cmd_bed_moving { + get { + return ResourceManager.GetString("cmd.bed.moving", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed!. + /// + internal static string cmd_bed_not_a_bed { + get { + return ResourceManager.GetString("cmd.bed.not_a_bed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed). + /// + internal static string cmd_bed_not_in { + get { + return ResourceManager.GetString("cmd.bed.not_in", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Searching for a bed in radius of {0}.... + /// + internal static string cmd_bed_searching { + get { + return ResourceManager.GetString("cmd.bed.searching", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3}. + /// + internal static string cmd_bed_trying_to_use { + get { + return ResourceManager.GetString("cmd.bed.trying_to_use", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Blocks around. + /// + internal static string cmd_blockinfo_BlocksAround { + get { + return ResourceManager.GetString("cmd.blockinfo.BlocksAround", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Block type. + /// + internal static string cmd_blockinfo_BlockType { + get { + return ResourceManager.GetString("cmd.blockinfo.BlockType", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block).. + /// + internal static string cmd_blockinfo_desc { + get { + return ResourceManager.GetString("cmd.blockinfo.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Negative. + /// + internal static string cmd_blockinfo_Negative { + get { + return ResourceManager.GetString("cmd.blockinfo.Negative", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Positive. + /// + internal static string cmd_blockinfo_Positive { + get { + return ResourceManager.GetString("cmd.blockinfo.Positive", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to List bots, unload a bot or all bots.. + /// + internal static string cmd_bots_desc { + get { + return ResourceManager.GetString("cmd.bots.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Loaded bots. + /// + internal static string cmd_bots_list { + get { + return ResourceManager.GetString("cmd.bots.list", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No bots loaded!. + /// + internal static string cmd_bots_noloaded { + get { + return ResourceManager.GetString("cmd.bots.noloaded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bot {0} is not loaded, check if you have made a typo!. + /// + internal static string cmd_bots_notfound { + get { + return ResourceManager.GetString("cmd.bots.notfound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully unloaded bot: {0}. + /// + internal static string cmd_bots_unloaded { + get { + return ResourceManager.GetString("cmd.bots.unloaded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Successfully unloaded all bots!. + /// + internal static string cmd_bots_unloaded_all { + get { + return ResourceManager.GetString("cmd.bots.unloaded_all", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Changed to slot {0}. + /// + internal static string cmd_changeSlot_changed { + get { + return ResourceManager.GetString("cmd.changeSlot.changed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Change slot in hotbar. + /// + internal static string cmd_changeSlot_desc { + get { + return ResourceManager.GetString("cmd.changeSlot.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not change slot. + /// + internal static string cmd_changeSlot_fail { + get { + return ResourceManager.GetString("cmd.changeSlot.fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not change slot: Not a Number. + /// + internal static string cmd_changeSlot_nan { + get { + return ResourceManager.GetString("cmd.changeSlot.nan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to chunk: ({0}, {1}).. + /// + internal static string cmd_chunk_chunk_pos { + get { + return ResourceManager.GetString("cmd.chunk.chunk_pos", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current location:{0}, chunk: ({1}, {2}).. + /// + internal static string cmd_chunk_current { + get { + return ResourceManager.GetString("cmd.chunk.current", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays the chunk loading status. + ///Change EnableEmoji=false in the settings if the display is confusing.. + /// + internal static string cmd_chunk_desc { + get { + return ResourceManager.GetString("cmd.chunk.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §x§0This command is used for debugging, make sure you know what you are doing.§r. + /// + internal static string cmd_chunk_for_debug { + get { + return ResourceManager.GetString("cmd.chunk.for_debug", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4}. + /// + internal static string cmd_chunk_icon { + get { + return ResourceManager.GetString("cmd.chunk.icon", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Marked location: . + /// + internal static string cmd_chunk_marked { + get { + return ResourceManager.GetString("cmd.chunk.marked", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §x§0Since the marked chunk is outside the graph, it will not be displayed!§r. + /// + internal static string cmd_chunk_outside { + get { + return ResourceManager.GetString("cmd.chunk.outside", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to connect to the specified server.. + /// + internal static string cmd_connect_desc { + get { + return ResourceManager.GetString("cmd.connect.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid server IP '{0}'.. + /// + internal static string cmd_connect_invalid_ip { + get { + return ResourceManager.GetString("cmd.connect.invalid_ip", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unknown account '{0}'.. + /// + internal static string cmd_connect_unknown { + get { + return ResourceManager.GetString("cmd.connect.unknown", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to toggle debug messages.. + /// + internal static string cmd_debug_desc { + get { + return ResourceManager.GetString("cmd.debug.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Debug messages are now OFF. + /// + internal static string cmd_debug_state_off { + get { + return ResourceManager.GetString("cmd.debug.state_off", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Debug messages are now ON. + /// + internal static string cmd_debug_state_on { + get { + return ResourceManager.GetString("cmd.debug.state_on", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Attempt to break a block. + /// + internal static string cmd_dig_desc { + get { + return ResourceManager.GetString("cmd.dig.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Attempting to dig block at {0} {1} {2} ({3}). + /// + internal static string cmd_dig_dig { + get { + return ResourceManager.GetString("cmd.dig.dig", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to start digging block.. + /// + internal static string cmd_dig_fail { + get { + return ResourceManager.GetString("cmd.dig.fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No block at this location (Air). + /// + internal static string cmd_dig_no_block { + get { + return ResourceManager.GetString("cmd.dig.no_block", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You are too far away from this block.. + /// + internal static string cmd_dig_too_far { + get { + return ResourceManager.GetString("cmd.dig.too_far", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Drop specified type of items from player inventory or opened container. + /// + internal static string cmd_dropItem_desc { + get { + return ResourceManager.GetString("cmd.dropItem.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Dropped all {0} from inventory #{1}. + /// + internal static string cmd_dropItem_dropped { + get { + return ResourceManager.GetString("cmd.dropItem.dropped", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unknown item {0}. + /// + internal static string cmd_dropItem_unknown_item { + get { + return ResourceManager.GetString("cmd.dropItem.unknown_item", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant!. + /// + internal static string cmd_enchant_clicked { + get { + return ResourceManager.GetString("cmd.enchant.clicked", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enchant an item when you have the Enchantment table opened and the list of enchants recieved.. + /// + internal static string cmd_enchant_desc { + get { + return ResourceManager.GetString("cmd.enchant.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must put an item inside the enchanting table in slot 0!. + /// + internal static string cmd_enchant_enchanting_no_item { + get { + return ResourceManager.GetString("cmd.enchant.enchanting_no_item", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must put at least 3 lapis lazuli inside the enchanting table in slot 1!. + /// + internal static string cmd_enchant_enchanting_no_lapis { + get { + return ResourceManager.GetString("cmd.enchant.enchanting_no_lapis", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must open a an enchanting table in order to use this option!. + /// + internal static string cmd_enchant_enchanting_table_not_opened { + get { + return ResourceManager.GetString("cmd.enchant.enchanting_table_not_opened", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid slot provided (Available: top, middle, bottom)!. + /// + internal static string cmd_enchant_invalid_slot { + get { + return ResourceManager.GetString("cmd.enchant.invalid_slot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command!. + /// + internal static string cmd_enchant_no_enchantments { + get { + return ResourceManager.GetString("cmd.enchant.no_enchantments", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}).. + /// + internal static string cmd_enchant_no_levels { + get { + return ResourceManager.GetString("cmd.enchant.no_levels", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not click!. + /// + internal static string cmd_enchant_not_clicked { + get { + return ResourceManager.GetString("cmd.enchant.not_clicked", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Entity attacked. + /// + internal static string cmd_entityCmd_attacked { + get { + return ResourceManager.GetString("cmd.entityCmd.attacked", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Boots. + /// + internal static string cmd_entityCmd_boots { + get { + return ResourceManager.GetString("cmd.entityCmd.boots", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chestplate. + /// + internal static string cmd_entityCmd_chestplate { + get { + return ResourceManager.GetString("cmd.entityCmd.chestplate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Custom Name. + /// + internal static string cmd_entityCmd_customname { + get { + return ResourceManager.GetString("cmd.entityCmd.customname", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Distance. + /// + internal static string cmd_entityCmd_distance { + get { + return ResourceManager.GetString("cmd.entityCmd.distance", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Entities. + /// + internal static string cmd_entityCmd_entities { + get { + return ResourceManager.GetString("cmd.entityCmd.entities", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Entity. + /// + internal static string cmd_entityCmd_entity { + get { + return ResourceManager.GetString("cmd.entityCmd.entity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Equipment. + /// + internal static string cmd_entityCmd_equipment { + get { + return ResourceManager.GetString("cmd.entityCmd.equipment", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Health. + /// + internal static string cmd_entityCmd_health { + get { + return ResourceManager.GetString("cmd.entityCmd.health", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Helmet. + /// + internal static string cmd_entityCmd_helmet { + get { + return ResourceManager.GetString("cmd.entityCmd.helmet", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Item. + /// + internal static string cmd_entityCmd_item { + get { + return ResourceManager.GetString("cmd.entityCmd.item", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Latency. + /// + internal static string cmd_entityCmd_latency { + get { + return ResourceManager.GetString("cmd.entityCmd.latency", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Leggings. + /// + internal static string cmd_entityCmd_leggings { + get { + return ResourceManager.GetString("cmd.entityCmd.leggings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Location. + /// + internal static string cmd_entityCmd_location { + get { + return ResourceManager.GetString("cmd.entityCmd.location", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Main Hand. + /// + internal static string cmd_entityCmd_mainhand { + get { + return ResourceManager.GetString("cmd.entityCmd.mainhand", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Nickname. + /// + internal static string cmd_entityCmd_nickname { + get { + return ResourceManager.GetString("cmd.entityCmd.nickname", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Entity not found. + /// + internal static string cmd_entityCmd_not_found { + get { + return ResourceManager.GetString("cmd.entityCmd.not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Off Hand. + /// + internal static string cmd_entityCmd_offhand { + get { + return ResourceManager.GetString("cmd.entityCmd.offhand", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Pose. + /// + internal static string cmd_entityCmd_pose { + get { + return ResourceManager.GetString("cmd.entityCmd.pose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Type. + /// + internal static string cmd_entityCmd_type { + get { + return ResourceManager.GetString("cmd.entityCmd.type", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Entity used. + /// + internal static string cmd_entityCmd_used { + get { + return ResourceManager.GetString("cmd.entityCmd.used", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions). + /// + internal static string cmd_execif_desc { + get { + return ResourceManager.GetString("cmd.execif.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error: {0}. + /// + internal static string cmd_execif_error { + get { + return ResourceManager.GetString("cmd.execif.error", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to An error has occured while executing the command: {0}. + /// + internal static string cmd_execif_error_occured { + get { + return ResourceManager.GetString("cmd.execif.error_occured", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The condition '{0}' was met, executed command '{1}' with result '{2}'.. + /// + internal static string cmd_execif_executed { + get { + return ResourceManager.GetString("cmd.execif.executed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The condition '{0}' was met, executed command '{1}', no result was returned.. + /// + internal static string cmd_execif_executed_no_output { + get { + return ResourceManager.GetString("cmd.execif.executed_no_output", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Execute multiple commands one after another. + /// + internal static string cmd_execmulti_desc { + get { + return ResourceManager.GetString("cmd.execmulti.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Executed the command '{0}' with {1}. + /// + internal static string cmd_execmulti_executed { + get { + return ResourceManager.GetString("cmd.execmulti.executed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to no result!. + /// + internal static string cmd_execmulti_no_result { + get { + return ResourceManager.GetString("cmd.execmulti.no_result", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You can not use execmulti or execif within execmulti command!. + /// + internal static string cmd_execmulti_prevent { + get { + return ResourceManager.GetString("cmd.execmulti.prevent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to result '{0}'!. + /// + internal static string cmd_execmulti_result { + get { + return ResourceManager.GetString("cmd.execmulti.result", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to disconnect from the server.. + /// + internal static string cmd_exit_desc { + get { + return ResourceManager.GetString("cmd.exit.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Already following {0}!. + /// + internal static string cmd_follow_already_following { + get { + return ResourceManager.GetString("cmd.follow.already_following", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Already stopped. + /// + internal static string cmd_follow_already_stopped { + get { + return ResourceManager.GetString("cmd.follow.already_stopped", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies!. + /// + internal static string cmd_follow_cant_reach_player { + get { + return ResourceManager.GetString("cmd.follow.cant_reach_player", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Makes the bot follow a specified player. + /// + internal static string cmd_follow_desc { + get { + return ResourceManager.GetString("cmd.follow.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid or empty player name provided!. + /// + internal static string cmd_follow_invalid_name { + get { + return ResourceManager.GetString("cmd.follow.invalid_name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The specified player is either not connected out out of the range!. + /// + internal static string cmd_follow_invalid_player { + get { + return ResourceManager.GetString("cmd.follow.invalid_player", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one.. + /// + internal static string cmd_follow_note { + get { + return ResourceManager.GetString("cmd.follow.note", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Pausing!. + /// + internal static string cmd_follow_pausing { + get { + return ResourceManager.GetString("cmd.follow.pausing", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The player {0} came back to the range!. + /// + internal static string cmd_follow_player_came_to_the_range { + get { + return ResourceManager.GetString("cmd.follow.player_came_to_the_range", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The player {0} left the server!. + /// + internal static string cmd_follow_player_left { + get { + return ResourceManager.GetString("cmd.follow.player_left", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The player {0} has left the range!. + /// + internal static string cmd_follow_player_left_the_range { + get { + return ResourceManager.GetString("cmd.follow.player_left_the_range", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resuming to follow!. + /// + internal static string cmd_follow_resuming { + get { + return ResourceManager.GetString("cmd.follow.resuming", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Started following {0}!. + /// + internal static string cmd_follow_started { + get { + return ResourceManager.GetString("cmd.follow.started", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stopped!. + /// + internal static string cmd_follow_stopped { + get { + return ResourceManager.GetString("cmd.follow.stopped", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stopped following!. + /// + internal static string cmd_follow_stopping { + get { + return ResourceManager.GetString("cmd.follow.stopping", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switched to following {0}!. + /// + internal static string cmd_follow_switched { + get { + return ResourceManager.GetString("cmd.follow.switched", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enabled us-safe walking (NOTE: The bot might die or get hurt!). + /// + internal static string cmd_follow_unsafe_enabled { + get { + return ResourceManager.GetString("cmd.follow.unsafe_enabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to follow <player name|stop> [-f] (Use -f to enable un-safe walking). + /// + internal static string cmd_follow_usage { + get { + return ResourceManager.GetString("cmd.follow.usage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Display Health and Food saturation.. + /// + internal static string cmd_health_desc { + get { + return ResourceManager.GetString("cmd.health.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3}. + /// + internal static string cmd_health_response { + get { + return ResourceManager.GetString("cmd.health.response", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} clicking slot {1} in window #{2}. + /// + internal static string cmd_inventory_clicking { + get { + return ResourceManager.GetString("cmd.inventory.clicking", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Closing Inventoy #{0}. + /// + internal static string cmd_inventory_close { + get { + return ResourceManager.GetString("cmd.inventory.close", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to close Inventory #{0}. + /// + internal static string cmd_inventory_close_fail { + get { + return ResourceManager.GetString("cmd.inventory.close_fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot find container, please retry with explicit ID. + /// + internal static string cmd_inventory_container_not_found { + get { + return ResourceManager.GetString("cmd.inventory.container_not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Requested to clear slot #{0}. + /// + internal static string cmd_inventory_creative_delete { + get { + return ResourceManager.GetString("cmd.inventory.creative_delete", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Requested {0} x{1} in slot #{2}. + /// + internal static string cmd_inventory_creative_done { + get { + return ResourceManager.GetString("cmd.inventory.creative_done", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to request Creative action. + /// + internal static string cmd_inventory_creative_fail { + get { + return ResourceManager.GetString("cmd.inventory.creative_fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Damage. + /// + internal static string cmd_inventory_damage { + get { + return ResourceManager.GetString("cmd.inventory.damage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inventory command. + /// + internal static string cmd_inventory_desc { + get { + return ResourceManager.GetString("cmd.inventory.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Dropped 1 item from slot #{0}. + /// + internal static string cmd_inventory_drop { + get { + return ResourceManager.GetString("cmd.inventory.drop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Dropped whole item stack from slot #{0}. + /// + internal static string cmd_inventory_drop_stack { + get { + return ResourceManager.GetString("cmd.inventory.drop_stack", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Found items. + /// + internal static string cmd_inventory_found_items { + get { + return ResourceManager.GetString("cmd.inventory.found_items", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Available actions. + /// + internal static string cmd_inventory_help_available { + get { + return ResourceManager.GetString("cmd.inventory.help.available", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Basic usage. + /// + internal static string cmd_inventory_help_basic { + get { + return ResourceManager.GetString("cmd.inventory.help.basic", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click on an item.. + /// + internal static string cmd_inventory_help_click { + get { + return ResourceManager.GetString("cmd.inventory.help.click", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close an opened container.. + /// + internal static string cmd_inventory_help_close { + get { + return ResourceManager.GetString("cmd.inventory.help.close", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Clear slot in creative mode.. + /// + internal static string cmd_inventory_help_creativedelete { + get { + return ResourceManager.GetString("cmd.inventory.help.creativedelete", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Give item in creative mode.. + /// + internal static string cmd_inventory_help_creativegive { + get { + return ResourceManager.GetString("cmd.inventory.help.creativegive", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Drop an item from inventory.. + /// + internal static string cmd_inventory_help_drop { + get { + return ResourceManager.GetString("cmd.inventory.help.drop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} + ///Use '/inventory help <action>' for action help. + ///'player' and 'container' can be simplified to 'p' and 'c'. + ///Note that parameters in '[]' are optional.. + /// + internal static string cmd_inventory_help_help { + get { + return ResourceManager.GetString("cmd.inventory.help.help", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to List avaliable inventories. + /// + internal static string cmd_inventory_help_inventories { + get { + return ResourceManager.GetString("cmd.inventory.help.inventories", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to List your inventory.. + /// + internal static string cmd_inventory_help_list { + get { + return ResourceManager.GetString("cmd.inventory.help.list", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Search for an item in avaliable Inventories. + /// + internal static string cmd_inventory_help_search { + get { + return ResourceManager.GetString("cmd.inventory.help.search", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shift click an item.. + /// + internal static string cmd_inventory_help_shiftclick { + get { + return ResourceManager.GetString("cmd.inventory.help.shiftclick", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unknown action. . + /// + internal static string cmd_inventory_help_unknown { + get { + return ResourceManager.GetString("cmd.inventory.help.unknown", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Usage. + /// + internal static string cmd_inventory_help_usage { + get { + return ResourceManager.GetString("cmd.inventory.help.usage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Your selected hotbar is {0}. + /// + internal static string cmd_inventory_hotbar { + get { + return ResourceManager.GetString("cmd.inventory.hotbar", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inventories. + /// + internal static string cmd_inventory_inventories { + get { + return ResourceManager.GetString("cmd.inventory.inventories", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Available Inventories. + /// + internal static string cmd_inventory_inventories_available { + get { + return ResourceManager.GetString("cmd.inventory.inventories_available", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inventory. + /// + internal static string cmd_inventory_inventory { + get { + return ResourceManager.GetString("cmd.inventory.inventory", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Left. + /// + internal static string cmd_inventory_left { + get { + return ResourceManager.GetString("cmd.inventory.left", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Middle. + /// + internal static string cmd_inventory_middle { + get { + return ResourceManager.GetString("cmd.inventory.middle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must be in Creative gamemode. + /// + internal static string cmd_inventory_need_creative { + get { + return ResourceManager.GetString("cmd.inventory.need_creative", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Could not find the specified item in any of avaliable Inventories!. + /// + internal static string cmd_inventory_no_found_items { + get { + return ResourceManager.GetString("cmd.inventory.no_found_items", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No item in slot #{0}. + /// + internal static string cmd_inventory_no_item { + get { + return ResourceManager.GetString("cmd.inventory.no_item", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inventory #{0} do not exist. + /// + internal static string cmd_inventory_not_exist { + get { + return ResourceManager.GetString("cmd.inventory.not_exist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Right. + /// + internal static string cmd_inventory_right { + get { + return ResourceManager.GetString("cmd.inventory.right", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shift clicking slot {0} in window #{1}. + /// + internal static string cmd_inventory_shiftclick { + get { + return ResourceManager.GetString("cmd.inventory.shiftclick", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shift click failed, this may be because this container type is not supported. + /// + internal static string cmd_inventory_shiftclick_fail { + get { + return ResourceManager.GetString("cmd.inventory.shiftclick_fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to get the player list.. + /// + internal static string cmd_list_desc { + get { + return ResourceManager.GetString("cmd.list.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PlayerList: {0}. + /// + internal static string cmd_list_players { + get { + return ResourceManager.GetString("cmd.list.players", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to log some text to the console.. + /// + internal static string cmd_log_desc { + get { + return ResourceManager.GetString("cmd.log.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Looking at yaw: {0} pitch: {1}. + /// + internal static string cmd_look_at { + get { + return ResourceManager.GetString("cmd.look.at", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Looking at {0}. + /// + internal static string cmd_look_block { + get { + return ResourceManager.GetString("cmd.look.block", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to look at direction or coordinates.. + /// + internal static string cmd_look_desc { + get { + return ResourceManager.GetString("cmd.look.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}).. + /// + internal static string cmd_look_inspection { + get { + return ResourceManager.GetString("cmd.look.inspection", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to There is no block within {0} meters that intersects with the line of sight.. + /// + internal static string cmd_look_noinspection { + get { + return ResourceManager.GetString("cmd.look.noinspection", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unknown direction '{0}'. + /// + internal static string cmd_look_unknown { + get { + return ResourceManager.GetString("cmd.look.unknown", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chunk loading status: {0:P} - {1} out of {2} load completed.. + /// + internal static string cmd_move_chunk_loading_status { + get { + return ResourceManager.GetString("cmd.move.chunk_loading_status", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The chunk where the target location resides has not yet been loaded. + ///You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status.. + /// + internal static string cmd_move_chunk_not_loaded { + get { + return ResourceManager.GetString("cmd.move.chunk_not_loaded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to walk or start walking.. + /// + internal static string cmd_move_desc { + get { + return ResourceManager.GetString("cmd.move.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to force unsafe movements like falling or touching fire. + /// + internal static string cmd_move_desc_force { + get { + return ResourceManager.GetString("cmd.move.desc_force", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot move in that direction.. + /// + internal static string cmd_move_dir_fail { + get { + return ResourceManager.GetString("cmd.move.dir_fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disabling Terrain and Movements.. + /// + internal static string cmd_move_disable { + get { + return ResourceManager.GetString("cmd.move.disable", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enabling Terrain and Movements on next server login, respawn or world change.. + /// + internal static string cmd_move_enable { + get { + return ResourceManager.GetString("cmd.move.enable", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to compute path to {0}. + /// + internal static string cmd_move_fail { + get { + return ResourceManager.GetString("cmd.move.fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Gravity is disabled.. + /// + internal static string cmd_move_gravity_disabled { + get { + return ResourceManager.GetString("cmd.move.gravity.disabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Gravity is enabled.. + /// + internal static string cmd_move_gravity_enabled { + get { + return ResourceManager.GetString("cmd.move.gravity.enabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Moving {0}. + /// + internal static string cmd_move_moving { + get { + return ResourceManager.GetString("cmd.move.moving", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements.. + /// + internal static string cmd_move_suggestforce { + get { + return ResourceManager.GetString("cmd.move.suggestforce", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Walking from {1} to {0}. + /// + internal static string cmd_move_walk { + get { + return ResourceManager.GetString("cmd.move.walk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to restart and reconnect to the server.. + /// + internal static string cmd_reco_desc { + get { + return ResourceManager.GetString("cmd.reco.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reloads MCC settings.. + /// + internal static string cmd_reload_desc { + get { + return ResourceManager.GetString("cmd.reload.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reloaded Settings!. + /// + internal static string cmd_reload_finished { + get { + return ResourceManager.GetString("cmd.reload.finished", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reloading settings.... + /// + internal static string cmd_reload_started { + get { + return ResourceManager.GetString("cmd.reload.started", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This command will NOT affect certain settings which are used before connecting to a server!. + /// + internal static string cmd_reload_warning1 { + get { + return ResourceManager.GetString("cmd.reload.warning1", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Some settings passed through the command line parameters might get overriden!. + /// + internal static string cmd_reload_warning2 { + get { + return ResourceManager.GetString("cmd.reload.warning2", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You also might need to reconnect for some settings to take effect.. + /// + internal static string cmd_reload_warning3 { + get { + return ResourceManager.GetString("cmd.reload.warning3", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Replay Chat Bot will not be hard reloaded due to technical limitations!. + /// + internal static string cmd_reload_warning4 { + get { + return ResourceManager.GetString("cmd.reload.warning4", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use this to respawn if you are dead.. + /// + internal static string cmd_respawn_desc { + get { + return ResourceManager.GetString("cmd.respawn.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You have respawned.. + /// + internal static string cmd_respawn_done { + get { + return ResourceManager.GetString("cmd.respawn.done", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to run a script file.. + /// + internal static string cmd_script_desc { + get { + return ResourceManager.GetString("cmd.script.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to send a chat message or command.. + /// + internal static string cmd_send_desc { + get { + return ResourceManager.GetString("cmd.send.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to set a custom %variable%.. + /// + internal static string cmd_set_desc { + get { + return ResourceManager.GetString("cmd.set.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to variable name must be A-Za-z0-9.. + /// + internal static string cmd_set_format { + get { + return ResourceManager.GetString("cmd.set.format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to set a custom %variable% randomly to a given value.. + /// + internal static string cmd_setrnd_desc { + get { + return ResourceManager.GetString("cmd.setrnd.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3". + /// + internal static string cmd_setrnd_format { + get { + return ResourceManager.GetString("cmd.setrnd.format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to setrnd variable -7to17. + /// + internal static string cmd_setrndnum_format { + get { + return ResourceManager.GetString("cmd.setrndnum.format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to setrnd variable string1 "\"string2\" string3". + /// + internal static string cmd_setrndstr_format { + get { + return ResourceManager.GetString("cmd.setrndstr.format", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles sneaking. + /// + internal static string cmd_sneak_desc { + get { + return ResourceManager.GetString("cmd.sneak.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You are not sneaking anymore. + /// + internal static string cmd_sneak_off { + get { + return ResourceManager.GetString("cmd.sneak.off", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You are sneaking now. + /// + internal static string cmd_sneak_on { + get { + return ResourceManager.GetString("cmd.sneak.on", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current tps. + /// + internal static string cmd_tps_current { + get { + return ResourceManager.GetString("cmd.tps.current", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Display server current tps (tick per second). May not be accurate. + /// + internal static string cmd_tps_desc { + get { + return ResourceManager.GetString("cmd.tps.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Place a block or open chest. + /// + internal static string cmd_useblock_desc { + get { + return ResourceManager.GetString("cmd.useblock.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}.. + /// + internal static string cmd_useblock_use { + get { + return ResourceManager.GetString("cmd.useblock.use", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use (left click) an item on the hand. + /// + internal static string cmd_useitem_desc { + get { + return ResourceManager.GetString("cmd.useitem.desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Used an item. + /// + internal static string cmd_useitem_use { + get { + return ResourceManager.GetString("cmd.useitem.use", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to can be used in some other fields as %yourvar% + ///%username% and %serverip% are reserved variables.. + /// + internal static string config_AppVars_Variables { + get { + return ResourceManager.GetString("config.AppVars.Variables", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §cFailed to write to backup file {0}§r. + /// + internal static string config_backup_fail { + get { + return ResourceManager.GetString("config.backup.fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to =============================== # + /// Minecraft Console Client Bots # + ///=============================== #. + /// + internal static string config_ChatBot { + get { + return ResourceManager.GetString("config.ChatBot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Get alerted when specified words are detected in chat + ///Useful for moderating your server or detecting when someone is talking to you. + /// + internal static string config_ChatBot_Alerts { + get { + return ResourceManager.GetString("config.ChatBot.Alerts", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Play a beep sound when a word is detected in addition to highlighting.. + /// + internal static string config_ChatBot_Alerts_Beep_Enabled { + get { + return ResourceManager.GetString("config.ChatBot.Alerts.Beep_Enabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to List of words/strings to NOT alert you on.. + /// + internal static string config_ChatBot_Alerts_Excludes { + get { + return ResourceManager.GetString("config.ChatBot.Alerts.Excludes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The name of a file where alers logs will be written.. + /// + internal static string config_ChatBot_Alerts_Log_File { + get { + return ResourceManager.GetString("config.ChatBot.Alerts.Log_File", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Log alerts info a file.. + /// + internal static string config_ChatBot_Alerts_Log_To_File { + get { + return ResourceManager.GetString("config.ChatBot.Alerts.Log_To_File", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to List of words/strings to alert you on.. + /// + internal static string config_ChatBot_Alerts_Matches { + get { + return ResourceManager.GetString("config.ChatBot.Alerts.Matches", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Trigger alerts when it rains and when it stops.. + /// + internal static string config_ChatBot_Alerts_Trigger_By_Rain { + get { + return ResourceManager.GetString("config.ChatBot.Alerts.Trigger_By_Rain", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Triggers alerts at the beginning and end of thunderstorms.. + /// + internal static string config_ChatBot_Alerts_Trigger_By_Thunderstorm { + get { + return ResourceManager.GetString("config.ChatBot.Alerts.Trigger_By_Thunderstorm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Triggers an alert after receiving a specified keyword.. + /// + internal static string config_ChatBot_Alerts_Trigger_By_Words { + get { + return ResourceManager.GetString("config.ChatBot.Alerts.Trigger_By_Words", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection + ////!\ Make sure your server rules do not forbid anti-AFK mechanisms! + ////!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5). + /// + internal static string config_ChatBot_AntiAfk { + get { + return ResourceManager.GetString("config.ChatBot.AntiAfk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Command to send to the server.. + /// + internal static string config_ChatBot_AntiAfk_Command { + get { + return ResourceManager.GetString("config.ChatBot.AntiAfk.Command", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The time interval for execution. (in seconds). + /// + internal static string config_ChatBot_AntiAfk_Delay { + get { + return ResourceManager.GetString("config.ChatBot.AntiAfk.Delay", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to sneak when sending the command.. + /// + internal static string config_ChatBot_AntiAfk_Use_Sneak { + get { + return ResourceManager.GetString("config.ChatBot.AntiAfk.Use_Sneak", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use terrain handling to enable the bot to move around.. + /// + internal static string config_ChatBot_AntiAfk_Use_Terrain_Handling { + get { + return ResourceManager.GetString("config.ChatBot.AntiAfk.Use_Terrain_Handling", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be). + /// + internal static string config_ChatBot_AntiAfk_Walk_Range { + get { + return ResourceManager.GetString("config.ChatBot.AntiAfk.Walk_Range", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How many times can the bot fail trying to move before using the command method.. + /// + internal static string config_ChatBot_AntiAfk_Walk_Retries { + get { + return ResourceManager.GetString("config.ChatBot.AntiAfk.Walk_Retries", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically attack hostile mobs around you + ///You need to enable Entity Handling to use this bot + ////!\ Make sure server rules allow your planned use of AutoAttack + ////!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES!. + /// + internal static string config_ChatBot_AutoAttack { + get { + return ResourceManager.GetString("config.ChatBot.AutoAttack", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Allow attacking hostile mobs.. + /// + internal static string config_ChatBot_AutoAttack_Attack_Hostile { + get { + return ResourceManager.GetString("config.ChatBot.AutoAttack.Attack_Hostile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Allow attacking passive mobs.. + /// + internal static string config_ChatBot_AutoAttack_Attack_Passive { + get { + return ResourceManager.GetString("config.ChatBot.AutoAttack.Attack_Passive", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How long to wait between each attack. Set "Custom = false" to let MCC calculate it.. + /// + internal static string config_ChatBot_AutoAttack_Cooldown_Time { + get { + return ResourceManager.GetString("config.ChatBot.AutoAttack.Cooldown_Time", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to All entity types can be found here: https://bit.ly/3Rg68lp. + /// + internal static string config_ChatBot_AutoAttack_Entites_List { + get { + return ResourceManager.GetString("config.ChatBot.AutoAttack.Entites_List", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack).. + /// + internal static string config_ChatBot_AutoAttack_Interaction { + get { + return ResourceManager.GetString("config.ChatBot.AutoAttack.Interaction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Wether to treat the entities list as a "whitelist" or as a "blacklist".. + /// + internal static string config_ChatBot_AutoAttack_List_Mode { + get { + return ResourceManager.GetString("config.ChatBot.AutoAttack.List_Mode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "single" or "multi". single target one mob per attack. multi target all mobs in range per attack. + /// + internal static string config_ChatBot_AutoAttack_Mode { + get { + return ResourceManager.GetString("config.ChatBot.AutoAttack.Mode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "health" or "distance". Only needed when using single mode. + /// + internal static string config_ChatBot_AutoAttack_Priority { + get { + return ResourceManager.GetString("config.ChatBot.AutoAttack.Priority", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically craft items in your inventory + ///See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use + ///You need to enable Inventory Handling to use this bot + ///You should also enable Terrain and Movements if you need to use a crafting table. + /// + internal static string config_ChatBot_AutoCraft { + get { + return ResourceManager.GetString("config.ChatBot.AutoCraft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Location of the crafting table if you intended to use it. Terrain and movements must be enabled.. + /// + internal static string config_ChatBot_AutoCraft_CraftingTable { + get { + return ResourceManager.GetString("config.ChatBot.AutoCraft.CraftingTable", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to What to do on crafting failure, "abort" or "wait".. + /// + internal static string config_ChatBot_AutoCraft_OnFailure { + get { + return ResourceManager.GetString("config.ChatBot.AutoCraft.OnFailure", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Recipes.Name: The name can be whatever you like and it is used to represent the recipe. + ///Recipes.Type: crafting table type: "player" or "table" + ///Recipes.Result: the resulting item + ///Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. + ///For the naming of the items, please see: + ///https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs. + /// + internal static string config_ChatBot_AutoCraft_Recipes { + get { + return ResourceManager.GetString("config.ChatBot.AutoCraft.Recipes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Auto-digging blocks. + ///You need to enable Terrain Handling to use this bot + ///You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. + ///Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. + ///For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs. + /// + internal static string config_ChatBot_AutoDig { + get { + return ResourceManager.GetString("config.ChatBot.AutoDig", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start.. + /// + internal static string config_ChatBot_AutoDig_Auto_Start_Delay { + get { + return ResourceManager.GetString("config.ChatBot.AutoDig.Auto_Start_Delay", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically switch to the appropriate tool.. + /// + internal static string config_ChatBot_AutoDig_Auto_Tool_Switch { + get { + return ResourceManager.GetString("config.ChatBot.AutoDig.Auto_Tool_Switch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Mining a block for more than "Dig_Timeout" seconds will be considered a timeout.. + /// + internal static string config_ChatBot_AutoDig_Dig_Timeout { + get { + return ResourceManager.GetString("config.ChatBot.AutoDig.Dig_Timeout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to drop the current tool when its durability is too low.. + /// + internal static string config_ChatBot_AutoDig_Drop_Low_Durability_Tools { + get { + return ResourceManager.GetString("config.ChatBot.AutoDig.Drop_Low_Durability_Tools", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Will not use tools with less durability than this. Set to zero to disable this feature.. + /// + internal static string config_ChatBot_AutoDig_Durability_Limit { + get { + return ResourceManager.GetString("config.ChatBot.AutoDig.Durability_Limit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Wether to treat the blocks list as a "whitelist" or as a "blacklist".. + /// + internal static string config_ChatBot_AutoDig_List_Type { + get { + return ResourceManager.GetString("config.ChatBot.AutoDig.List_Type", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list.. + /// + internal static string config_ChatBot_AutoDig_Location_Order { + get { + return ResourceManager.GetString("config.ChatBot.AutoDig.Location_Order", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The position of the blocks when using "fixedpos" or "both" mode.. + /// + internal static string config_ChatBot_AutoDig_Locations { + get { + return ResourceManager.GetString("config.ChatBot.AutoDig.Locations", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to output logs when digging blocks.. + /// + internal static string config_ChatBot_AutoDig_Log_Block_Dig { + get { + return ResourceManager.GetString("config.ChatBot.AutoDig.Log_Block_Dig", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met.. + /// + internal static string config_ChatBot_AutoDig_Mode { + get { + return ResourceManager.GetString("config.ChatBot.AutoDig.Mode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically drop items in inventory + ///You need to enable Inventory Handling to use this bot + ///See this file for an up-to-date list of item types you can use with this bot: + ///https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs. + /// + internal static string config_ChatBot_AutoDrop { + get { + return ResourceManager.GetString("config.ChatBot.AutoDrop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list. + /// + internal static string config_ChatBot_AutoDrop_Mode { + get { + return ResourceManager.GetString("config.ChatBot.AutoDrop.Mode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically eat food when your Hunger value is low + ///You need to enable Inventory Handling to use this bot. + /// + internal static string config_ChatBot_AutoEat { + get { + return ResourceManager.GetString("config.ChatBot.AutoEat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically catch fish using a fishing rod + ///Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing + ///You can use "/fish" to control the bot manually. + ////!\ Make sure server rules allow automated farming before using this bot. + /// + internal static string config_ChatBot_AutoFishing { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Keep it as false if you have not changed it before.. + /// + internal static string config_ChatBot_AutoFishing_Antidespawn { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Antidespawn", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to a new rod from inventory after the current rod is unavailable.. + /// + internal static string config_ChatBot_AutoFishing_Auto_Rod_Switch { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Auto_Rod_Switch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to start fishing automatically after entering a world.. + /// + internal static string config_ChatBot_AutoFishing_Auto_Start { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Auto_Start", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How soon to re-cast after successful fishing.. + /// + internal static string config_ChatBot_AutoFishing_Cast_Delay { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Cast_Delay", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature.. + /// + internal static string config_ChatBot_AutoFishing_Durability_Limit { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Durability_Limit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This allows the player to change position/facing after each fish caught.. + /// + internal static string config_ChatBot_AutoFishing_Enable_Move { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Enable_Move", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How long after entering the game to start fishing (seconds).. + /// + internal static string config_ChatBot_AutoFishing_Fishing_Delay { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Fishing_Delay", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fishing timeout (seconds). Timeout will trigger a re-cast.. + /// + internal static string config_ChatBot_AutoFishing_Fishing_Timeout { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Fishing_Timeout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish.. + /// + internal static string config_ChatBot_AutoFishing_Hook_Threshold { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Hook_Threshold", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet.. + /// + internal static string config_ChatBot_AutoFishing_Log_Fish_Bobber { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Log_Fish_Bobber", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use the mainhand or the offhand to hold the rod.. + /// + internal static string config_ChatBot_AutoFishing_Mainhand { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Mainhand", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only.. + /// + internal static string config_ChatBot_AutoFishing_Movements { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Movements", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hook movement in the X and Z axis less than this value will be considered stationary.. + /// + internal static string config_ChatBot_AutoFishing_Stationary_Threshold { + get { + return ResourceManager.GetString("config.ChatBot.AutoFishing.Stationary_Threshold", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically relog when disconnected by server, for example because the server is restating + ////!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks. + /// + internal static string config_ChatBot_AutoRelog { + get { + return ResourceManager.GetString("config.ChatBot.AutoRelog", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The delay time before joining the server. (in seconds). + /// + internal static string config_ChatBot_AutoRelog_Delay { + get { + return ResourceManager.GetString("config.ChatBot.AutoRelog.Delay", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to When set to true, autorelog will reconnect regardless of kick messages.. + /// + internal static string config_ChatBot_AutoRelog_Ignore_Kick_Message { + get { + return ResourceManager.GetString("config.ChatBot.AutoRelog.Ignore_Kick_Message", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If the kickout message matches any of the strings, then autorelog will be triggered.. + /// + internal static string config_ChatBot_AutoRelog_Kick_Messages { + get { + return ResourceManager.GetString("config.ChatBot.AutoRelog.Kick_Messages", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Retries when failing to relog to the server. use -1 for unlimited retries.. + /// + internal static string config_ChatBot_AutoRelog_Retries { + get { + return ResourceManager.GetString("config.ChatBot.AutoRelog.Retries", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Run commands or send messages automatically when a specified pattern is detected in chat + ///Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules + ////!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam. + /// + internal static string config_ChatBot_AutoRespond { + get { + return ResourceManager.GetString("config.ChatBot.AutoRespond", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work). + /// + internal static string config_ChatBot_AutoRespond_Match_Colors { + get { + return ResourceManager.GetString("config.ChatBot.AutoRespond.Match_Colors", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Logs chat messages in a file on disk.. + /// + internal static string config_ChatBot_ChatLog { + get { + return ResourceManager.GetString("config.ChatBot.ChatLog", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This bot allows you to send and recieve messages and commands via a Discord channel. + ///For Setup you can either use the documentation or read here (Documentation has images). + ///Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge + ///Setup: + ///First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . + ////!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Pr [rest of string was truncated]";. + /// + internal static string config_ChatBot_DiscordBridge { + get { + return ResourceManager.GetString("config.ChatBot.DiscordBridge", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The ID of a channel where you want to interact with the MCC using the bot.. + /// + internal static string config_ChatBot_DiscordBridge_ChannelId { + get { + return ResourceManager.GetString("config.ChatBot.DiscordBridge.ChannelId", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Message formats + ///Words wrapped with { and } are going to be replaced during the code execution, do not change them! + ///For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. + ///For Discord message formatting, check the following: https://bit.ly/3F8CUCm. + /// + internal static string config_ChatBot_DiscordBridge_Formats { + get { + return ResourceManager.GetString("config.ChatBot.DiscordBridge.Formats", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The ID of a server/guild where you have invited the bot to.. + /// + internal static string config_ChatBot_DiscordBridge_GuildId { + get { + return ResourceManager.GetString("config.ChatBot.DiscordBridge.GuildId", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second).. + /// + internal static string config_ChatBot_DiscordBridge_MessageSendTimeout { + get { + return ResourceManager.GetString("config.ChatBot.DiscordBridge.MessageSendTimeout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A list of IDs of people you want to be able to interact with the MCC using the bot.. + /// + internal static string config_ChatBot_DiscordBridge_OwnersIds { + get { + return ResourceManager.GetString("config.ChatBot.DiscordBridge.OwnersIds", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Your Discord Bot token.. + /// + internal static string config_ChatBot_DiscordBridge_Token { + get { + return ResourceManager.GetString("config.ChatBot.DiscordBridge.Token", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically farms crops for you (plants, breaks and bonemeals them). + ///Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. + ///Usage: "/farmer start" command and "/farmer stop" command. + ///NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. + ///or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. [rest of string was truncated]";. + /// + internal static string config_ChatBot_Farmer { + get { + return ResourceManager.GetString("config.ChatBot.Farmer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delay between tasks in seconds (Minimum 1 second). + /// + internal static string config_ChatBot_Farmer_Delay_Between_Tasks { + get { + return ResourceManager.GetString("config.ChatBot.Farmer.Delay_Between_Tasks", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enabled you to make the bot follow you + ///NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you + ///It's similar to making animals follow you when you're holding food in your hand. + ///This is due to a slow pathfinding algorithm, we're working on getting a better one + ///You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, /// [rest of string was truncated]";. + /// + internal static string config_ChatBot_FollowPlayer { + get { + return ResourceManager.GetString("config.ChatBot.FollowPlayer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop). + /// + internal static string config_ChatBot_FollowPlayer_Stop_At_Distance { + get { + return ResourceManager.GetString("config.ChatBot.FollowPlayer.Stop_At_Distance", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow). + /// + internal static string config_ChatBot_FollowPlayer_Update_Limit { + get { + return ResourceManager.GetString("config.ChatBot.FollowPlayer.Update_Limit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. + ///You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start + ////!\ This bot may get a bit spammy if many players are interacting with it. + /// + internal static string config_ChatBot_HangmanGame { + get { + return ResourceManager.GetString("config.ChatBot.HangmanGame", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Relay messages between players and servers, like a mail plugin + ///This bot can store messages when the recipients are offline, and send them when they join the server + ////!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins. + /// + internal static string config_ChatBot_Mailer { + get { + return ResourceManager.GetString("config.ChatBot.Mailer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) + ///This is useful for solving captchas which use maps + ///The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. + ///NOTE: + ///If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. + ////!\ Make sure server rules allow bots to be used on the server, or you risk being punished.. + /// + internal static string config_ChatBot_Map { + get { + return ResourceManager.GetString("config.ChatBot.Map", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically render the map once it is received or updated from/by the server. + /// + internal static string config_ChatBot_Map_Auto_Render_On_Update { + get { + return ResourceManager.GetString("config.ChatBot.Map.Auto_Render_On_Update", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete all rendered maps on unload/reload or when you launch the MCC again.. + /// + internal static string config_ChatBot_Map_Delete_All_On_Unload { + get { + return ResourceManager.GetString("config.ChatBot.Map.Delete_All_On_Unload", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Get a notification when you have gotten a map from the server for the first time. + /// + internal static string config_ChatBot_Map_Notify_On_First_Update { + get { + return ResourceManager.GetString("config.ChatBot.Map.Notify_On_First_Update", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord.. + /// + internal static string config_ChatBot_Map_Rasize_Rendered_Image { + get { + return ResourceManager.GetString("config.ChatBot.Map.Rasize_Rendered_Image", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to render the map in the console.. + /// + internal static string config_ChatBot_Map_Render_In_Console { + get { + return ResourceManager.GetString("config.ChatBot.Map.Render_In_Console", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The size that a rendered image should be resized to, in pixels (eg. 512).. + /// + internal static string config_ChatBot_Map_Resize_To { + get { + return ResourceManager.GetString("config.ChatBot.Map.Resize_To", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge).. + /// + internal static string config_ChatBot_Map_Save_To_File { + get { + return ResourceManager.GetString("config.ChatBot.Map.Save_To_File", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) + ///You need to enable Save_To_File in order for this to work. + ///We also recommend turning on resizing.. + /// + internal static string config_ChatBot_Map_Send_Rendered_To_Bridges { + get { + return ResourceManager.GetString("config.ChatBot.Map.Send_Rendered_To_Bridges", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Log the list of players periodically into a textual file.. + /// + internal static string config_ChatBot_PlayerListLogger { + get { + return ResourceManager.GetString("config.ChatBot.PlayerListLogger", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to (In seconds). + /// + internal static string config_ChatBot_PlayerListLogger_Delay { + get { + return ResourceManager.GetString("config.ChatBot.PlayerListLogger.Delay", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Send MCC console commands to your bot through server PMs (/tell) + ///You need to have ChatFormat working correctly and add yourself in botowners to use the bot + ////!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins. + /// + internal static string config_ChatBot_RemoteControl { + get { + return ResourceManager.GetString("config.ChatBot.RemoteControl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) + ///Please note that due to technical limitations, the client player (you) will not be shown in the replay file + ////!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT!. + /// + internal static string config_ChatBot_ReplayCapture { + get { + return ResourceManager.GetString("config.ChatBot.ReplayCapture", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How long should replay file be auto-saved, in seconds. Use -1 to disable.. + /// + internal static string config_ChatBot_ReplayCapture_Backup_Interval { + get { + return ResourceManager.GetString("config.ChatBot.ReplayCapture.Backup_Interval", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Schedule commands and scripts to launch on various events such as server join, date/time or time interval + ///See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info. + /// + internal static string config_ChatBot_ScriptScheduler { + get { + return ResourceManager.GetString("config.ChatBot.ScriptScheduler", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. + ////!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. + ///----------------------------------------------------------- + ///Setup: + ///First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather + ///Click on "Start" button and re [rest of string was truncated]";. + /// + internal static string config_ChatBot_TelegramBridge { + get { + return ResourceManager.GetString("config.ChatBot.TelegramBridge", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram.. + /// + internal static string config_ChatBot_TelegramBridge_Authorized_Chat_Ids { + get { + return ResourceManager.GetString("config.ChatBot.TelegramBridge.Authorized_Chat_Ids", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to An ID of a channel where you want to interact with the MCC using the bot.. + /// + internal static string config_ChatBot_TelegramBridge_ChannelId { + get { + return ResourceManager.GetString("config.ChatBot.TelegramBridge.ChannelId", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Message formats + ///Words wrapped with { and } are going to be replaced during the code execution, do not change them! + ///For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. + ///For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting. + /// + internal static string config_ChatBot_TelegramBridge_Formats { + get { + return ResourceManager.GetString("config.ChatBot.TelegramBridge.Formats", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second).. + /// + internal static string config_ChatBot_TelegramBridge_MessageSendTimeout { + get { + return ResourceManager.GetString("config.ChatBot.TelegramBridge.MessageSendTimeout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Your Telegram Bot token.. + /// + internal static string config_ChatBot_TelegramBridge_Token { + get { + return ResourceManager.GetString("config.ChatBot.TelegramBridge.Token", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MCC does it best to detect chat messages, but some server have unusual chat formats + ///When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format. + /// + internal static string config_ChatFormat { + get { + return ResourceManager.GetString("config.ChatFormat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MCC support for common message formats. Set "false" to avoid conflicts with custom formats.. + /// + internal static string config_ChatFormat_Builtins { + get { + return ResourceManager.GetString("config.ChatFormat.Builtins", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to use the custom regular expressions below for detection.. + /// + internal static string config_ChatFormat_UserDefined { + get { + return ResourceManager.GetString("config.ChatFormat.UserDefined", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Startup Config File + ///Please do not record extraneous data in this file as it will be overwritten by MCC. + /// + ///New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html + ///Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download. + /// + internal static string config_Head { + get { + return ResourceManager.GetString("config.Head", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Settings have been loaded from {0}. + /// + internal static string config_load { + get { + return ResourceManager.GetString("config.load", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §cFailed to load settings:§r. + /// + internal static string config_load_fail { + get { + return ResourceManager.GetString("config.load.fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This setting affects only the messages in the console.. + /// + internal static string config_Logging { + get { + return ResourceManager.GetString("config.Logging", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Regex for filtering chat message.. + /// + internal static string config_Logging_ChatFilter { + get { + return ResourceManager.GetString("config.Logging.ChatFilter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show server chat messages.. + /// + internal static string config_Logging_ChatMessages { + get { + return ResourceManager.GetString("config.Logging.ChatMessages", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Regex for filtering debug message.. + /// + internal static string config_Logging_DebugFilter { + get { + return ResourceManager.GetString("config.Logging.DebugFilter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please enable this before submitting bug reports. Thanks!. + /// + internal static string config_Logging_DebugMessages { + get { + return ResourceManager.GetString("config.Logging.DebugMessages", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show error messages.. + /// + internal static string config_Logging_ErrorMessages { + get { + return ResourceManager.GetString("config.Logging.ErrorMessages", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex.. + /// + internal static string config_Logging_FilterMode { + get { + return ResourceManager.GetString("config.Logging.FilterMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Informative messages. (i.e Most of the message from MCC). + /// + internal static string config_Logging_InfoMessages { + get { + return ResourceManager.GetString("config.Logging.InfoMessages", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Log file name.. + /// + internal static string config_Logging_LogFile { + get { + return ResourceManager.GetString("config.Logging.LogFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Write log messages to file.. + /// + internal static string config_Logging_LogToFile { + get { + return ResourceManager.GetString("config.Logging.LogToFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Prepend timestamp to messages in log file.. + /// + internal static string config_Logging_PrependTimestamp { + get { + return ResourceManager.GetString("config.Logging.PrependTimestamp", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Keep color codes in the saved text.(look like "§b"). + /// + internal static string config_Logging_SaveColorCodes { + get { + return ResourceManager.GetString("config.Logging.SaveColorCodes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show warning messages.. + /// + internal static string config_Logging_WarningMessages { + get { + return ResourceManager.GetString("config.Logging.WarningMessages", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Make sure you understand what each setting does before changing anything!. + /// + internal static string config_Main_Advanced { + get { + return ResourceManager.GetString("config.Main.Advanced", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to AccountList: It allows a fast account switching without directly using the credentials + ///Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1". + /// + internal static string config_Main_Advanced_account_list { + get { + return ResourceManager.GetString("config.Main.Advanced.account_list", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle auto respawn if client player was dead (make sure your spawn point is safe).. + /// + internal static string config_Main_Advanced_auto_respawn { + get { + return ResourceManager.GetString("config.Main.Advanced.auto_respawn", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set the owner of the bot. /!\ Server admins can impersonate owners!. + /// + internal static string config_Main_Advanced_bot_owners { + get { + return ResourceManager.GetString("config.Main.Advanced.bot_owners", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server.. + /// + internal static string config_Main_Advanced_brand_info { + get { + return ResourceManager.GetString("config.Main.Advanced.brand_info", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Leave empty for no logfile.. + /// + internal static string config_Main_Advanced_chatbot_log_file { + get { + return ResourceManager.GetString("config.Main.Advanced.chatbot_log_file", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If turned off, the emoji will be replaced with a simpler character (for /chunk status).. + /// + internal static string config_Main_Advanced_enable_emoji { + get { + return ResourceManager.GetString("config.Main.Advanced.enable_emoji", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle entity handling.. + /// + internal static string config_Main_Advanced_entity_handling { + get { + return ResourceManager.GetString("config.Main.Advanced.entity_handling", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to exit directly when an error occurs, for using MCC in non-interactive scripts.. + /// + internal static string config_Main_Advanced_exit_on_failure { + get { + return ResourceManager.GetString("config.Main.Advanced.exit_on_failure", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use "none", "slash"(/) or "backslash"(\).. + /// + internal static string config_Main_Advanced_internal_cmd_char { + get { + return ResourceManager.GetString("config.Main.Advanced.internal_cmd_char", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggle inventory handling.. + /// + internal static string config_Main_Advanced_inventory_handling { + get { + return ResourceManager.GetString("config.Main.Advanced.inventory_handling", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239. + /// + internal static string config_Main_Advanced_language { + get { + return ResourceManager.GetString("config.Main.Advanced.language", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The language code is invalid!. + /// + internal static string config_Main_Advanced_language_invaild { + get { + return ResourceManager.GetString("config.Main.Advanced.language.invaild", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Load translations applied to MCC when available, turn it off to use English only.. + /// + internal static string config_Main_Advanced_LoadMccTrans { + get { + return ResourceManager.GetString("config.Main.Advanced.LoadMccTrans", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use "auto", "no" or "force". Force-enabling only works for MC 1.13+.. + /// + internal static string config_Main_Advanced_mc_forge { + get { + return ResourceManager.GetString("config.Main.Advanced.mc_forge", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use "auto" or "1.X.X" values. Allows to skip server info retrieval.. + /// + internal static string config_Main_Advanced_mc_version { + get { + return ResourceManager.GetString("config.Main.Advanced.mc_version", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Controls the minimum interval (in seconds) between sending each message to the server.. + /// + internal static string config_Main_Advanced_message_cooldown { + get { + return ResourceManager.GetString("config.Main.Advanced.message_cooldown", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable support for joining Minecraft Realms worlds.. + /// + internal static string config_Main_Advanced_minecraft_realms { + get { + return ResourceManager.GetString("config.Main.Advanced.minecraft_realms", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The minimum height to use when calculating the image size from the height of the terminal.. + /// + internal static string config_Main_Advanced_MinTerminalHeight { + get { + return ResourceManager.GetString("config.Main.Advanced.MinTerminalHeight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The minimum width used when calculating the image size from the width of the terminal.. + /// + internal static string config_Main_Advanced_MinTerminalWidth { + get { + return ResourceManager.GetString("config.Main.Advanced.MinTerminalWidth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable head movement while walking to avoid anti-cheat triggers.. + /// + internal static string config_Main_Advanced_move_head_while_walking { + get { + return ResourceManager.GetString("config.Main.Advanced.move_head_while_walking", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A movement speed higher than 2 may be considered cheating.. + /// + internal static string config_Main_Advanced_movement_speed { + get { + return ResourceManager.GetString("config.Main.Advanced.movement_speed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Only works on Windows XP-8 or Windows 10 with old console.. + /// + internal static string config_Main_Advanced_player_head_icon { + get { + return ResourceManager.GetString("config.Main.Advanced.player_head_icon", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to For remote control of the bot.. + /// + internal static string config_Main_Advanced_private_msgs_cmd_name { + get { + return ResourceManager.GetString("config.Main.Advanced.private_msgs_cmd_name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How to retain profile key. Use "none", "memory" or "disk".. + /// + internal static string config_Main_Advanced_profilekey_cache { + get { + return ResourceManager.GetString("config.Main.Advanced.profilekey_cache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use "no", "fast" (5s timeout), or "yes". Required for joining some servers.. + /// + internal static string config_Main_Advanced_resolve_srv_records { + get { + return ResourceManager.GetString("config.Main.Advanced.resolve_srv_records", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cache compiled scripts for faster load on low-end devices.. + /// + internal static string config_Main_Advanced_script_cache { + get { + return ResourceManager.GetString("config.Main.Advanced.script_cache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ServerList: It allows an easier and faster server switching with short aliases instead of full server IP + ///Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. + ///Usage examples: "/tell <mybot> connect Server1", "/connect Server2". + /// + internal static string config_Main_Advanced_server_list { + get { + return ResourceManager.GetString("config.Main.Advanced.server_list", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How to retain session tokens. Use "none", "memory" or "disk".. + /// + internal static string config_Main_Advanced_session_cache { + get { + return ResourceManager.GetString("config.Main.Advanced.session_cache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Decode links embedded in chat messages and show them in console.. + /// + internal static string config_Main_Advanced_show_chat_links { + get { + return ResourceManager.GetString("config.Main.Advanced.show_chat_links", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show inventory layout as ASCII art in inventory command.. + /// + internal static string config_Main_Advanced_show_inventory_layout { + get { + return ResourceManager.GetString("config.Main.Advanced.show_inventory_layout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to System messages for server ops.. + /// + internal static string config_Main_Advanced_show_system_messages { + get { + return ResourceManager.GetString("config.Main.Advanced.show_system_messages", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Messages displayed above xp bar, set this to false in case of xp bar spam.. + /// + internal static string config_Main_Advanced_show_xpbar_messages { + get { + return ResourceManager.GetString("config.Main.Advanced.show_xpbar_messages", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log.. + /// + internal static string config_Main_Advanced_TerminalColorDepth { + get { + return ResourceManager.GetString("config.Main.Advanced.TerminalColorDepth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Uses more ram, cpu, bandwidth but allows you to move around.. + /// + internal static string config_Main_Advanced_terrain_and_movements { + get { + return ResourceManager.GetString("config.Main.Advanced.terrain_and_movements", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Customize the TCP connection timeout with the server. (in seconds). + /// + internal static string config_Main_Advanced_timeout { + get { + return ResourceManager.GetString("config.Main.Advanced.timeout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Prepend timestamps to chat messages.. + /// + internal static string config_Main_Advanced_timestamps { + get { + return ResourceManager.GetString("config.Main.Advanced.timestamps", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup.. + /// + internal static string config_Main_General_account { + get { + return ResourceManager.GetString("config.Main.General.account", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically). + /// + internal static string config_Main_General_login { + get { + return ResourceManager.GetString("config.Main.General.login", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once.. + /// + internal static string config_Main_General_method { + get { + return ResourceManager.GetString("config.Main.General.method", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account type: "mojang" OR "microsoft". Also affects interactive login in console.. + /// + internal static string config_Main_General_server_info { + get { + return ResourceManager.GetString("config.Main.General.server_info", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Settings below are sent to the server and only affect server-side things like your skin.. + /// + internal static string config_MCSettings { + get { + return ResourceManager.GetString("config.MCSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Allows disabling chat colors server-side.. + /// + internal static string config_MCSettings_ChatColors { + get { + return ResourceManager.GetString("config.MCSettings.ChatColors", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use "enabled", "commands", or "disabled". Allows to mute yourself.... + /// + internal static string config_MCSettings_ChatMode { + get { + return ResourceManager.GetString("config.MCSettings.ChatMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult".. + /// + internal static string config_MCSettings_Difficulty { + get { + return ResourceManager.GetString("config.MCSettings.Difficulty", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If disabled, settings below are not sent to the server.. + /// + internal static string config_MCSettings_Enabled { + get { + return ResourceManager.GetString("config.MCSettings.Enabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use any language implemented in Minecraft.. + /// + internal static string config_MCSettings_Locale { + get { + return ResourceManager.GetString("config.MCSettings.Locale", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MC 1.9+ main hand. "left" or "right".. + /// + internal static string config_MCSettings_MainHand { + get { + return ResourceManager.GetString("config.MCSettings.MainHand", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Value range: [0 - 255].. + /// + internal static string config_MCSettings_RenderDistance { + get { + return ResourceManager.GetString("config.MCSettings.RenderDistance", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connect to a server via a proxy instead of connecting directly + ///If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. + ///If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. + ////!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences!. + /// + internal static string config_Proxy { + get { + return ResourceManager.GetString("config.Proxy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to connect to the game server through a proxy.. + /// + internal static string config_Proxy_Enabled_Ingame { + get { + return ResourceManager.GetString("config.Proxy.Enabled_Ingame", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to connect to the login server through a proxy.. + /// + internal static string config_Proxy_Enabled_Login { + get { + return ResourceManager.GetString("config.Proxy.Enabled_Login", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Only required for password-protected proxies.. + /// + internal static string config_Proxy_Password { + get { + return ResourceManager.GetString("config.Proxy.Password", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5".. + /// + internal static string config_Proxy_Proxy_Type { + get { + return ResourceManager.GetString("config.Proxy.Proxy_Type", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Proxy server must allow HTTPS for login, and non-443 ports for playing.. + /// + internal static string config_Proxy_Server { + get { + return ResourceManager.GetString("config.Proxy.Server", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Only required for password-protected proxies.. + /// + internal static string config_Proxy_Username { + get { + return ResourceManager.GetString("config.Proxy.Username", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §aThe current setting is saved as {0}. + /// + internal static string config_saving { + get { + return ResourceManager.GetString("config.saving", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chat signature related settings (affects minecraft 1.19+). + /// + internal static string config_Signature { + get { + return ResourceManager.GetString("config.Signature", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true". + /// + internal static string config_Signature_LoginWithSecureProfile { + get { + return ResourceManager.GetString("config.Signature.LoginWithSecureProfile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use red    color block to mark chat without legitimate signature. + /// + internal static string config_Signature_MarkIllegallySignedMsg { + get { + return ResourceManager.GetString("config.Signature.MarkIllegallySignedMsg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use green  color block to mark chat with legitimate signatures. + /// + internal static string config_Signature_MarkLegallySignedMsg { + get { + return ResourceManager.GetString("config.Signature.MarkLegallySignedMsg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use yellow color block to mark chat that have been modified by the server.. + /// + internal static string config_Signature_MarkModifiedMsg { + get { + return ResourceManager.GetString("config.Signature.MarkModifiedMsg", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use gray   color block to mark system message (always without signature). + /// + internal static string config_Signature_MarkSystemMessage { + get { + return ResourceManager.GetString("config.Signature.MarkSystemMessage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to display chat and messages in commands without legal signatures. + /// + internal static string config_Signature_ShowIllegalSignedChat { + get { + return ResourceManager.GetString("config.Signature.ShowIllegalSignedChat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set to true to display messages modified by the server, false to display the original signed messages. + /// + internal static string config_Signature_ShowModifiedChat { + get { + return ResourceManager.GetString("config.Signature.ShowModifiedChat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to sign the chat send from MCC. + /// + internal static string config_Signature_SignChat { + get { + return ResourceManager.GetString("config.Signature.SignChat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me". + /// + internal static string config_Signature_SignMessageInCommand { + get { + return ResourceManager.GetString("config.Signature.SignMessageInCommand", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §cFailed to write to settings file {0}§r. + /// + internal static string config_write_fail { + get { + return ResourceManager.GetString("config.write.fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Color test: Your terminal should display {0}. + /// + internal static string debug_color_test { + get { + return ResourceManager.GetString("debug.color_test", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Crypto keys & hash generated.. + /// + internal static string debug_crypto { + get { + return ResourceManager.GetString("debug.crypto", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8No profile keys could be loaded from disk. + /// + internal static string debug_keys_cache_fail { + get { + return ResourceManager.GetString("debug.keys_cache_fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Profile keys has been successfully loaded from disk.. + /// + internal static string debug_keys_cache_ok { + get { + return ResourceManager.GetString("debug.keys_cache_ok", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Performing request to {0}. + /// + internal static string debug_request { + get { + return ResourceManager.GetString("debug.request", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8No sessions could be loaded from disk. + /// + internal static string debug_session_cache_fail { + get { + return ResourceManager.GetString("debug.session_cache_fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Session data has been successfully loaded from disk.. + /// + internal static string debug_session_cache_ok { + get { + return ResourceManager.GetString("debug.session_cache_ok", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Success. (session ID: {0}). + /// + internal static string debug_session_id { + get { + return ResourceManager.GetString("debug.session_id", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom slot. + /// + internal static string Enchantment_bottom_slot { + get { + return ResourceManager.GetString("Enchantment.bottom_slot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enchantments available. + /// + internal static string Enchantment_enchantments_available { + get { + return ResourceManager.GetString("Enchantment.enchantments_available", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Levels. + /// + internal static string Enchantment_levels { + get { + return ResourceManager.GetString("Enchantment.levels", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Middle slot. + /// + internal static string Enchantment_middle_slot { + get { + return ResourceManager.GetString("Enchantment.middle_slot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top slot. + /// + internal static string Enchantment_tops_slot { + get { + return ResourceManager.GetString("Enchantment.tops_slot", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Got error code from server while refreshing authentication: {0}. + /// + internal static string error_auth { + get { + return ResourceManager.GetString("error.auth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to connect to this IP.. + /// + internal static string error_connect { + get { + return ResourceManager.GetString("error.connect", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8A timeout occured while attempting to connect to this IP.. + /// + internal static string error_connection_timeout { + get { + return ResourceManager.GetString("error.connection_timeout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to determine server version.. + /// + internal static string error_determine { + get { + return ResourceManager.GetString("error.determine", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Forge Login Handshake did not complete successfully. + /// + internal static string error_forge { + get { + return ResourceManager.GetString("error.forge", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Forge StartEncryption Handshake did not complete successfully. + /// + internal static string error_forge_encrypt { + get { + return ResourceManager.GetString("error.forge_encrypt", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot force Forge support for this Minecraft version!. + /// + internal static string error_forgeforce { + get { + return ResourceManager.GetString("error.forgeforce", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid usage of the generator command!. + /// + internal static string error_generator_invalid { + get { + return ResourceManager.GetString("error.generator.invalid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided path must be a path to a file that is in .json format!. + /// + internal static string error_generator_json { + get { + return ResourceManager.GetString("error.generator.json", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid data path provided! (The path either does not exists or you have made a typo). + /// + internal static string error_generator_path { + get { + return ResourceManager.GetString("error.generator.path", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Got error code from server: {0}. + /// + internal static string error_http_code { + get { + return ResourceManager.GetString("error.http_code", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Invalid response to StartEncryption packet. + /// + internal static string error_invalid_encrypt { + get { + return ResourceManager.GetString("error.invalid_encrypt", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Invalid response to Handshake packet. + /// + internal static string error_invalid_response { + get { + return ResourceManager.GetString("error.invalid_response", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This feature requires Inventory Handling to be enabled in order to work!. + /// + internal static string error_inventoryhandling_not_enabled { + get { + return ResourceManager.GetString("error.inventoryhandling_not_enabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to An error occured when attempting to join this server.. + /// + internal static string error_join { + get { + return ResourceManager.GetString("error.join", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Login failed : . + /// + internal static string error_login { + get { + return ResourceManager.GetString("error.login", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Incorrect username/password, blacklisted IP or too many logins.. + /// + internal static string error_login_blocked { + get { + return ResourceManager.GetString("error.login.blocked", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User cancelled.. + /// + internal static string error_login_cancel { + get { + return ResourceManager.GetString("error.login.cancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to login to this server.. + /// + internal static string error_login_failed { + get { + return ResourceManager.GetString("error.login_failed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Account migrated, use e-mail as username.. + /// + internal static string error_login_migrated { + get { + return ResourceManager.GetString("error.login.migrated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Network error.. + /// + internal static string error_login_network { + get { + return ResourceManager.GetString("error.login.network", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User not premium.. + /// + internal static string error_login_premium { + get { + return ResourceManager.GetString("error.login.premium", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid server response.. + /// + internal static string error_login_response { + get { + return ResourceManager.GetString("error.login.response", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Login servers are unavailable. Please try again later.. + /// + internal static string error_login_server { + get { + return ResourceManager.GetString("error.login.server", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SSL Error.. + /// + internal static string error_login_ssl { + get { + return ResourceManager.GetString("error.login.ssl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unknown Error.. + /// + internal static string error_login_unknown { + get { + return ResourceManager.GetString("error.login.unknown", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You are missing argument {0}. + /// + internal static string error_missing_argument { + get { + return ResourceManager.GetString("error.missing.argument", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Server does not report its protocol version, autodetection will not work.. + /// + internal static string error_no_version_report { + get { + return ResourceManager.GetString("error.no_version_report", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to ping this IP.. + /// + internal static string error_ping { + get { + return ResourceManager.GetString("error.ping", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This Realms world does not exist or access was denied. + /// + internal static string error_realms_access_denied { + get { + return ResourceManager.GetString("error.realms.access_denied", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Trying to join a Realms world but Realms support is disabled in config. + /// + internal static string error_realms_disabled { + get { + return ResourceManager.GetString("error.realms.disabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot retrieve the server IP of your Realms world. + /// + internal static string error_realms_ip_error { + get { + return ResourceManager.GetString("error.realms.ip_error", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invalid or unknown Realms server ID.. + /// + internal static string error_realms_server_id { + get { + return ResourceManager.GetString("error.realms.server_id", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Realms server may require some time to start up. Please retry again later.. + /// + internal static string error_realms_server_unavailable { + get { + return ResourceManager.GetString("error.realms.server_unavailable", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}: Invalid syntax, expecting --argname=value or --section.argname=value. + /// + internal static string error_setting_argument_syntax { + get { + return ResourceManager.GetString("error.setting.argument_syntax", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This feature requires Terrain And Movements to be enabled in order to work!. + /// + internal static string error_terrain_not_enabled { + get { + return ResourceManager.GetString("error.terrain_not_enabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connection Timeout. + /// + internal static string error_timeout { + get { + return ResourceManager.GetString("error.timeout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Unexpected response from the server (is that a Minecraft server?). + /// + internal static string error_unexpect_response { + get { + return ResourceManager.GetString("error.unexpect_response", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cannot connect to the server : This version is not supported !. + /// + internal static string error_unsupported { + get { + return ResourceManager.GetString("error.unsupported", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Usage:. + /// + internal static string error_usage { + get { + return ResourceManager.GetString("error.usage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Server reports a different version than manually set. Login may not work.. + /// + internal static string error_version_different { + get { + return ResourceManager.GetString("error.version_different", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks.. + /// + internal static string exception_chatbot_init { + get { + return ResourceManager.GetString("exception.chatbot.init", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The provided script does not have a valid MCCScript header. + /// + internal static string exception_csrunner_invalid_head { + get { + return ResourceManager.GetString("exception.csrunner.invalid_head", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}).. + /// + internal static string exception_packet_process { + get { + return ResourceManager.GetString("exception.packet_process", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please update block types handling for this Minecraft version. See Material.cs. + /// + internal static string exception_palette_block { + get { + return ResourceManager.GetString("exception.palette.block", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please update entity types handling for this Minecraft version. See EntityType.cs. + /// + internal static string exception_palette_entity { + get { + return ResourceManager.GetString("exception.palette.entity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please update health field handling for this Minecraft version.. + /// + internal static string exception_palette_healthfield { + get { + return ResourceManager.GetString("exception.palette.healthfield", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please update item types handling for this Minecraft version. See ItemType.cs. + /// + internal static string exception_palette_item { + get { + return ResourceManager.GetString("exception.palette.item", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please update packet type palette for this Minecraft version. See PacketTypePalette.cs. + /// + internal static string exception_palette_packet { + get { + return ResourceManager.GetString("exception.palette.packet", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unknown direction. + /// + internal static string exception_unknown_direction { + get { + return ResourceManager.GetString("exception.unknown_direction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to User-initiated logout should be done by calling Disconnect(). + /// + internal static string exception_user_logout { + get { + return ResourceManager.GetString("exception.user_logout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The protocol version no.{0} is not supported.. + /// + internal static string exception_version_unsupport { + get { + return ResourceManager.GetString("exception.version_unsupport", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §cEntities are currently not handled for that MC version.. + /// + internal static string extra_entity_disabled { + get { + return ResourceManager.GetString("extra.entity_disabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please enable EntityHandling in the config file first.. + /// + internal static string extra_entity_required { + get { + return ResourceManager.GetString("extra.entity_required", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inventory # {0} closed.. + /// + internal static string extra_inventory_close { + get { + return ResourceManager.GetString("extra.inventory_close", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §cInventories are currently not handled for that MC version.. + /// + internal static string extra_inventory_disabled { + get { + return ResourceManager.GetString("extra.inventory_disabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inventory handling is now enabled.. + /// + internal static string extra_inventory_enabled { + get { + return ResourceManager.GetString("extra.inventory_enabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use /inventory to interact with it.. + /// + internal static string extra_inventory_interact { + get { + return ResourceManager.GetString("extra.inventory_interact", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inventory # {0} opened: {1}. + /// + internal static string extra_inventory_open { + get { + return ResourceManager.GetString("extra.inventory_open", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please enable InventoryHandling in the config file first.. + /// + internal static string extra_inventory_required { + get { + return ResourceManager.GetString("extra.inventory_required", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §cTerrain & Movements currently not handled for that MC version.. + /// + internal static string extra_terrainandmovement_disabled { + get { + return ResourceManager.GetString("extra.terrainandmovement_disabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Terrain and Movements is now enabled.. + /// + internal static string extra_terrainandmovement_enabled { + get { + return ResourceManager.GetString("extra.terrainandmovement_enabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please enable Terrain and Movements in the config file first.. + /// + internal static string extra_terrainandmovement_required { + get { + return ResourceManager.GetString("extra.terrainandmovement_required", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling. + /// + internal static string filemonitor_fail { + get { + return ResourceManager.GetString("filemonitor.fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8[{0}] Initializing FileSystemWatcher for file: {1}. + /// + internal static string filemonitor_init { + get { + return ResourceManager.GetString("filemonitor.init", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Accepting server mod list.... + /// + internal static string forge_accept { + get { + return ResourceManager.GetString("forge.accept", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Accepting server registries.... + /// + internal static string forge_accept_registry { + get { + return ResourceManager.GetString("forge.accept_registry", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Forge server connection complete!. + /// + internal static string forge_complete { + get { + return ResourceManager.GetString("forge.complete", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Acknowledging FML2 Server Config: {0}. + /// + internal static string forge_fml2_config { + get { + return ResourceManager.GetString("forge.fml2.config", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Received FML2 Server Mod List. + /// + internal static string forge_fml2_mod { + get { + return ResourceManager.GetString("forge.fml2.mod", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Sending back FML2 Client Mod List. + /// + internal static string forge_fml2_mod_send { + get { + return ResourceManager.GetString("forge.fml2.mod_send", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Acknowledging FML2 Server Registry: {0}. + /// + internal static string forge_fml2_registry { + get { + return ResourceManager.GetString("forge.fml2.registry", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Got Unknown FML2 Handshake message no. {0}. + /// + internal static string forge_fml2_unknown { + get { + return ResourceManager.GetString("forge.fml2.unknown", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Ignoring Unknown FML2 LoginMessage channel: {0}. + /// + internal static string forge_fml2_unknown_channel { + get { + return ResourceManager.GetString("forge.fml2.unknown_channel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Mod list:. + /// + internal static string forge_mod_list { + get { + return ResourceManager.GetString("forge.mod_list", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Server is running Forge without mods.. + /// + internal static string forge_no_mod { + get { + return ResourceManager.GetString("forge.no_mod", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Received registry with {0} entries. + /// + internal static string forge_registry { + get { + return ResourceManager.GetString("forge.registry", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Received registry {0} with {1} entries. + /// + internal static string forge_registry_2 { + get { + return ResourceManager.GetString("forge.registry_2", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Sending falsified mod list to server.... + /// + internal static string forge_send_mod { + get { + return ResourceManager.GetString("forge.send_mod", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Forge protocol version : {0}. + /// + internal static string forge_version { + get { + return ResourceManager.GetString("forge.version", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Server is running Forge with {0} mods.. + /// + internal static string forge_with_mod { + get { + return ResourceManager.GetString("forge.with_mod", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Available commands: {0}. + /// + internal static string general_available_cmd { + get { + return ResourceManager.GetString("general.available_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This bot will be unloaded.. + /// + internal static string general_bot_unload { + get { + return ResourceManager.GetString("general.bot_unload", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Done. + /// + internal static string general_done { + get { + return ResourceManager.GetString("general.done", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fail. + /// + internal static string general_fail { + get { + return ResourceManager.GetString("general.fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnInternalCommand: Got error from {0}: {1}. + /// + internal static string icmd_error { + get { + return ResourceManager.GetString("icmd.error", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to help <cmdname>: show brief help about a command.. + /// + internal static string icmd_help { + get { + return ResourceManager.GetString("icmd.help", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead.. + /// + internal static string icmd_list { + get { + return ResourceManager.GetString("icmd.list", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unknown command '{0}'. Use 'help' for command list.. + /// + internal static string icmd_unknown { + get { + return ResourceManager.GetString("icmd.unknown", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The old MinecraftClient.ini has been backed up as {0}. + /// + internal static string mcc_backup_old_config { + get { + return ResourceManager.GetString("mcc.backup_old_config", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connecting to {0}.... + /// + internal static string mcc_connecting { + get { + return ResourceManager.GetString("mcc.connecting", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Login failed :. + /// + internal static string mcc_disconnect_login { + get { + return ResourceManager.GetString("mcc.disconnect.login", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connection has been lost.. + /// + internal static string mcc_disconnect_lost { + get { + return ResourceManager.GetString("mcc.disconnect.lost", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disconnected by Server :. + /// + internal static string mcc_disconnect_server { + get { + return ResourceManager.GetString("mcc.disconnect.server", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Not connected to any server. Use '{0}help' for help.. + /// + internal static string mcc_disconnected { + get { + return ResourceManager.GetString("mcc.disconnected", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fetching profile key from Microsoft.. + /// + internal static string mcc_fetching_key { + get { + return ResourceManager.GetString("mcc.fetching_key", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Checking if server is running Forge.... + /// + internal static string mcc_forge { + get { + return ResourceManager.GetString("mcc.forge", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Force-enabling Forge support.. + /// + internal static string mcc_forgeforce { + get { + return ResourceManager.GetString("mcc.forgeforce", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Found server {0}:{1} for domain {2}. + /// + internal static string mcc_found { + get { + return ResourceManager.GetString("mcc.found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to New configuration file "{0}" is generated.. + /// + internal static string mcc_gen_new_config { + get { + return ResourceManager.GetString("mcc.gen_new_config", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Succesfully generated {0} palette using the dataset: {1}. + /// + internal static string mcc_generator_done { + get { + return ResourceManager.GetString("mcc.generator.done", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Generating {0} palette using the dataset: {1}. + /// + internal static string mcc_generator_generating { + get { + return ResourceManager.GetString("mcc.generator.generating", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Handshake successful. (Server ID: {0}). + /// + internal static string mcc_handshake { + get { + return ResourceManager.GetString("mcc.handshake", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §eNew version of MCC available: {0}. + /// + internal static string mcc_has_update { + get { + return ResourceManager.GetString("mcc.has_update", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Help us translate MCC: {0}. + /// + internal static string mcc_help_us_translate { + get { + return ResourceManager.GetString("mcc.help_us_translate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to parse the settings file, enter "{0}new" to generate a new configuration.. + /// + internal static string mcc_invaild_config { + get { + return ResourceManager.GetString("mcc.invaild_config", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Server IP : . + /// + internal static string mcc_ip { + get { + return ResourceManager.GetString("mcc.ip", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Server was successfully joined. + ///Type '{0}quit' to leave the server.. + /// + internal static string mcc_joined { + get { + return ResourceManager.GetString("mcc.joined", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Link: {0}. + /// + internal static string mcc_link { + get { + return ResourceManager.GetString("mcc.link", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Login :. + /// + internal static string mcc_login { + get { + return ResourceManager.GetString("mcc.login", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please type the username or email of your choice.. + /// + internal static string mcc_login_basic_io { + get { + return ResourceManager.GetString("mcc.login_basic_io", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Failed to perform SRV lookup for {0} + ///{1}: {2}. + /// + internal static string mcc_not_found { + get { + return ResourceManager.GetString("mcc.not_found", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8You chose to run in offline mode.. + /// + internal static string mcc_offline { + get { + return ResourceManager.GetString("mcc.offline", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Password: . + /// + internal static string mcc_password { + get { + return ResourceManager.GetString("mcc.password", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please type the password for {0}.. + /// + internal static string mcc_password_basic_io { + get { + return ResourceManager.GetString("mcc.password_basic_io", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Password(invisible): {0}. + /// + internal static string mcc_password_hidden { + get { + return ResourceManager.GetString("mcc.password_hidden", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You are dead. Type '{0}respawn' to respawn.. + /// + internal static string mcc_player_dead { + get { + return ResourceManager.GetString("mcc.player_dead", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You are dead. Automatically respawning after 1 second.. + /// + internal static string mcc_player_dead_respawn { + get { + return ResourceManager.GetString("mcc.player_dead_respawn", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Or press Enter to exit Minecraft Console Client.. + /// + internal static string mcc_press_exit { + get { + return ResourceManager.GetString("mcc.press_exit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Cached profile key needs to be refreshed.. + /// + internal static string mcc_profile_key_invalid { + get { + return ResourceManager.GetString("mcc.profile_key_invalid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Cached profile key is still valid for {0}.. + /// + internal static string mcc_profile_key_valid { + get { + return ResourceManager.GetString("mcc.profile_key_valid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You have access to the following Realms worlds. + /// + internal static string mcc_realms_available { + get { + return ResourceManager.GetString("mcc.realms_available", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use realms:<index> as server IP to join a Realms world. + /// + internal static string mcc_realms_join { + get { + return ResourceManager.GetString("mcc.realms_join", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Waiting 5 seconds ({0} attempts left).... + /// + internal static string mcc_reconnect { + get { + return ResourceManager.GetString("mcc.reconnect", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resolving {0}.... + /// + internal static string mcc_resolve { + get { + return ResourceManager.GetString("mcc.resolve", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Restarting Minecraft Console Client.... + /// + internal static string mcc_restart { + get { + return ResourceManager.GetString("mcc.restart", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Waiting {0} seconds before restarting.... + /// + internal static string mcc_restart_delay { + get { + return ResourceManager.GetString("mcc.restart_delay", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Retrieving Server Info.... + /// + internal static string mcc_retrieve { + get { + return ResourceManager.GetString("mcc.retrieve", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to + ///MCC is running with default settings.. + /// + internal static string mcc_run_with_default_settings { + get { + return ResourceManager.GetString("mcc.run_with_default_settings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Server is in offline mode.. + /// + internal static string mcc_server_offline { + get { + return ResourceManager.GetString("mcc.server_offline", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Server version : {0} (protocol v{1}). + /// + internal static string mcc_server_protocol { + get { + return ResourceManager.GetString("mcc.server_protocol", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Server version : . + /// + internal static string mcc_server_version { + get { + return ResourceManager.GetString("mcc.server_version", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Checking Session.... + /// + internal static string mcc_session { + get { + return ResourceManager.GetString("mcc.session", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Failed to check session.. + /// + internal static string mcc_session_fail { + get { + return ResourceManager.GetString("mcc.session_fail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Cached session is invalid or expired.. + /// + internal static string mcc_session_invalid { + get { + return ResourceManager.GetString("mcc.session_invalid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Cached session is still valid for {0}.. + /// + internal static string mcc_session_valid { + get { + return ResourceManager.GetString("mcc.session_valid", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §cSettings file MinecraftClient.ini has been generated.. + /// + internal static string mcc_settings_generated { + get { + return ResourceManager.GetString("mcc.settings_generated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §7Command §8 {0} §7 sent.. + /// + internal static string mcc_single_cmd { + get { + return ResourceManager.GetString("mcc.single_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Unknown or not supported MC version {0}. + ///Switching to autodetection mode.. + /// + internal static string mcc_unknown_version { + get { + return ResourceManager.GetString("mcc.unknown_version", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Please use the newly generated MinecraftClient.ini. + /// + internal static string mcc_use_new_config { + get { + return ResourceManager.GetString("mcc.use_new_config", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Using Minecraft version {0} (protocol v{1}). + /// + internal static string mcc_use_version { + get { + return ResourceManager.GetString("mcc.use_version", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Version is supported. + ///Logging in.... + /// + internal static string mcc_version_supported { + get { + return ResourceManager.GetString("mcc.version_supported", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to , with Forge. + /// + internal static string mcc_with_forge { + get { + return ResourceManager.GetString("mcc.with_forge", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to §8Connected to proxy {0}:{1}. + /// + internal static string proxy_connected { + get { + return ResourceManager.GetString("proxy.connected", resourceCulture); + } + } + } +} diff --git a/MinecraftClient/Resources/Translations/Translations.af.resx b/MinecraftClient/Resources/Translations/Translations.af.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.af.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.ar.resx b/MinecraftClient/Resources/Translations/Translations.ar.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.ar.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.ca.resx b/MinecraftClient/Resources/Translations/Translations.ca.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.ca.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.cs.resx b/MinecraftClient/Resources/Translations/Translations.cs.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.cs.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.da.resx b/MinecraftClient/Resources/Translations/Translations.da.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.da.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.de.resx b/MinecraftClient/Resources/Translations/Translations.de.resx new file mode 100644 index 00000000..dcd03936 --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.de.resx @@ -0,0 +1,2669 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Angriffscooldown kann nicht kleiner als 0 sein. Benutze Auto als Standard. + + + Crafting abgebrochen! Überprüfe die vorhandenen Materialien. + + + Auto-Crafting ChatBot-Befehl Alias + + + Verfügbare Befehle: {0}. Benutze /autocraft help <cmd name> für weitere Hilfe. Du kannst auch /ac benutzen. + + + Inventar #{0} wurde nicht von AutoCraft geschlossen. + + + Auto-Crafting ChatBot-Befehl + + + Insgesamt {0} Rezepte geladen: {1} + + + Setze Rezepte in der Config Datei auf Standard zurück + + + Crafting fehlgeschlagen! Warte auf weitere Materialien... + + + Keine Config-Datei gefunden. Schreibe eine neue... + + + Fehler bei der Übergabe der Config: {0} + + + Doppelter Rezeptname angegeben: {0} + + + Fehlender Rezeptname während der Rezeptübergabe + + + Sieh dir die Beschreibung der Befehle an. Benutzung: /autocraft help <command name> + + + Liste Namen der geladenen Rezepte. + + + Lade Config-Datei. + + + Lade Config-Datei neu. + + + Schreibe die normale Beispiel-Config in den Standardpfad. + + + Starte crafting. Benutzung: /autocraft start <recipe name> + + + Stoppe den aktuell laufenden Crafting-Prozess + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Erfolgreich geladen + + + Fehlende Materialien: {0} + + + Bitte gebe den Namen des Rezepts an, welches du craften willst. + + + Der angegebene Rezeptname existiert nicht. Überprüfe deine Config-Datei. + + + Starte AutoCraft: {0} + + + AutoCraft konnte nicht gestartet werden. Überprüfe die Verfügbaren Materialien für das Crafting {0} + + + AutoCraft angehalten + + + Table nicht gefunden + + + Aktion timeout! Grund: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Item hinzugefügt: {0} + + + AutoDrop ChatBot Befehl alias + + + AutoDrop ChatBot Befehl + + + Falscher item Name {0}. Bitte versuche es erneut! + + + Insgesamt {0} in der Liste: + {1} + + + Konnte Inventar nicht finden {0}! + + + Kein Item in der Liste. + + + Kann drop Modus nicht aus Config Datei lesen. Benutze include Modus. + + + Item ist nicht in der Liste. + + + AutoDrop deaktiviert + + + AutoDrop aktiviert + + + Item entfernt: {0} + + + Ändere zu {0} mode. + + + Unbekannter Modus. Verfügbare Modi: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Fisch gefangen! + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Keine Angelrute in der Hand. Ist sie kaputt? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Angel ausgeworfen! + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Aktuelles Verzeichnis war: {0} + + + Verbindung wurde mit folgender Nachricht unterbrochen: {0} + + + Disconnect wurde von User oder Bot ausgelöst. Wird ignoriert! + + + Starte mit {0} reconnect Versuchen + + + Nachrichten geladen: {0} + + + Lade Nachrichten von Datei: {0} + + + Initialisierung ohne Kick Nachricht Datei. + + + Datei nicht gefunden: {0} + + + Nachricht enhält '{0}'. Verbinde erneut. + + + Ignoriere Kick Nachricht und verbinde erneut. + + + Kick Nachricht enthält keine Schlüsselwörter. Wird ignoriert! + + + Warte {0:0.000} Sekunden vor erneuter Verbindung... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Pfad '{0}' enthält ungültige Zeichen. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + Mailer-Befehl + + + --- Ignore Liste --- +{0} + + + --- Mails in Datenbank --- +{0} + + + Siehe Benutzung + + + Füge {0} zur Ignore-Liste hinzu! + + + Fehlender oder ungültiger Name. Benutzung: {0} <username> + + + Entferne {0} von der Ignore Liste! + + + Erstelle neue Datenbank: {0} + + + Erstelle neue Ignore-Liste: {0} + + + Mail ausgestellt: {0} + + + Starte Mailer mit folgenden Einstellungen: + + +  - Datenbank Datei: {0} + + +  - Maximale Größe der Datenbank: {0} + + +  - Ignore Liste: {0} + + +  - Auslaufzeit einer Mail: {0} + + +  - Maximale Mails eines Spielers: {0} + + +  - Öffentliche Interaktionen: {0} + + + Konnte Mailer nicht aktivieren: Die maximale Größe der Datenbank muss größer als 0 sein. Bitte überprüfe die Einstellungen. + + + Konnte Mailer nicht aktivieren: Die Auslaufzeit einer Mail muss größer als 0 sein. Bitte überprüfe die Einstellungen. + + + Konnte Mailer nicht aktivieren: Die maximalen Mails eines Spielers müssen größer als 0 sein. Bitte überprüfe die Einstellungen. + + + Lade Datenbank-Datei: {0} + + + Lade Ignore-Liste: + + + Schaue nach Mails, die abgeschickt werden können @ {0} + + + Speichere Nachricht: {0} + + + {0} wurde ignoriert! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay Befehl + + + Replay-Datei erstellt. + + + Aufnahme wurde angehalten. Starte das Programm neu um eine neue Aufnahme zu erstellen. + + + Record angehalten. + + + Konnte Skript '{0}' nicht starten ({1}). + + + Datei nicht gefunden: '{0}' + + + §8[MCC] [{0}] Konnte Skriptdatei nicht finden: {1} + + + Skript '{0}' geladen. + + + Lade Aufgabe: +{0} + + + Keine Aktion für diese Aufgabe: +{0} + + + Diese Aufgabe wird niemals ausgelöst: +{0} + + + Intervall / Laufende Aufgabe: {0} + + + Login / Laufende Aufgabe: {0} + + + Zeit / Laufende Aktion: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Konvertiere Sitzungscache vom Speicher: {0} + + + §8Ignoriere ungültigen Sitzungstoken Zeile: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoriere Sitzungstoken String '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Lade Sitzung: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Lade Minecraft-Profile: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Lade Sitzungscache vom Speicher: {0} + + + §8Es traten verformte Daten beim Auslesen des serialisierten Sitzungscaches auf: {0} + + + §8Konnte serialisierten Sitzungscache nicht vom Speicher lesen: {0} + + + §8Konnte Sitzungscache nicht vom Speicher lesen: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Konnte Sitzungscache auf keine Festplatte schreiben: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Speichere Sitzungscache auf Festplatte + + + §8Saving profile key cache to disk + + + §8Fertig. Datei gespeichert als '{0}' + + + §8Lade '{0}.lang' von den Mojang-Servern herunter... + + + §8Konnte Datei nicht herunterladen. + + + §8Nutze en_GB.lang als Standard von deinem Minecraft-Pfad. + + + §8Übersetzungsdatei geladen. + + + Player {0}'s message chain is broken! + + + §8Übersetzungsdatei konnte nicht gefunden werden: '{0}' +Einige Nachrichten können ohne diese Datei nicht korrekt angezeigt werden. + + + §8Mache eine Anfrage zu {0} + + + [{0}] Beende die aktuelle Verbindung zum Server und verbinde erneut. + + + Schwinge deinen Arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Slot geändert auf {0} + + + Ändere deine Hotbar + + + Konnte Slot nicht ändern. + + + Konnte Slot nicht ändern: Dies ist keine Nummer. + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + Verbinde zum angegebenen Server. + + + Ungültige Server-IP '{0}'. + + + Unbekannter Account '{0}'. + + + Aktiviere/Deaktiviere Debug-Nachrichten. + + + Debug-Nachrichten sind nun ausgeschaltet. + + + Debug-Nachrichten sind nun eingeschaltet. + + + Versuche Block abzubauen... + + + Versuche Block bei {0} {1} {2} abzubauen... + + + Konnte Abbauprozess nicht starten. + + + Auf dieser Position ist kein Block! (Luft) + + + Du bist zu weit von diesem Block entfernt. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Greife Entity an + + + Boots + + + Brustplatte + + + Benutzerdefinierter Name + + + Entfernung + + + Entities + + + Entity + + + Ausrüstung + + + Gesundheit + + + Helmet + + + Item + + + Verzögerung + + + Beinschutz + + + Position + + + Haupthand + + + Nickname + + + Entity nicht gefunden + + + Off Hand + + + Pose + + + Typ + + + Benutze Entity + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + Verbindung zum Server verloren. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Zeige Gesundheit und Sättigung. + + + Gesundheit: {0}, Sättigung: {1}, Level: {2}, TotalExperience: {3} + + + {0} klicke Slote {1} im Fenster #{2} + + + Schließe das Inventar #{0} + + + Konnte das Inventar #{0} nicht schließen + + + Konnte Container nicht finden, bitte versuche es erneut mit der expliziten ID. + + + Anfrage zum Leeren des Slots #{0} gesendet + + + {0} x{1} im Slot #{2} angefordert. + + + Anfrage für Kreativ-Aktion fehlgeschlagen + + + Schaden + + + Inventar-Befehl + + + Droppe 1 Item aus Slot #{0} + + + Droppe ganzen Item Stack aus Slot #{0} + + + Found items + + + Verfügbare Aktionen + + + Einfache Bedienung + + + Klicke auf ein Item. + + + Schließe einen offenen Container. + + + Leere Slot im Kreativmodus. + + + Gebe dir ein Item im Kreativmodus. + + + Werfe ein Item aus deinem Inventar. + + + {0} +Benutze '/inventory help <action>' für weitere Hilfe. +'player' und 'container' können mit 'p' und 'c' abgekürzt werden. +Parameter in '[]' sind optional. + + + List avaliable inventories + + + Liste deine Inventare auf. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unbekannte Aktion. + + + Benutzung + + + Deine ausgewählte Hotbar ist {0} + + + Inventare + + + Available Inventories + + + Inventar + + + Links + + + Mittel + + + Du musst im Kreativmodus sein! + + + Could not find the specified item in any of avaliable Inventories! + + + Kein Item im Slot #{0} + + + Inventar #{0} existiert nicht. + + + Rechts + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + Liste alle Spieler auf. + + + SpielerListe: {0} + + + Logge Text in die Konsole. + + + Schaue nach YAW: {0} PITCH: {1} + + + Schaue auf {0} + + + Schaue in eine Richtung oder auf Koordinaten. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unbekannte Richtung '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + Laufe oder fange an zu laufen. + + + Kann nicht in diese Richtung laufen. + + + Deaktiviere Terrain und Bewegung. + + + Aktiviere Terrain und Bewegung beim nächsten Login, Respawn oder World change. + + + Konnte Pfad nach {0} nicht berechnen. + + + Gravitation ist deaktiviert. + + + Gravitation ist aktiv. + + + Laufe {0} + + + Weg nach {0} konnte nicht berechnet werden. Benutze den -f Parameter, um unsichere Wege zu aktivieren. + + + Gehe nach {0} + + + Starte neu und verbinde erneut zum Server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Benutze dies, um nach deinem Tod zu respawnen. + + + Du wurdest respawned. + + + Lasse eine Skript-Datei laufen. + + + Sende eine Chatnachricht oder einen Command an den Server. + + + Setze eine benutzerdefinierte %variable%. + + + Variable muss aus A-Za-z0-9 bestehen. + + + Setze eine benutzerdefinierte %variable% zufällig auf einen der angegebenen Werte. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Schaltet Ducken AN/AUS + + + Du duckst dich nicht mehr. + + + Du duckst dich jetzt. + + + Aktuelle TPS + + + Zeige die aktuellen TPS (tick per second) des Servers an. Nicht wirklich genau! + + + Plaziere einen Block oder öffne eine Kiste + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Benutze (links klick) ein Item auf der Hand + + + Item wurde benutzt. + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Farbtest: Dein Terminal sollte {0} anzeigen. + + + §8Crypto-Schlüssel & -Hash wurden generiert. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Starte Anfrage zu {0} + + + §8Es konnten keine Sitzungsdaten vom Speicher geladen werden. + + + §8Sitzungsdaten wurden erfolgreich vom Speicher geladen. + + + Erfolgreich. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Es gab einen Fehlercode vom Server, während die Authentication erneuert wurde: {0} + + + Es konnte keine Verbindung zu der IP aufgebaut werden. + + + §8Es gab einen Timeout während des Verbindungsaufbaus zu dieser IP. + + + Konnte Server-Version nicht bestimmen. + + + §8Forge Login Handshake konnte nicht erfolgreich abgeschlossen werden. + + + §8Forge StartEncryption Handshake konnte nicht erfolgreich abgeschlossen werden. + + + Der zwangshafte Forge-Support wird für diese Minecraft-Version nicht unterstützt! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Es gab einen Fehlercode vom Server: {0} + + + §8Ungültige Antwort auf das StartEncryption packet. + + + §8Ungültige Antwort auf das Handshake Packet. + + + This feature requires Inventory Handling to be enabled in order to work! + + + Konnte dem Server nicht beitreten. + + + Minecraft Login fehlgeschlagen : + + + Falsches Passwort, gesperrte IP oder zu viele Logins. + + + Benutzer gecancelled. + + + Account wurde migriert, benutze eine E-Mail als Nutzername. + + + Netzwerkfehler. + + + Dies ist kein Premium-Benutzer. + + + Ungültige Antwort des Servers. + + + Login-Server nicht erreichbar. Bitte versuche es später erneut. + + + SSL-Fehler. + + + Unbekannter Fehler. + + + Nutzer konnte auf diesem Server nicht angemeldet werden. + + + You are missing argument {0} + + + §8Server gibt keine Protokoll-Version an, Autodetection wird nicht funktionieren. + + + Ping an IP fehlgeschlagen. + + + Diese Realms-Welt existiert nicht oder der Zugang wurde verweigert + + + Versuche der Realms-Welt beizutreten, allerdings wurde der Realms-Support in der Config deaktiviert + + + Konnte die Server-IP deiner Realms-Welt nicht abfragen + + + Invalid or unknown Realms server ID. + + + Der Realms-Server braucht ein wenig Zeit zum starten. Bitte versuche es später erneut. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Verbindungs-Timeout. + + + §8Unerwartete Antwort des Servers. (Ist das ein Minecraft-Server?) + + + Kann nicht zum Server verbinden : Diese Version wird nicht unterstützt ! + + + Usage: + + + §8Der Server meldet eine andere Version als manuell angegeben. Login könnte fehlschlagen. + + + ChatBot Methoden sollten nicht im Konstruktor aufgerufen werden, da der API Handler noch nicht initialisiert wurde. Überschreibe Initialize() oder AfterGameJoined() für diese Initialisierung. + + + Das angegeben Skript hat keinen gültigen MCCScript header + + + Konnte Paket vom Typ {0} nicht verarbeiten. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Bitte update das Block Types Handling für diese Minecraft-Version. Siehe Materials.cs + + + Bitte update das Entity Types Handling für diese Minecraft-Version. Siehe EntityType.cs + + + Bitte update das Item Types Handling für diese Minecraft-Version. Siehe ItemType.cs + + + Bitte update die Packet Type Palette für diese Minecraft-Version. Siehe PacketTypePalette.cs + + + Unbekannte Richtung + + + Ein Nutzer sollte sich mit Disconnect() abmelden. + + + Die Protokoll-Version Nr.{0} wird nicht unterstützt. + + + §cEntities werden für diese Minecraft-Version nicht unterstützt. + + + Bitte aktiviere zuerst EntityHandling in der Config Datei. + + + Inventar # {0} geschlossen. + + + §cInventar Interaktion wird in dieser Minecraft-Version nicht unterstützt. + + + Inventar Interaktion (inventory) wurde aktiviert. + + + Schreibe /inventory, um mit deinem Inventar zu interagieren. + + + Inventar # {0} geöffnet: {1} + + + Bitte aktiviere zuerst die Inventar Interaktion (InventoryHandling) in der Config Datei. + + + §cTerrain und Bewegungen (terrainandmovement) werden für diese Minecraft Version nicht unterstützt. + + + Terrain und Bewegungen (terrainandmovement) sind nun aktiviert. + + + Bitte aktiviere zuerst Terrain und Bewegung (terrainandmovement) in der Config Datei. + + + §8[{0}] Konnte FileSystemWatcher nicht initialisieren, versuche es erneut mit Polling. + + + §8[{0}] Initialisiere FileSystemWatcher für die Datei: {1} + + + §8Akzeptiere Mod-Liste des Servers... + + + §8Akzeptiere Registries des Servers... + + + Forge-Server-Verbindung erfolgreich! + + + §8Bestätige FML2 Server Config: {0} + + + §8Empfange FML2 Server Mod-Liste... + + + §8Sende FML2 Client Mod-Liste zurück + + + §8Bestätige FML2 Server Registry: {0} + + + §8Es kam ein unbekannter FML2 Handshake Nachrichten Nr. {0} + + + §8Ignoriere unbekannten FML2 LoginMessage Kanal: {0} + + + §8Mod-Liste: + + + §8Server läuft auf Forge ohne Mods. + + + §8Registry {0} mit Einträgen wurde empfangen. + + + §8Registry {0} wurde mit {1} Einträgen empfangen. + + + §8Sende verfälschte Mod-Liste zum Server... + + + §8Forge-Protokoll-Version : {0} + + + §8Server läuft mit {0} Forge Mods. + + + Verfügbare Befehle: {0} + + + Dieser Bot wird entladen. + + + Fertig + + + Fehlgeschlagen + + + OnInternalCommand: Bekam einen Fehler von {0}: {1} + + + help <cmdname>: gibt eine kurze Beschreibung des Commands. + + + help <cmdname>. Verfügbare Befehle: {0}. Für die Hilfeseite des Servers schreibe '{1}send /help'. + + + Unbekannter Befehl '{0}'. Benutze 'help' für eine Liste aller Befehle. + + + Verbinde zu {0}... + + + Login fehlgeschlagen : + + + Verbindung wurde verloren. + + + Server hat die Verbindung abgebrochen : + + + Mit keinem Server verbunden. Schreibe '{0}help' für weitere Hilfe. + + + Fetching profile key from Microsoft. + + + Prüfe, ob der Server Forge benutzt... + + + Zwangsaktivierung des Forge-Supports. + + + §8Server gefunden {0}:{1} für Adresse {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake erfolgreich. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server-IP : + + + Server erfolgreich beigetreten. +Tippe '{0}quit', um ihn wieder zu verlassen. + + + Link: {0} + + + Login : + + + Bitte gib einen Nutzernamen oder eine E-Mail deiner Wahl ein. + + + §8SRV-Lookup fehlgeschlagen für {0} +{1}: {2} + + + §8Das Programm läuft im Offline-Modus. + + + Passwort : + + + Bitte gib das Passwort für {0} ein. + + + Passwort : {0} + + + Du bist gestorben. Schreibe '{0}respawn' zum Respawnen. + + + Du bist gestorben. Automatischer Respawn nach 1 Sekunde. + + + Oder drücke Enter, um den Minecraft Console Client zu verlassen. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + Du hast Zugang zu den folgenden Realms-Welten + + + Nutze realms:index als Server-IP, um der Realms-Welt beizutreten + + + Warte 5 Sekunden ({0} Versuche übrig)... + + + Löse auf {0}... + + + Starte Minecraft Console Client neu... + + + Warte {0} Sekunden vor Neustart... + + + Erhalte Server-Info... + + + +MCC is running with default settings. + + + §8Der Server läuft im Offline-Modus. + + + §8Server-Version : {0} (protocol v{1}) + + + Server-Version : + + + Überprüfe Sitzung... + + + Konnte Sitzung nicht überprüfen. + + + §8Gespeicherte Session ungültig oder abgelaufen. + + + §8Gespeicherte Session gültig für {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Befehl §8 {0} §7 gesendet. + + + §8Unbekannte oder nicht unterstützte MC-Version {0}. +Wechsele in den Autodetection-Modus. + + + §8Benutze Minecraft-Version {0} (protocol v{1}) + + + Version wird unterstützt. +Melde an... + + + , mit Forge + + + §8Verbunden mit Proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.el.resx b/MinecraftClient/Resources/Translations/Translations.el.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.el.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.es.resx b/MinecraftClient/Resources/Translations/Translations.es.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.es.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.fi.resx b/MinecraftClient/Resources/Translations/Translations.fi.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.fi.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.fr.resx b/MinecraftClient/Resources/Translations/Translations.fr.resx new file mode 100644 index 00000000..2e3ed988 --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.fr.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + La valeur du Cooldown d'attaque ne peut pas être plus faible que 0. Utilisation du mode par défaut (distance automatique). + + + Fabrication interrompue ! Vérifiez vos matériaux disponibles. + + + Alias des commandes du ChatBot AutoCraft + + + Commandes disponibles : {0}. Utilisez /autocraft help <commande> pour plus d'informations. Vous pouvez utiliser /ac comme alias de commande. + + + Inventaire #{0} fermé par l'AutoCraft + + + Commande du ChatBot AutoCraft + + + {0} recettes chargés : {1} + + + Réinitialisation de votre configuration. + + + Échec de la fabrication ! Attente de plus de matériaux + + + Fichier de configuration introuvable. Création d'un nouveau fichier. + + + Erreur de traitement de la configuration : {0} + + + Nom de recette spécifié en double : {0} + + + Nom manquant lors du chargement d'une recette + + + Voir la description de la commande. Utilisation : /autocraft help <commande> + + + Lister les recettes disponibles. + + + Chargement du fichier de configuration. + + + Recharger le fichier de configuration. + + + Écrire la configuration initiale à l'emplacement par défaut. + + + Début de la fabrication. Utilisation : /autocraft start <recette> + + + Arrêter la fabrication en cours + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Chargement réussi + + + Matériau manquant : {0} + + + Veuillez spécifier le nom de la recette que vous voulez fabriquer. + + + Le nom de recette spécifié n'existe pas. Vérifiez votre configuration. + + + Démarrage de l'AutoCraft : {0} + + + L'AutoCraft ne peut pas être démarré. Vérifiez les matériaux disponibles pour {0} + + + AutoCraft arrêté + + + Établi non trouvé + + + Le délai d'attente de l'action expiré ! Raison : {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Objet ajouté : {0} + + + Alias des commandes du ChatBot AutoDrop + + + Commande du ChatBot AutoDrop + + + Nom d'objet incorrect : {0}. Veuillez réessayer. + + + {0} objets dans la liste : + {1} + + + Impossible de trouver l'inventaire {0} ! + + + Aucun objet dans la liste + + + Impossible de lire le mode de Drop dans la configuration. Utilisation du mode Include. + + + L'objet n'est pas dans la liste + + + AutoDrop désactivé + + + AutoDrop activé + + + Objet retiré : {0} + + + Passage en mode {0}. + + + Mode inconnu. Modes disponibles : Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Poisson attrapé ! + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Pas de canne a pêche dans la main. Peut-être a-t-elle cassé ? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Canne à pêche lancée + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Le dossier actuel était : {0} + + + Déconnection détectée avec le message : {0} + + + Déconnexion initiée par l'utilisateur ou un bot MCC. Pas de reconnexion automatique. + + + Lancement avec {0} tentatives de reconnexion + + + Message chargé : {0} + + + Chargement des messages depuis le fichier : {0} + + + Initialisation sans fichier de messages de kick + + + Fichier non trouvé : {0} + + + Le message contient '{0}'. Reconnexion. + + + Reconnexion quel que soit le contenu du message de kick. + + + Le message ne contient aucun des mots clés définis. Pas de reconnexion automatique. + + + Attente de {0:0.000} secondes avant de se reconnecter... + + + Fichier non trouvé : '{0}' + + + Règle chargée : +{0} + + + Chargement des règles depuis '{0}' + + + match : {0} +regex : {1} +action : {2} +actionPrivate : {3} +actionOther : {4} +ownersOnly : {5} +cooldown : {6} + + + Lancement de l'action : {0} + + + Aucune action définie pour cette règle : +{0} + + + Cette règle ne sera jamais déclenchée : +{0} + + + Le chemin '{0}' contient des caractères invalides. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + Commande du Mailer + + + --- Liste d'exclusions --- +{0} + + + --- Mails dans la base de données --- +{0} + + + Voir l'utilisation + + + Ajout de {0} à la liste d'exclusions ! + + + Nom manquant ou invalide. Utilisation : {0} <pseudo> + + + Retrait de {0} de la liste d'exclusions ! + + + Création d'un nouveau fichier de base de données : {0} + + + Création d'une nouvelle liste d'exclusions : {0} + + + Délivré : {0} + + + Démarrage du Mailer avec les paramètres : + + +  - Fichier de base de données : {0} + + +  - Taille maximum de la base de données : {0} + + +  - Liste d'exlusions : {0} + + +  - Rétention des mails : {0} + + +  - Mails maximum par joueur : {0} + + +  - Interactions publiques : {0} + + + Impossible d'activer le Mailer : La taille maximum de la base de données doit être plus grande que zéro. Veuillez vérifier votre configuration. + + + Impossible d'activer le Mailer : La rétention des mails doit être plus grande que zéro. Veuillez vérifier votre configuration. + + + Impossible d'activer le Mailer : Le maximum de mails par joueur doit être plus grand que zéro. Veuillez vérifier votre configuration. + + + Chargement de la base de données : {0} + + + Chargement de la liste d'exclusions : + + + Recherche de mails a envoyer @ {0} + + + Sauvegarde du message : {0} + + + {0} est dans la liste d'exclusions ! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + Commande de Replay + + + Fichier de Replay créé. + + + L'enregistrement a été stoppé. Redémarrez le programme pour commencer un nouvel enregistrement. + + + Enregistrement arrêté. + + + Le script '{0}' n'a pas pu être lancé ({1}). + + + Fichier non trouvé : '{0}' + + + §8[MCC] [{0}] Impossible de trouver le fichier de script : {1} + + + Script '{0}' chargé. + + + Tâche chargée : +{0} + + + Aucune action pour cette tâche : +{0} + + + Cette tâche ne sera jamais déclenchée : +{0} + + + Intervalle / Lancement de l'action : {0} + + + Connexion / Lancement de l'action : {0} + + + Heure / Lancement de l'action : {0} + + + triggeronfirstlogin : {0} + triggeronlogin : {1} + triggerontime : {2} + triggeroninterval : {3} + timevalue : {4} + timeinterval : {5} + action : {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot : {0} a dit : {1} + + + Bot : {0} m'a dit : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Conversion du fichier de cache de sessions : {0} + + + §8Ignoré une ligne de jeton de session invalide : {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoré le jeton de session '{0}' : {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Session chargée : {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Chargement des profils Minecraft : {0} + + + §8Loading profile key cache from disk: {0} + + + §8Chargement du fichier de cache de sessions : {0} + + + §8Données incorrectes lors de la lecture du fichier de session sérialisé : {0} + + + §8Échec de lecure du fichier de cache de sessions sérialisé : {0} + + + §8Échec de la lecture ddu fichier de cache de sessions : {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Échec d'écriture du fichier de cache de sessions : {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Sauvegarde du cache de sessions sur le disque + + + §8Saving profile key cache to disk + + + §8Fait. Fichier sauvegardé sous le nom '{0}' + + + §8Téléchargement de '{0}.lang' depuis les serveurs de Mojang... + + + §8Échec de téléchargement du fichier. + + + §8Utilisation à la place de en_GB.lang depuis votre jeu Minecraft. + + + §8Fichier de traductions chargé. + + + Player {0}'s message chain is broken! + + + §8Fichier de traductions non trouvé : '{0}' +Certains messages ne seront pas affichés correctement sans ce fichier. + + + §8Envoi d'une requête à {0} + + + [{0}] Déconnexion et reconnexion au serveur + + + Balancer le bras. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Slot sélectionné : {0} + + + Changer de slot (emplacement) dans la hotbar + + + Le slot n'a pas pu être sélectionné + + + Le slot n'a pas pu être changé : Numéro invalide + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + Se connecter au serveur spécifié + + + IP de serveur '{0}' invalide. + + + Compte '{0}' inconnu. + + + (Dés)activer les messages de debug. + + + Messages de debug : OFF + + + Messages de debug : ON + + + Essayer de casser un bloc + + + Tentative de cassage du bloc situé à {0} {1} {2} + + + Échec du cassage du bloc. + + + Pas de bloc à cet endroit (Air) + + + Vous êtes trop loin pour casser ce bloc. + + + Lâcher un type d'objet spécifique depuis l'inventaire ou un conteneur ouvert + + + Lâché tout le(s) {0} de l'inventaire #{1} + + + Objet inconnu : {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entité attaquée + + + Bottes + + + Plastron + + + Nom personnalisé + + + Distance + + + Entitiés + + + Entité + + + Équipement + + + Vie + + + Casque + + + Objet + + + Latence + + + Pantalon + + + Emplacement + + + Main principale + + + Surnom + + + Entité non trouvée + + + Main secondaire + + + Pose + + + Type + + + Entité utilisée + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + Se déconnecter du serveur. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Afficher la vie et la faim. + + + Vie : {0}, Faim : {1}, Niveau : {2}, Experience totale : {3} + + + Clic {0} sur le slot {1} dans la fenêtre #{2} + + + Fermeture de l'inventaire #{0} + + + Impossible de fermer l'inventaire #{0} + + + Impossible de trouver le conteneur, réessayez avec son ID + + + Demande de suppression du slot #{0} + + + Demande de {0} x{1} dans le slot #{2} + + + Échec de la demande d'action en mode Créatif + + + Dommage + + + Commande d'inventaire + + + Lâché 1 objet depuis le slot #{0} + + + Lâché tous les objets du slot #{0} + + + Found items + + + Actions possibles + + + Utilisation de base + + + Cliquer sur un objet. + + + Fermer un conteneur ouvert. + + + Vider un slot en mode créatif. + + + Se donner un objet en mode créatif. + + + Lâcher un objet de votre inventaire. + + + {0} +Utilisez '/inventory help <action>' pour les aides d'actions. +'player' et 'container' peuvent être simplifiés en 'p' et 'c'. +Les paramètres entre '[]' sont optionnels. + + + List avaliable inventories + + + Lister votre inventaire. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Action inconnue. + + + Utilisation + + + Votre sélection dans la horbar : {0} + + + Inventaires + + + Available Inventories + + + Inventaire + + + gauche + + + du milieu + + + Vous devez être en mode Créatif + + + Could not find the specified item in any of avaliable Inventories! + + + Aucun objet dans le slot #{0} + + + L'inventaire #{0} n'existe pas + + + droit + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + Lister les joueurs connectés. + + + Joueurs en ligne : {0} + + + Afficher du texte dans la console. + + + Rotation de la tête (YAW:{0}, PITCH:{1}) + + + Rotation de la tête vers : {0} + + + Regarder dans une direction ou des coordonnées. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Direction inconnue : '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + Marcher ou commencer à marcher. + + + Impossible de se déplacer dans cette direction. + + + Désactivation du Terrain et des mouvements. + + + L'activation du Terrain et des mouvements aura lieu à la prochaine connexion au seveur, réapparition ou changement de monde. + + + Échec de calcul du chemin vers {0} + + + La gravité est désactivée. + + + La gravité est activée. + + + Déplacement {0} + + + Échec de calcul du chemin vers {0}. Utilisez -f pour autoriser les mouvements risqués. + + + Marche vers {0} + + + Relancer le programme et se reconnecter au serveur + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Réapparaitre sur le serveur si vous êtes mort. + + + Vous êtes réapparu. + + + Lancer un fichier de script. + + + Envoyer un message ou une commande. + + + Définir une %variable% personnalisée. + + + Le nom des variables doit utiliser les caractères A-Za-z0-9. + + + Définir une %variable% personnalisée avec une valeur aléatoire. + + + setrnd variable -7to17 + + + setrnd variable chaîne1 "\"chaîne2\" chaîne3" + + + S'accroupir + + + Vous n'est plus accroupi + + + Vous êtes accroupi + + + TPS actuel + + + Afficher les TPS (Ticks par seconde) actuels du serveur. Peut être imprécis. + + + Placer un bloc ou ouvrir un coffre + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Utiliser (clic gauche) un objet dans la main + + + Objet utilisé + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Test des couleurs : Votre terminal devrait afficher {0} + + + §8Clé de chiffrement & hash générés. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Envoi d'une requête à {0} + + + §8Aucune session n'a pu être chargé depuis le disque + + + §8Informations de Session chargées depuis le disque avec succès. + + + Succès. (ID de Session : {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Le serveur a retourné un code d'erreur lors du rafraichissement de l'authentification : {0} + + + Échec de la connexion a cette adresse IP. + + + §8La connexion à cette adresse IP n'a pas abouti (timeout). + + + La version du serveur n'a pas pu être déterminée. + + + §8Le Handshake Forge (Login) n'a pas réussi + + + §8Le Handshake Forge (StartEncryption) n'a pas réussi + + + Impossible de forcer le support de Forge sur cette version de Minecraft ! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Code d'erreur indiqué par le serveur : {0} + + + §8Réponse invalide au message StartEncryption + + + §8Réponse invalide au message de Handshake + + + This feature requires Inventory Handling to be enabled in order to work! + + + Une erreur est survenue lors de la connexion au serveur. + + + Échec d'authentification : + + + Mot de passe incorrect, IP bannie ou trop de connexions. + + + Annulé par l'utilisateur. + + + Compte migré, utiliser l'email à la place du nom d'utilisateur. + + + Erreur réseau. + + + L'utilisateur n'est pas premium. + + + Réponse du serveur invalide. + + + Serveur d'authentification indisponible. Veuillez réessayer ultérieurement. + + + Erreur SSL. + + + Erreur inconnue. + + + Échec de la connexion au serveur. + + + You are missing argument {0} + + + §8Le serveur n'indique pas la version de son protocole. L'auto-détection ne fonctionnera pas. + + + Échec du ping sur l'IP. + + + Ce monde Realms n'existe pas ou l'accès a été refusé + + + Tentative de connexion à un monde Realms mais le support Realms est désactivé dans la configuration + + + Impossible de déterminer l'IP du serveur de votre monde Realms + + + ID Realms invalide ou inconnu. + + + Le serveur peut nécessiter un peu de temps pour démarrer. Veuillez réessayer plus tard. + + + {0} : Syntaxe invalide, --argname=value ou --section.argname=value attendu + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connexion perdue (timeout) + + + §8Réponse inattendue du serveur (est-ce bien un serveur Minecraft ?) + + + Impossible de se connecter au serveur : Cette version n'est pas prise en charge ! + + + Usage: + + + §8Le serveur indique une version différente de celle réglée manuellement. La connexion pourrait échouer. + + + Les méthodes de ChatBot NE doivent PAS être appelées dans le construteur car le gestionnaire d'API n'est pas encore initialisé. Utilisez Initialize() ou AfterGameJoined() à la place. + + + Le script fourni n'a pas d'entête MCCScript valide + + + Échec de traitement d'un paquet entrant de type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Veuillez mettre à jour la gestion des types de blocs pour cette version de Minecraft. Voir Material.cs + + + Veuillez mettre à jour la gestion des types d'entités pour cette version de Minecraft. Voir EntityType.cs + + + Veuillez mettre à jour la gestion des types d'items pour cette version de Minecraft. Voir ItemType.cs + + + Veuillez mettre à jour la palette des types de paquets réseau pour cette version de Minecraft. Voir PacketTypePalette.cs + + + Direction inconnue + + + La déconnexion par l'utilisateur doit être effectuée en appelant Disconnect() + + + La version de protocole n°{0} n'est pas prise en charge. + + + §cLes Entités ne sont pas prises en charge actuellement pour cette version de Minecraft. + + + Veuillez d'abord activer la gestion des entités dans le fichier de configuration. + + + Inventaire # {0} fermé. + + + §cL'inventaire n'est pas pris en charge pour le moment pour cette version de Minecraft. + + + La gestion de l'inventaire est à présent activée. + + + Utilisez /inventory pour interagir avec. + + + Inventaire # {0} ouvert : {1} + + + Veuillez d'abord activer la gestion de l'inventaire dans le fichier de configuration. + + + §cLe Terrain et les Mouvements ne sont pas pris en charge actuellement pour cette version de Minecraft. + + + Le Terrain et les Mouvements sont maintenant activé. + + + Veuillez d'abord activer le Terrain et les Mouvements dans le fichier de configuration. + + + §8[{0}] Echec de l'initialisation du FileSystemWatcher, Nouvelle tentative avec Polling + + + §8[{0}] Initialisation du FileSystemWatcher pour le fichier : {1} + + + §8Acceptation de la liste de mods du serveur... + + + §8Acceptation des registres du serveur... + + + Connexion Forge avec le serveur terminée ! + + + §8Acceptation d'une configuration du serveur FML2 : {0} + + + §8Réception de la liste de mods du serveur FML2 + + + §8Renvoi de la liste de mods au serveur FML2 + + + §8Acceptation d'un registre du serveur FML2 : {0} + + + §8Le serveur a envoyé un message de handshake FML2 inconnu n°{0} + + + §8Reçu et ignoré un canal de login FML2 inconnu : {0} + + + §8Liste des mods : + + + §8Le Serveur utilise Forge sans aucun mod. + + + §8Réception d'un registre contenant {0} entrées + + + §8Reception du registre {0} avec {1} entrées + + + §8Envoi d'une fausse liste de mods au serveur... + + + §8Version du protocole Forge : {0} + + + §8Le Serveur utilise Forge avec {0} mods. + + + Commandes disponibles : {0} + + + Ce bot va être déchargé. + + + Fait + + + Échec + + + OnInternalCommand : Erreur renvoyée par {0} : {1} + + + help <commande> : Affiche l'aide à propos d'une commande. + + + help <commande>. Commandes disponibles : {0}. Pour l'aide du serveur, utiliser '{1}send /help' à la place. + + + Commande '{0}' inconnue. Utilisez 'help' pour la liste des commandes. + + + Connexion à {0}... + + + Échec de la connexion : + + + La connexion a été perdue. + + + Déconnecté par le serveur : + + + Actuellement non connecté à un serveur. Utilisez '{0}help' pour obtenir de l'aide. + + + Fetching profile key from Microsoft. + + + Vérification si le serveur utilise Forge... + + + Activation forcée du support Forge. + + + §8Trouvé le serveur {0}:{1} pour le domaine {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake réussi. (ID Serveur : {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Adresse IP du Serveur : + + + Connexion au serveur réussie. +Tapez '{0}quit' pour quitter le serveur. + + + Lien : {0} + + + Connexion : + + + Veuillez saisir un nom d'utilisateur ou une adresse email. + + + §8Échec de la résolution SRV pour {0} +{1} : {2} + + + §8Vous avez choisi d'utiliser le mode hors ligne. + + + Mot de passe : + + + Saisissez le mot de passe pour {0}. + + + Mot de passe : {0} + + + Vous êtes mort. Tapez '{0}respawn' pour réapparaître. + + + Vous êtes mort. Réapparition automatique dans 1 seconde. + + + Ou appuyez sur la touche Entrer pour quitter Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + Vous avez accès aux mondes Realms suivants + + + Utilisez realms:<index> comme ip de serveur pour rejoindre un monde Realms + + + Attente de 5 secondes ({0} tentatives(s) restante(s))... + + + Résolution de {0}... + + + Redémarrage de Minecraft Console Client... + + + Attente de {0} secondes avant de redémarrer... + + + Récupération des informations du serveur... + + + +MCC is running with default settings. + + + §8Le serveur est en mode hors ligne. + + + §8Version du serveur : {0} (protocole v{1}) + + + Version du serveur : + + + Vérification de la Session... + + + Échec de vérification de la session. + + + §8Le cache de la session est invalide ou a expiré. + + + §8Le cache de la session est encore valable pendant {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Commande §8 {0} §7 envoyée. + + + §8Version MC non connue ou non supportée. {0}. +Passage en mode autodétection. + + + §8Utilisation de la version {0} de Minecraft (protocole v{1}) + + + La version est prise en charge. +Connexion... + + + , avec Forge + + + §8Connecté au proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.he.resx b/MinecraftClient/Resources/Translations/Translations.he.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.he.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.hu.resx b/MinecraftClient/Resources/Translations/Translations.hu.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.hu.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.it.resx b/MinecraftClient/Resources/Translations/Translations.it.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.it.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.ja.resx b/MinecraftClient/Resources/Translations/Translations.ja.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.ja.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.ko.resx b/MinecraftClient/Resources/Translations/Translations.ko.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.ko.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.nl.resx b/MinecraftClient/Resources/Translations/Translations.nl.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.nl.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.no.resx b/MinecraftClient/Resources/Translations/Translations.no.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.no.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.pl.resx b/MinecraftClient/Resources/Translations/Translations.pl.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.pl.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.pt-BR.resx b/MinecraftClient/Resources/Translations/Translations.pt-BR.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.pt-BR.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.pt.resx b/MinecraftClient/Resources/Translations/Translations.pt.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.pt.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.resx b/MinecraftClient/Resources/Translations/Translations.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.ro.resx b/MinecraftClient/Resources/Translations/Translations.ro.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.ro.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.ru.resx b/MinecraftClient/Resources/Translations/Translations.ru.resx new file mode 100644 index 00000000..cc42ca17 --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.ru.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Значение кулдауна атаки не может быть меньше 0. По умолчанию используется auto. + + + Разработка прервана! Проверьте доступные материалы. + + + Псевдоним команды ChatBot для автоматического крафтинга + + + Доступные команды: {0}. Для получения дополнительной информации используйте /autocraft help <имя команды>. Вы можете использовать /ac в качестве псевдонима команды. + + + Инвентарь #{0} был закрыт автокрафтом + + + Команда автоматического крафтинга ЧатБота + + + Всего загружено {0} рецептов: {1} + + + Сброс конфигурации по умолчанию + + + Разработка не удалась! Ожидание новых материалов + + + Конфигурация не найдена. Записываем новый. + + + Ошибка при разборе конфига: {0} + + + Дублируется указанное имя рецепта: {0} + + + Пропущено имя рецепта при разборе рецепта + + + Получить описание команды. Использование: /autocraft help <имя команды>. + + + Список названий загруженных рецептов. + + + Загрузить файл конфигурации. + + + Загрузить файл конфигурации. + + + Записать конфигурацию примера по умолчанию в стандартное место. + + + Запустить крафтинг. Использование: /autocraft start <имя рецепта>. + + + Остановить текущий запущенный процесс крафтинга + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Успешно загружен + + + Недостающий материал: {0} + + + Пожалуйста, укажите название рецепта, который вы хотите создать. + + + Указанное имя рецепта не существует. Проверьте свой конфигурационный файл. + + + Запуск автокрафта: {0} + + + Автокрафт не может быть запущен. Проверьте доступные материалы для крафтинга {0} + + + Автокрафт остановлен + + + Таблица не найдена + + + Время выполнения действия истекло! Причина: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Добавлен элемент {0} + + + Псевдоним команды автоудаления ЧатБота + + + Команда автоудаления ЧатБота + + + Неправильное название элемента {0}. Пожалуйста, попробуйте еще раз + + + Всего {0} в списке: + {1} + + + Не удается найти инвентарь {0}! + + + Нет элемента в списке + + + Невозможно прочитать режим падения из конфигурации. Используется режим включения. + + + Элемент отсутствует в списке + + + Автоудаление отключено + + + Автоудаление включено + + + Удаленный элемент {0} + + + Переключено в режим {0}. + + + Неизвестный режим. Доступные режимы: Включить, Исключить, Все + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Поймал рыбу! + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Нет удочки под рукой. Может быть сломана? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Закинул удочку + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Текущий каталог был: {0} + + + Произошло отключение с сообщением: {0} + + + Отключение инициировано пользователем или MCC-ботом. Игнорирование. + + + Запуск с {0} попытками повторного подключения + + + Загруженное сообщение: {0} + + + Загрузка сообщений из файла: {0} + + + Инициализация без файла сообщения о кике + + + Файл не найден: {0} + + + Сообщение содержит '{0}'. Переподключаемся. + + + Игнорирует сообщение о пинке, все равно переподключается. + + + Сообщение не содержит определенных ключевых слов. Игнорирование. + + + Ожидание {0:0.000} секунд перед переподключением... + + + Файл не найден: '{0}' + + + Загружено совпадение: +{0} + + + Загрузка совпадений из '{0}' + + + соответствие: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +nownersOnly: {5} +cooldown: {6} + + + Действие запущено: {0} + + + Нет действия для матча: +{0} + + + Этот матч никогда не сработает: +{0} + + + Путь '{0}' содержит недопустимые символы. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + команда почтового клиента + + + --- Список игнорирования --- +{0} + + + --- Почта в базе данных --- +{0} + + + Смотрите использование + + + Добавил {0} в список игнорирования! + + + Пропущено или недопустимое имя. Использование: {0} <имя пользователя + + + Удалил {0} из списка игнорирования! + + + Создание нового файла базы данных: {0} + + + Создание нового списка игнорирования: {0} + + + Доставлено: {0} + + + Инициализация Mailer с настройками: + + +  - Файл базы данных: {0} + + +  - Максимальный размер базы данных: {0} + + +  - Список игнорирования: {0} + + +  - Хранение почты: {0} + + +  - Максимальное количество писем на игрока: {0} + + +  - Публичные взаимодействия: {0} + + +  Невозможно включить почтовый сервер: Максимальный размер базы данных должен быть больше нуля. Пожалуйста, проверьте настройки. + + + Невозможно включить Mailer: Mail Retention должно быть больше нуля. Пожалуйста, ознакомьтесь с настройками. + + + Невозможно включить Mailer: Max Mails per Player должно быть больше нуля. Пожалуйста, просмотрите настройки. + + + Загрузка файла базы данных: {0} + + + Загрузка списка игнорирования: + + + Ищет письма для отправки @ {0} + + + Сохранение сообщения: {0} + + + {0} игнорируется! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + команда воспроизведения + + + Файл воспроизведения создан. + + + Запись была остановлена. Перезапустите программу, чтобы начать другую запись. + + + Запись остановлена. + + + Сценарий '{0}' не удалось запустить ({1}). + + + Файл не найден: '{0}' + + + §8[MCC] [{0}] Не удается найти файл скрипта: {1} + + + Сценарий '{0}' загружен. + + + Загруженная задача: +{0} + + + Нет действия для задачи: +{0} + + + Эта задача никогда не сработает: +{0} + + + Интервал / Выполняемое действие: {0} + + + Login / Выполняемое действие: {0} + + + Время / Выполнение действия: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + временной интервал: {5} + действие: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Бот: {0} сказал: {1} + + + Bot: {0} сказал мне : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Преобразование кэша сессии с диска: {0} + + + §8Игнорирование недопустимой строки маркера сессии: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Игнорирование строки токена сессии '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Загруженная сессия: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Загрузка профилей Minecraft: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Загрузка кэша сессий с диска: {0} + + + §8Получены неверные данные при чтении сериализованного кэша сессии с диска: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Не удалось прочитать кэш сессии с диска: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Не удалось записать кэш сессии на диск: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Сохранение кэша сессии на диск + + + §8Saving profile key cache to disk + + + §8Сделано. Файл сохранен как '{0}' + + + §8Загрузка '{0}.lang' с серверов Mojang... + + + §8Не удалось загрузить файл. + + + §8Дополнительно к en_GB.lang из вашей директории Minecraft. + + + §8Файл переводов загружен. + + + Player {0}'s message chain is broken! + + + §8Файл переводов не найден: '{0}' +Некоторые сообщения не будут правильно печататься без этого файла. + + + §8Выполняем запрос к {0} + + + [{0}] Отключение и повторное подключение к серверу + + + Взмах руки. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Изменился на слот {0} + + + Изменить горячую панель + + + Не удалось изменить слот + + + Не удалось изменить слот: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + подключиться к указанному серверу. + + + Неправильный IP-адрес сервера '{0}'. + + + Неизвестная учетная запись '{0}'. + + + переключить отладочные сообщения. + + + Отладочные сообщения теперь ВЫКЛ. + + + Отладочные сообщения теперь включены + + + попытка разрушить блок + + + Попытка пробить блок на {0} {1} {2} + + + Не удалось начать копать блок. + + + Нет блока в этом месте (Air) + + + Вы находитесь слишком далеко от этого блока. + + + Сбросить указанный тип предметов из инвентаря игрока или открытого контейнера + + + Сбросил все {0} из инвентаря #{1} + + + Неизвестный предмет {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Сущность атакована + + + Сапоги + + + Нагрудник + + + Название пользователя + + + Дальность + + + События + + + существо + + + Оборудование + + + Здоровье + + + Шлем + + + Item + + + Задержка + + + Леггинсы + + + Местоположение + + + Главная рука + + + Никнейм + + + Собщество не найдено + + + Off Hand + + + Поза + + + Type + + + Существо использовано + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + отключиться от сервера. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Показать здоровье и насыщенность пищей. + + + Здоровье: {0}, Насыщение: {1}, Уровень: {2}, Общий опыт: {3} + + + {0} щелчок по слоту {1} в окне #{2} + + + Закрытие инвентаря #{0} + + + Не удалось закрыть опись #{0} + + + Невозможно найти контейнер, пожалуйста, повторите попытку с явным ID + + + Запрошено очистить слот #{0} + + + Запрошено {0} x{1} в слоте #{2} + + + Не удалось запросить действие Creative + + + Ущерб + + + Команда инвентаря + + + Сбросил 1 предмет из слота #{0} + + + Выбросил всю стопку предметов из слота #{0} + + + Found items + + + Доступные действия + + + Основное использование + + + Нажать на элемент. + + + Закрыть открытый контейнер. + + + Очистить слот в творческом режиме. + + + Выдать предмет в творческом режиме. + + + Убрать предмет из инвентаря. + + + {0} +Используйте '/inventory help <action>' для получения справки о действиях. +'player' и 'container' могут быть упрощены до 'p' и 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + Список инвентаря. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Неизвестное действие. + + + Применение + + + Выбранная вами горячая панель - {0} + + + Инвентарь + + + Available Inventories + + + Инвентарь + + + Левый + + + Середина + + + Вы должны быть в творческом режиме игры + + + Could not find the specified item in any of avaliable Inventories! + + + Нет предмета в слоте #{0} + + + Инвентаризация #{0} не существует + + + Правый + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + получить список игроков. + + + Список игроков: {0} + + + записать текст в консоль. + + + Посмотреть на YAW: {0} PITCH: {1} + + + Посмотреть на {0} + + + смотреть направление или координаты. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Неизвестное направление '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + +  идти или начать идти. + + + Невозможно двигаться в этом направлении. + + + Отключить местность и перемещения. + + + Включение рельефа и движений при следующем входе на сервер, перерождении или изменении мира. + + + Не удалось вычислить путь к {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Перемещение {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Путь к {0} + + + перезапустить и заново подключиться к серверу. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Используйте это, чтобы возродиться, если вы мертвы. + + + Вы переродились. + + + запустить файл скрипта. + + + отправить сообщение в чат или команду. + + + установить пользовательскую %переменную%. + + + имя переменной должно быть A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Выключает подкрадывание + + + Вы больше не крадетесь + + + Вы сейчас крадетесь + + + Текущий tps + + + Отображает текущий показатель tps (тик в секунду) сервера. Может быть неточным + + + Поставить блок или открыть сундук + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Использовать (левый клик) предмет на руке + + + Использовать предмет + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Цветовой тест: В вашем терминале должно отображаться {0} + + + §8Сгенерированы криптографические ключи и хэш. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Выполнение запроса к {0} + + + §8Ни одна сессия не могла быть загружена с диска + + + §8Данные сессии успешно загружены с диска. + + + Успех. (ID сессии: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Получили код ошибки от сервера при обновлении аутентификации: {0} + + + Не удалось подключиться к этому IP. + + + §8При попытке подключения к этому IP произошел тайм-аут. + + + Не удалось определить версию сервера. + + + §8Forge Login Handshake не завершилось успешно + + + §8Forge StartEncryption Handshake не завершилось успешно + + + Не удается принудительно включить поддержку Forge для этой версии Minecraft! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Получен код ошибки от сервера: {0} + + + §8Неправильный ответ на пакет StartEncryption + + + §8Неправильный ответ на пакет Handshake + + + This feature requires Inventory Handling to be enabled in order to work! + + + Не удалось подключиться к этому серверу. + + + Не удалось войти в систему Minecraft : + + + Неправильный пароль, IP из черного списка или слишком много логинов. + + + Пользователь отменен. + + + Аккаунт перенесен, используйте e-mail в качестве имени пользователя. + + + Ошибка сети. + + + Пользователь не премиум-класса. + + + Неправильный ответ сервера. + + + Серверы входа недоступны. Пожалуйста, повторите попытку позже. + + + Ошибка SSL. + + + Неизвестная ошибка. + + + Не удалось войти на этот сервер. + + + You are missing argument {0} + + + §8Сервер не сообщает версию своего протокола, автоопределение не работает. + + + Не удалось выполнить ping этого IP. + + + Этот мир Realms не существует или доступ был запрещен + + + Попытка присоединиться к миру Realms, но поддержка Realms отключена в конфигурации + + + Невозможно получить IP-адрес сервера вашего мира Realms + + + Неверный или неизвестный идентификатор сервера Realms. + + + Серверу Realms может потребоваться некоторое время для запуска. Пожалуйста, повторите попытку позже. + + + {0}: Неверный синтаксис, ожидается --argname=value или --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Таймаут соединения + + + §8Неожиданный ответ от сервера (это сервер Minecraft?). + + + Не удается подключиться к серверу: эта версия не поддерживается! + + + Usage: + + + §8Сервер сообщает о версии, отличной от установленной вручную. Вход в систему может не работать. + + +  Методы ChatBot НЕ должны вызываться в конструкторе, так как обработчик API еще не инициализирован. Вместо этого переопределите Initialize() или AfterGameJoined() для выполнения задач инициализации. + + + Предоставленный скрипт не имеет действительного заголовка MCCScript + + + Не удалось обработать входящий пакет типа {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Пожалуйста, обновите обработку типов блоков для этой версии Minecraft. См. Material.cs + + + Пожалуйста, обновите обработку типов сущностей для этой версии Minecraft. См. EntityType.cs + + + Пожалуйста, обновите обработку типов элементов для этой версии Minecraft. См. ItemType.cs + + + Пожалуйста, обновите палитру типов пакетов для этой версии Minecraft. См. PacketTypePalette.cs + + + Неизвестное направление + + + Инициированный пользователем выход из системы должен быть выполнен вызовом Disconnect() + + + Версия протокола № {0} не поддерживается. + + + §cСущности в настоящее время не обрабатываются для данной версии MC. + + + Пожалуйста, сначала включите EntityHandling в конфигурационном файле. + + + Инвентарь # {0} закрыт. + + + §cВ настоящее время инвентарь не обрабатывается для данной версии MC. + + + Обработка инвентаря теперь включена. + + + Используйте /inventory для взаимодействия с ним. + + + Инвентарь # {0} открыт: {1} + + + Пожалуйста, сначала включите InventoryHandling в конфигурационном файле. + + + §cTerrain & Movements в настоящее время не обрабатываются для данной версии MC. + + + Территория и перемещения теперь включены. + + + Пожалуйста, сначала включите Terrain и Movements в конфигурационном файле. + + + §8[{0}] Не удалось инициализировать FileSystemWatcher, повторная попытка с использованием опроса + + + §8[{0}] Инициализация FileSystemWatcher для файла: {1} + + + §8Принятие списка модов сервера... + + + §8Принятие реестров сервера... + + + Подключение к серверу завершено! + + + §8Подтверждение конфигурации сервера FML2: {0} + + + §8Получение списка модов сервера FML2 + + + §8Отправка списка модов клиента FML2 + + + §8Подтверждение реестра сервера FML2: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Игнорирование канала неизвестного сообщения FML2 LoginMessage: {0} + + + §8Список модов: + + + §8На сервере запущен Forge без модов. + + + §8Получен реестр с {0} записями + + + §8Получен реестр {0} с {1} записями + + + §8Отправка фальсифицированного списка модов на сервер... + + + §8Версия протокола Forge : {0} + + + §8На сервере запущен Forge с {0} модами. + + + Доступные команды: {0} + + + Этот бот будет выгружен. + + + Done + + + Не удалось + + + OnInternalCommand: Получена ошибка от {0}: {1} + + + help <имя команды>: показать краткую справку о команде. + + + help <имя команды>. Доступные команды: {0}. Для получения справки по серверу используйте '{1}send /help'. + + + Неизвестная команда '{0}'. Используйте 'help' для списка команд. + + + Подключение к {0}... + + + Войти не удалось: + + + Соединение было потеряно. + + + Отключен сервером: + + + Не подключен ни к одному серверу. Используйте '{0}help' для получения справки. + + + Fetching profile key from Microsoft. + + + Проверка, запущен ли на сервере Forge... + + + Включение поддержки Forge. + + + §8Найден сервер {0}:{1} для домена {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (ID сервера: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + IP сервера: + + + Сервер был успешно подключен. +Type '{0}quit' для выхода из сервера. + + + Ссылка: {0} + + + Логин : + + + Пожалуйста, введите имя пользователя или email по вашему выбору. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8Вы выбрали запуск в автономном режиме. + + + Пароль: + + + Пожалуйста, введите пароль для {0}. + + + Пароль: {0} + + + Вы мертвы. Введите '{0}respawn', чтобы возродиться. + + + Вы мертвы. Автоматически возрождаетесь через 1 секунду. + + + Нажмите Enter, чтобы выйти из консольного клиента Minecraft. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + У вас есть доступ к следующим мирам Realms + + + Используйте realms:index как IP сервера, чтобы присоединиться к миру Realms + + + Ожидание 5 секунд (осталось {0} попыток)... + + + Разрешение {0}... + + + Перезапуск консольного клиента Minecraft... + + + Ожидание {0} секунд перед перезапуском... + + + Получение информации о сервере... + + + +MCC is running with default settings. + + + §8Сервер находится в автономном режиме. + + + §8Версия сервера: {0} (протокол v{1}) + + + Версия сервера: + + + Проверка сессии... + + + Не удалось проверить сессию. + + + §8Кэшированная сессия недействительна или истекла. + + + §8Кэшированная сессия все еще действительна для {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Команда §8 {0} §7 отправлена. + + + §8Неизвестная или не поддерживаемая версия MC {0}. +Переключение в режим автоопределения. + + + §8Используется Minecraft версии {0} (протокол v{1}) + + + Версия поддерживается. +Войти в игру... + + + , с Forge + + + §8Подключен к прокси {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.sr-Cyrl.resx b/MinecraftClient/Resources/Translations/Translations.sr-Cyrl.resx new file mode 100644 index 00000000..94fbc6dc --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.sr-Cyrl.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Дискорд + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.sv.resx b/MinecraftClient/Resources/Translations/Translations.sv.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.sv.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.tr.resx b/MinecraftClient/Resources/Translations/Translations.tr.resx new file mode 100644 index 00000000..a3fecfb6 --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.tr.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cHava değişikliği: Yağmur dindi.§r + + + §cHava değişikliği: Fırtına bitti.§r + + + §cHava değişikliği: Yağmur yağıyor.§r + + + §cHava değişikliği: Fırtınalı başlandı.§r + + + Sağlanan geçersiz yürüyüş aralığı, varsayılan 5 değeri kullanılarak 0dan büyük bir pozitif tam sayı olmalıdır! + + + İstemci ayarlarında terrain and movement etkin değil, bu botla kullanmak istiyorsanız etkinleştirin. Alternatif (komut) yöntemini kullanma. + + + Zaman aralığı daha büyük bir değerle başlar, onları değiştirin. + + + Saldırı bekleme süresi değeri 0dan küçük olamaz. + + + Üretim iptal edildi! Mevcut malzemelerinizi kontrol edin. + + + Auto-crafting ChatBot command alias + + + Kullanılabilir komutlar: {0}. Daha fazla bilgi için /autocraft help <cmd name> kullanın. Komut takma adı olarak /ac as kullanabilirsiniz. + + + Envanter #{0} AutoCraft tarafından kapatıldı + + + Auto-crafting ChatBot command + + + Yüklenen toplam {0} tarif: {1} + + + Yapılandırmanızı varsayılana sıfırlama + + + Üretim başarısız oldu! Daha fazla malzeme bekliyorum + + + Yapılandırma bulunamadı. Yenisini yazın. + + + Yapılandırma ayrıştırılırken hata oluştu: {0} + + + Belirtilen yinelenen tarif adı: {0} + + + Tarif ayrıştırılırken tarif adı eksik + + + Komut açıklamasını alın. Kullanım: /autocraft help <command name> + + + Mevcut tarifleri listeleyin. + + + Yapılandırma dosyasını yükleyin. + + + Yapılandırma dosyasını yeniden yükleyin. + + + Varsayılan örnek yapılandırmayı varsayılan konuma yazın. + + + İşçiliği başlatın. Kullanım: /autocraft start <recipe name> + + + Mevcut çalışan işçiliği işlemini durdur + + + Geçersiz sonuç öğesi! + + + Slot sayısı eşleşmiyor ve otomatik olarak ayarlandı. + + + Başarıyla yüklendi + + + Missing material: {0} + + + Lütfen oluşturmak istediğiniz tarifin adını belirtin. + + + Belirtilen tarif adı mevcut değil. Yapılandırma dosyanızı kontrol edin. + + + AutoCraft başlatılıyor: {0} + + + AutoCraft başlatılamıyor. {0} işçiliği için mevcut malzemelerinizi kontrol edin + + + AutoCraft durdu + + + çalışma masası bulunamadı + + + İşlem zaman aşımı! Neden: {0} + + + Kullanılabilir komutlar: {0}. Daha fazla bilgi için /digbot help <cmd name> kullanın. + + + Auto-digging ChatBot command + + + Kazma bloğu zaman aşımı, yeniden deneyin. + + + Komut açıklamasını alın. Kullanım: /digbot help <command name> + + + Otomatik kazma botunu başlatın. + + + Otomatik kazma botunu devre dışı bırakın. + + + Şu anda işaret edilen blok izin verilenler listesinde değil. + + + Otomatik kazma başladı. + + + Kazma {0:0.0} saniye içinde başlayacak. + + + Otomatik kazma durduruldu. + + + {0} öğesi eklendi + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot komudu + + + Yanlış öğe adı {0}. Lütfen tekrar deneyin. + + + Total {0} listede: + {1} + + + {0} envanteri bulunamıyor! + + + Listede öğe yok + + + Drop modu okunamıyor. include modunu kullanın. + + + Listede olmayan öğe + + + AutoDrop devre dışı + + + AutoDrop etkinleştirildi + + + {0} öğesi kaldırıldı + + + {0} moduna geçildi. + + + Bilinmeyen mod. Mevcut modlar: Include, Exclude, Everything + + + Kullanılabilir komutlar: {0}. Daha fazla bilgi için /fish help <cmd name> kullanın. + + + Yayın zaman aşımına uğradı ve yakında yeniden denenecek. (Zaman aşımı {0:0.0} saniyeye yükseltildi). + + + Oltayı geri çekin. (Sayı: {0}) + + + Oltayı ({0:0.0},{1:0.0},{2:0.0})da geri çekin! (Sayı: {3}) + + + Auto-Fishing ChatBot command + + + Umutsuzluğa kapılan balık yüzer, yeniden atılır. + + + Balık tutma zaman aşımı, yakında yeniden yayınlanacak. + + + {0} Balık aldı + + + Komut açıklamasını alın. Kullanım: /fish help <command name> + + + auto-fishing başlatır. + + + Elde edilen tüm öğeleri listeleyin. Veya listeyi temizlemek için "/fish status clear" komudunu kullanın. + + + auto-fishing durdurur. + + + Inventory handling etkin değil. Çubuk dayanıklılığı kontrol edilemiyor ve çubuklar değiştirilemiyor. + + + Mevcut olta mevcut değil. Belki kırık veya düşük dayanıklılık? + + + auto-fishing başladı. + + + Balık avı {0:0.0} saniye içinde başlayacak. + + + Elde edilen eşyaların kaydı temizlendi. + + + Balıkçılıktan elde edilen tüm eşyalar (tamamen doğru değil): + + + auto-fishing durdu. + + + {0} slotunda ki çubuğa geçin, dayanıklılık {1}/64. + + + Başarılı bir şekilde döküm. + + + Güncelleme yaw = {0:0.00}, pitch = {1:0.00}. + + + Geçerli dizin şuydu: {0} + + + Şu mesajla bağlantı kesildi: {0} + + + Kullanıcı veya MCC botu tarafından başlatılan bağlantı kesilmesi. Yoksayıldı. + + + {0} yeniden bağlanma girişimiyle başlatılıyor + + + Yüklenen mesaj: {0} + + + Dosyadan mesajlar yükleniyor: {0} + + + Kick mesaj dosyası olmadan başlatılıyor + + + Dosya bulunamadı: {0} + + + Mesaj '{0}' içeriyor. Yeniden bağlanılıyor. + + + Kick mesajını görmezden geliyor, yine de yeniden bağlanıyor. + + + Tanımlanmış herhangi bir anahtar kelime içermeyen mesaj. Yoksaymak. + + + Yeniden bağlanmadan önce {0} saniye bekleniyor... + + + Dosya bulunamadı: '{0}' + + + Yüklenen eşleşme: +{0} + + + '{0}' kaynağından eşleşmeler yükleniyor + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Çalıştırılan işlem: {0} + + + Eşleşme için işlem yok: +{0} + + + Bu eşleşme asla tetiklenmeyecek: +{0} + + + '{0}' yolu geçersiz karakterler içeriyor. + + + Oluşan bir hata nedeniyle Discorda mesaj gönderme iptal edildi. Daha fazla bilgi için Hata Ayıklamayı etkinleştirin. + + + '{0}' kimliğine sahip sağlanan kanal bulunamadı! + + + Komut sonuçla yürütüldü + + + MCC ile başarıyla bağlandı! + + + Bu komut, mesajların Discord Bridge sohbet botu aracılığıyla hangi yöne iletileceğini belirlemenizi sağlar. + + + Discord Bridge yönü '{0}' olarak değiştirildi! + + + Both + + + Discord + + + Minecraft + + + '{0}' kimliğine sahip sağlanan guild/server bulunamadı! + + + Geçersiz yön sağlandı! Mevcut yol tarifleri: both|b, minecraft|mc, discord|dsc. Örnek: "dscbridge direction mc" + + + Lütfen geçerli bir token sağlayın! + + + Bilinmeyen bir hata oluştu! + + + Farmer zaten çalışıyor + + + Farmer Bot zaten durdurdu! + + + Kırpma türü + + + Çiftçilik botu + + + Geçersiz kırpma türü sağlandı (Kullanabileceğiniz Türler: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Geçersiz yarıçap sağlandı, 0dan büyük geçerli bir tam sayı sağlamalısınız! + + + Farmer botu kullanmak için Inventory Handling  özelliğini açın + + + Farmer botu kullanmak için Terrain Handling özelliğini açın + + + 1.13ün altında çalışmaz! + + + Yarçap + + + Farmer başladı + + + Farmer durdu + + + Farmer durduruluyor, bu bir saniye sürebilir... + + + Işınlamayı etkinleştirdiniz, bu bot hesabınızın açılmasına ve en kötü senaryoda yasaklanmasına neden olabilir! Dikkatle kullanın! + + + Güvenli olmayan hareketi etkinleştirdiniz, bot zarar görebilir! + + + Geçersiz "{0}" parametresi sağlandı(Biçimi kullanın: "key:value")! + + + mailer command + + + --- Ignore listesi --- +{0} + + + --- Veritabanındaki postalar --- +{0} + + + Kullanıma bakın + + + {0} ignore listesine eklendi! + + + Eksik veya geçersiz ad. Kullanım: {0} <username> + + + {0} ignore listesinden çıkarıldı! + + + Yeni veritabanı dosyası oluşturma: {0} + + + Yeni ignore listesi oluşturma: {0} + + + Teslim edildi: {0} + + + Mailerı ayarlarla başlatma: + + +  - Veritabanı dosyası: {0} + + +  - Maksimum Veritabanı Boyutu: {0} + + +  - Ignore listesi: {0} + + +  - Posta Tutma: {0} + + +  - Oyuncu Başına Maksimum Posta: {0} + + +  - Public etkileşimleri: {0} + + + Mailer etkinleştirilemiyor: Maksimum Veritabanı Boyutu sıfırdan büyük olmalıdır. Lütfen ayarları gözden geçirin. + + + Mailer etkinleştirilemiyor: Posta Tutma sıfırdan büyük olmalıdır. Lütfen ayarları gözden geçirin. + + + Mailer etkinleştirilemiyor: Oyuncu Başına Maksimum Posta Sayısı sıfırdan büyük olmalıdır. Lütfen ayarları gözden geçirin. + + + Veritabanı dosyası yükleniyor: {0} + + + İgnore listesi yükleniyor: + + + @ {0} gönderilecek postalar aranıyor + + + Mesaj kaydediliyor: {0} + + + {0} artık önemsenmiyor! + + + Haritaları oluştur (öğe haritaları) + + + Sağlanan geçersiz kimlik, bir sayı olmalıdır! + + + '{0}' kimliğine sahip bir harita mevcut değil! + + + Harita şu kimlikle oluşturulamadı: '{0}' + + + - Harita kimliği: {0} (Son Güncelleme: {1}) + + + Harita alınmadı! + + + Sunucudan alınan haritaların listesi: + + + Şu kimlikli yeni bir Harita alındı: {0} + + + '{0}' kimliğine sahip bir harita başarıyla oluşturuldu: '{1}' + + + '{0}' kimliğine sahip haritanın oluşturulan görüntüsünü {1}x{1} olarak yeniden boyutlandırdı. + + + Mevcut terminalin boyut sınırlaması nedeniyle haritanın boyutu ({0}x{1})den ({2}x{3})e düşürüldü. + + + Discord Brdige sohbet botu aracılığıyla Discorda '{0}' kimlikli bir haritanın işlenmiş bir görüntüsünü gönderdi! + + + Telegram Bridge sohbet botu aracılığıyla Telegrama '{0}' kimlikli bir haritanın işlenmiş bir görüntüsünü gönderdi! + + + replay command + + + Yeniden oynatma dosyası oluşturuldu. + + + Kayıt durduruldu. Başka bir kayıt başlatmak için programı yeniden başlatın. + + + Kayıt durduruldu. + + + '{0}' komut dosyası çalıştırılamadı ({1}). + + + Dosya bulunamadı: '{0}' + + + §8[MCC] [{0}] Komut dosyası bulunamıyor: {1} + + + Komut dosyası '{0}' yüklendi. + + + Yüklenen görev: +{0} + + + Görev için işlem yok: +{0} + + + Bu görev asla şunları tetiklemeyecek: +{0} + + + Interval / Yürütülen işlem: {0} + + + Login / Yürütülen işlem: {0} + + + Time / Yürütülen işlem: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + işlem: {6} + + + Oluşan bir hata nedeniyle Telegrama mesaj gönderme iptal edildi. Daha fazla bilgi için Hata Ayıklamayı etkinleştirin. + + + Komut sonuçla yürütüldü + + + MCC ile başarıyla bağlandı! + + + Bu komut, mesajların Telegram Bridge sohbet botu aracılığıyla hangi yönde iletileceğini belirlemenizi sağlar. + + + Telegram Köprüsünün yönü '{0}' olarak değiştirildi! + + + Both + + + Minecraft + + + Telegram + + + MCC ile bağlantı kesildi! + + + Geçersiz yön sağlandı! Mevcut yönler: both|b, minecraft|mc, telegram|tg|t. Örnek: "tgbridge direction mc" + + + [WARNING] "Authorized_Chat_Ids" alanı için herhangi bir Kanal Kimliği sağlamadınız, botunuzu bulan herkes ona mesaj ve komut gönderebilecek! + + + [WARNING] Kanal Kimliği sağlamadınız, SADECE Telegramdan gönderilen komutlara yanıt alacaksınız! + + + Lütfen geçerli bir bot token sağlayın! + + + **🛑 Yetkisiz erişim! 🛑 + +Erişim kazanmak için bu sohbetin kimliğini yapılandırma dosyasındaki "Authorized_Chat_Ids" alanına ekleyin!** + + + Bilinmeyen bir hata oluştu! + + + Bot: {0} dedi ki: {1} + + + Bot: {0} bana şunları söyledi: {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Oturum önbelleğini diskten dönüştürme: {0} + + + §8Geçersiz oturum belirteci satırı yoksayılıyor: {0} + + + §8Geçersiz profil anahtarı token satırı yoksayılıyor: {0} + + + §8'{0}' oturum belirteci dizesi yoksayılıyor: {1} + + + §8'{0}' profil anahtarı belirteci dizesi yoksayılıyor: {1} + + + §8Yüklenen oturum: {0}:{1} + + + §8Profil anahtarı yüklendi, {0} saatinde yenilenecek + + + §8Minecraft profilleri yükleniyor: {0} + + + §8Diskten profil anahtarı önbelleği yükleniyor: {0} + + + §8Diskten oturum önbelleği yükleniyor: {0} + + + §8Diskten serileştirilmiş oturum önbelleği okunurken hatalı biçimlendirilmiş veriler var: {0} + + + §8Diskten serileştirilmiş oturum önbelleği okunamadı: {0} + + + §8Diskten oturum önbelleği okunamadı: {0} + + + §8Diskten profil anahtarı önbelleği okunamadı: {0} + + + §8Oturum önbelleği diske yazılamadı: {0} + + + §8Profil anahtarı önbelleği diske yazılamadı: {0} + + + §8Saving session cache to disk + + + §8Profil anahtarı önbelleğini diske kaydediliyor + + + §8Tamamlandı. Dosya '{0}' olarak kaydedildi + + + §8Mojang sunucularından '{0}.lang' indiriliyor... + + + §8Dosya indirilemedi. + + + §8Minecraft dizininizden en_GB.lang için varsayılan ayar. + + + §8Çeviri dosyası yüklendi. + + + {0} oyuncusunun mesaj zinciri koptu! + + + §8Çeviri dosyası bulunamadı: '{0}' +Bazı iletiler bu dosya olmadan düzgün yazdırılmayacaktır. + + + §8{0} için istek gerçekleştiriliyor + + + [{0}] Bağlantı kesildi ve tekrar bağlanılıyor. + + + Kolunu salla. + + + Yatak bulamadım! + + + Yatağa güvenli bir şekilde ulaşılamıyor! + + + Bir yatakta uyumak veya yataktan ayrılmak için kullanılır. + + + Yatak pozisyonuna (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) zamanında (30 saniyede) ulaşılamadı. Vazgeçmek! + + + (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) noktasında bir yatak bulundu. + + + Yatakta başarılı bir şekilde yattı! + + + Sunucuya bir yatak bırakmak için bir komut gönderme. + + + Yatağın bulunduğu yere (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) yürüyor. + + + (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) üzerindeki blok bir yatak değildir! + + + Yatakta uzanamadı. Bir yatakta uyumaya mı çalışıyorsun? (Not: Yatağın baş bloğu koordinatlarını kullanmalısınız) + + + {0} yarıçapında bir yatak aranıyor... + + + Konumdaki bir yatakta uyumaya çalışmak (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Sonuç: {3} + + + Etrafında bloklar + + + Blok türü + + + Sağlanan koordinatlarda bloğun türünü raporlar. (Hedef bloğun etrafındaki blokları bildirmek için -s kullanın). + + + Negatif + + + Pozitif + + + Botları listeleyin, bir botu veya tüm botları kaldırın. + + + Yüklenen botlar + + + Hiçbir bot yüklenmedi! + + + Bot {0} yüklenmedi, yazım hatası yapıp yapmadığınızı kontrol edin! + + + Bot başarıyla kaldırıldı: {0} + + + Tüm botlar başarıyla kaldırıldı! + + + Slot {0} olarak değiştirildi + + + Hotbar daki slotu değiştir + + + Slot değiştirilemedi + + + Slot değiştirilemedi: değer sayı değil + + + chunk: ({0}, {1}). + + + Mevcut konum:{0}, chunk: ({1}, {2}). + + + Chunk yükleme durumunu görüntüler. +Görüntü kafa karıştırıcıysa ayarlarda EnableEmoji=false öğesini değiştirin. + + + §x§0Bu komut hata ayıklamak için kullanılır, ne yaptığınızı bildiğinizden emin olun.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + İşaretli konum: + + + §x§0İşaretli parça grafiğin dışında olduğu için görüntülenmeyecektir!§r + + + belirtilen sunucuya bağlanın. + + + Geçersiz sunucu IPsi '{0}'. + + + Bilinmeyen hesap '{0}'. + + + hata ayıklama mesajları arasında geçiş yapın. + + + Hata ayıklama mesajları artık KAPALI + + + Hata ayıklama mesajları artık AÇIK + + + Bir bloğu kırmaya çalışır + + + {0} {1} {2} ({3}) konumundaki blok kazılmaya başladı + + + Blok kazmaya başlanamadı. + + + Bu konumda blok yok (Hava) + + + Bu bloktan çok uzaktasın. + + + Oyuncu envanterinden veya açılmış envanterden belirtilen türde öğeleri bırak + + + #{1} numaralı envanterden tüm {0} itemleri atıldı + + + Bilinmeyen öğe {0} + + + Yeterince seviyeniz varsa ve öğeleri doğru yuvalara yerleştirdiyseniz, sunucuya bir tıklama gönderdiniz! + + + Enchantment tablosunu açtığınızda ve büyülerin listesi alındığında bir öğeyi büyüleyin. + + + 0 numaralı slotta ki büyü masasının içine bir eşya koymalısın! + + + Slot 1deki büyü masasının içine en az 3 lapis lazuli koymalısın! + + + Bu seçeneği kullanmak için büyü bir masası açmalısın! + + + Geçersiz yuva sağlandı (Mevcut: top, middle, bottom)! + + + Sunucudan büyü alabilmek için önce büyülenecek bir itemi büyü masasına koymalısınız, daha sonra bu komutu uygulayabilirsiniz! + + + Büyüleyecek kadar seviyen yok! (Mevcut seviyeniz {0}, {1} seviyesinde olmanız gerekiyor). + + + Tıklanamadı! + + + Entitye saldırma + + + Bot + + + Zırh + + + Custom Name + + + Mesafe + + + Entitiler + + + Entity + + + Teçhizat + + + Can + + + Kask + + + Öğe + + + Gecikme + + + Pantolon + + + Konum + + + Ana El + + + Nickname + + + Entity bulunamadı + + + İkinci El + + + Poz + + + Tür + + + Entity kullanıldı + + + Bir koşul karşılandığında bir komutu yürütmenize izin verir. (MinecraftClient.ini ve /set komutundaki değişkenlerin yanı sıra CSharp ifadelerini kullanabilirsiniz.) + + + Hata: {0} + + + Şu komut yürütülürken bir hata oluştu: {0} + + + '{0}' koşulu karşılandı, '{2}' sonucu ile '{1}' komutu yürütüldü. + + + '{0}' koşulu karşılandı, '{1}' komutu yürütüldü, sonuç döndürülmedi. + + + Birden çok komutu birbiri ardına yürütün + + + '{0}' komutunu {1} ile yürüttü + + + sonuç yok! + + + sonuç '{0}'! + + + sunucuyla bağlantısını kesin. + + + {0}i zaten takip ediyor! + + + Zaten durdu + + + Oyuncuya ulaşamıyor, ya yüklü olmayan yığınlar içinde, çok uzakta ya da boşluklar veya su kütleleri gibi engellerden dolayı bir bot tarafından ulaşılamıyor! + + + Botun belirli bir oyuncuyu takip etmesini sağlar + + + Geçersiz veya boş oyuncu adı sağlandı! + + + Belirtilen oynatıcı, kapsama alanı dışında bağlı değil! + + + NOT: Bot oldukça yavaş, ayak uydurabilmesi için yavaş ve yakın bir mesafede yürümeniz gerekiyor, tıpkı elinizde yiyecek tutarak hayvanların sizi takip etmesini sağlamanız gibi. Bu bir yol bulma algoritması nedeniyle bir sınırlamadır, daha iyisini elde etmek için çalışıyoruz. + + + Duraklatma! + + + {0} oyuncusu menzile geri döndü! + + + {0} oyuncusu sunucudan ayrıldı! + + + {0} oyuncusu menzili terk etti! + + + Takip etmeye devam ediyoruz! + + + {0}i takip etmeye başladı! + + + Durdu! + + + Takip etmeyi bıraktım! + + + Değiştirildi {0}e geçildi! + + + Güvensiz yürümeyi etkinleştirdi (NOT: Bot ölebilir veya yaralanabilir!) + + + follow <player name|stop> [-f] (Güvenli olmayan yürümeyi etkinleştirmek için -f kullanın) + + + Can, doygunluk ve seviyeyi görüntüleyin. + + + Can: {0}, Doygunluk: {1}, seviye: {2}, Toplam Exp: {3} + + + {0} #{2} penceresindeki {1} slota tıklanıyor + + + Kapanan Envanter #{0} + + + Envanter #{0} kapatılamadı + + + Slot bulunamıyor, lütfen açık bir şekilde yeniden deneyin + + + #{0} slotun temizlenmesi istendi + + + {2} numaralı slotda {0} x{1} istendi + + + Creative işlemi başarısız oldu + + + Hasar + + + Envanter komutu + + + #{0} slotundan 1 öğe atıldı + + + #{0} slotundan tüm öğeler atıldı + + + Bulunan öğeler + + + Kullanılabilir eylemler + + + Temel kullanım + + + Bir öğeye tıklayın. + + + Açılmış bir envanteri kapatın. + + + Yaratıcı modda slotu temizleyin. + + + Öğeyi yaratıcı moddan verin. + + + Envanterden bir öğe bırakın. + + + {0} +Kullanım yardımı için '/inventory help <action>' kullanın. +'player' ve 'container', 'p' ve 'c' olarak basitleştirilebilir. +'[]' içindeki parametrelerin isteğe bağlı olduğunu unutmayın. + + + Kullanılabilir envanterleri listele + + + Envanterinizi listeleyin. + + + Mevcut envanterlerden bir öğe arayın + + + Shift ile bir öğeyi tıklayın. + + + Bilinmeyen eylem. + + + Kullanım + + + Seçtiğiniz hotbar: {0} + + + Envanterler + + + Mevcut Envanterler + + + Envanter + + + Sol + + + Orta + + + Yaratıcı oyun modunda olmalısınız + + + Belirtilen öğe mevcut Envanterlerin hiçbirinde bulunamadı! + + + #{0} slotunda öğe yok + + + Envanter #{0} mevcut değil + + + Sağ + + + #{1} penceresindeki {1} slota Shift ile tıklanıyor + + + Shift tıklaması başarısız oldu, bunun nedeni bu kapsayıcı türünün desteklenmemesi olabilir + + + oyuncu listesini alın. + + + PlayerList: {0} + + + konsola bazı metinler kaydedin. + + + Bakılan yön yaw: {0} pitch: {1} + + + {0}e bakmak + + + yön veya koordinatlara bakın. + + + Şu anda görüş hattını kesen blok {0} ({1:0}, {2:0}, {3:0}), mesafe {4:0.0}({5:0.0}). + + + {0} metre içinde görüş hattıyla kesişen herhangi bir blok yok. + + + Bilinmeyen yön '{0}' + + + Chunk yükleme durumu: {0:P} - {2} yükten {1} tanesi tamamlandı. + + + Hedef konumun bulunduğu chunk henüz yüklenmedi. +Chunk yükleme durumunu kontrol etmek için "/chunk status {0:0.0} {1:0.0} {2:0.0}" kullanabilirsiniz. + + + yürüyün veya yürümeye başlayın. + + + O yönde hareket edilemiyor. + + + Devre dışı bırakılıyor Terrain and Movements. + + + Bir sonraki sunucu oturumunda, yeniden doğmada veya dünya değişiminde Terrain and Movements etkinleştirin. + + + {0} yolunu hesaplayamadı + + + Gravity devre dışı. + + + Gravity etkinleştirildi. + + + {0} yürünüyor + + + {0} için güvenli bir yol hesaplanamadı. Güvenli olmayan hareketlere izin vermek için -f parametresini deneyin. + + + {1} ile {0} arasında yürüyüş + + + yeniden başlatın ve sunucuya yeniden bağlanın. + + + MCC ayarlarını yeniden yükler. + + + Ayarlar Yeniden Yüklendi! + + + Ayarlar yeniden yükleniyor... + + + Bu komut, bir sunucuya bağlanmadan önce kullanılan belirli ayarları ETKİLEMEZ! + + + Komut satırı parametrelerinden geçirilen bazı ayarlar geçersiz kılınabilir! + + + Ayrıca bazı ayarların etkili olması için yeniden bağlanmanız gerekebilir. + + + Replay Chat Botu, teknik sınırlamalar nedeniyle yeniden yüklenmeyecek! + + + Öldüyseniz yeniden doğmak için bunu kullanın. + + + Yeniden doğdun. + + + Yeniden doğdun. + + + bir sohbet mesajı veya komutu gönderin. + + + özel bir %variable% ayarlayın. + + + değişken adı A-Za-z0-9 olmalıdır. + + + belirli bir değere rastgele özel bir %variable% ayarlayın. + + + setrnd değişkeni -7to17 + + + setrnd değişkeni string1 "\"string2\" string3" + + + Eğilme/Kalkma + + + Eğilemyi bıraktın. + + + Şu an eğiliyorsun. + + + Mevcut tps + + + Sunucu geçerli tps sini görüntüleyin (saniye başına onay). doğru olmayabilir + + + Bir blok yerleştin veya sandık açın + + + Kullanılan blok ({0:0.0}, {1:0.0}, {2:0.0}) {3} + + + Eldeki bir öğeyi kullanın (sol tıklama) + + + Bir öğe kullandı + + + %yourvar% +%username% ve %serverip% ayrılmış değişkenler olduğundan diğer bazı alanlarda da kullanılabilir. + + + §c{0} ayar uzantısına yazılamadı§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Sohbette belirtilen kelimeler algılandığında uyarı alın +Sunucunuzu denetlemek veya birisinin sizinle ne zaman konuştuğunu algılamak için kullanışlıdır + + + Vurgulamaya ek olarak bir kelime algılandığında bir bip sesi çalın. + + + Sizi uyarmayacak kelimelerin/dizelerin listesi. + + + Uyarı günlüklerinin yazılacağı dosyanın adı. + + + Günlük uyarıları bir dosya hakkında bilgi verir. + + + Sizi uyaracak kelimelerin/dizelerin listesi. + + + Tetik, yağmur yağdığında ve durduğunda uyarır. + + + Fırtınaların başında ve sonunda uyarıları tetikler. + + + Belirtilen bir anahtar kelimeyi aldıktan sonra bir uyarıyı tetikler. + + + Otomatik AFK bağlantısının kesilmesini önlemek için düzenli veya rastgele bir komut gönderin veya botun rastgele dolaşmasını sağlayın +/!\ Sunucu kurallarınızın AFK karşıtı mekanizmaları yasaklamadığından emin olun! +/!\ arazi kullanımı kullanıyorsanız, botun dolaşmasını önlemek için bir muhafaza içinde! (Önerilen boyut 5x5x5) + + + Sunucuya gönderme komutu. + + + Yürütme için zaman aralığı. (saniyeler içinde) + + + Komutu gönderirken gizlice girip girmeyeceği. + + + Botun hareket etmesini sağlamak için terrain and movement kullanın. + + + Botun rastgele hareket edebileceği menzil (Not: Menzil ne kadar büyük olursa, bot o kadar yavaş olur) + + + Bot, komut yöntemini kullanmadan önce kaç kez hareket etmeyi denemede başarısız olabilir. + + + Çevrenizdeki düşman çetelere otomatik olarak saldırın +Bu botu kullanmak için Entity Handling i etkinleştirmeniz gerekiyor +/!\ Sunucu kurallarının planlı AutoAttack kullanımınıza izin verdiğinden emin olun +/!\ SUNUCU EKLENTİLERİ, AutoAttack i bir HİLE MODU olarak kabul edebilir ve HESABINIZA KARŞI EYLEM ALABİLİRSİNİZ, bu nedenle SUNUCU KURALLARINI İKİ DEFA KONTROL EDİN! + + + Saldıran düşman çetelerine izin ver. + + + Pasif çetelerin saldırmasına izin verin. + + + Her saldırı arasında ne kadar bekleneceği. MCCnin hesaplamasına izin vermek için "Custom = false" olarak ayarlayın. + + + Tüm varlık türleri burada bulunabilir: https://bit.ly/3Rg68lp + + + Olası değerler: "Interact", "Attack" (varsayılan), "InteractAt" (Interact ve Attack). + + + Varlık listesinin "whitelist" veya "blacklist" olarak değerlendirilmesi. + + + "single" veya "multi". tek hedef saldırı başına bir çete. Saldırı başına menzildeki tüm çeteleri çoklu hedefle + + + "health" veya "distance". Yalnızca tekli mod kullanılırken gereklidir + + + Envanterinizdeki öğeleri otomatik olarak craftlayın +Nasıl kullanılacağı hakkında https://mccteam.github.io/guide/chat-bots.html#auto-craft adresine bakın +Bu botu kullanmak için Inventory Handling i etkinleştirmeniz gerekiyor +Bir çalışma masası kullanmanız gerekiyorsa, terrain and movement özelliğini etkinleştirmelisiniz. + + + Kullanmayı düşünüyorsanız, çalışma masasının konumu. terrain and movement etkinleştirilmelidir. + + + İşleme hatası, "abort" veya "wait" bu durumunda ne yapılmalı. + + + Recipes.Name: Adı istediğiniz gibi olabilir ve tarifi temsil etmek için kullanılır. +Recipes.Type: çalışma masası türü: "player" veya "table" +Recipes.Result: ortaya çıkan öğe +Recipes.Slots: Tüm slotlardan, soldan sağa, yukarıdan aşağıya doğru sayılır. Lütfen boş slotlar için "Null" doldurunuz. +Öğelerin adlandırılması için lütfen bakınız: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +Botu kullanmak için terrain and movement açmanız gerekiyor +AutoDig in başlatılmasını ve durdurulmasını kontrol etmek için "/digbot start" ve "/digbot stop" kullanabilirsiniz. +MCC henüz blokların çarpışma hacminin doğru bir şekilde hesaplanmasını desteklemediğinden, bakış açısının konumu elde edilirken tüm bloklar tam küpler olarak kabul edilir. +Bloğun adlandırılması için lütfen bakınız. https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + Oyuna girdikten sonra otomatik olarak kazmaya başlamak için kaç saniye bekleneceğini, otomatik başlatmayı devre dışı bırakmak için -1 olarak ayarlayın. + + + Otomatik olarak uygun araca geçin. + + + Bir bloğu "Dig_Timeout" saniyeden daha uzun süre kazmak zaman aşımı olarak kabul edilecektir. + + + Mevcut aletin dayanıklılığı çok düşük olduğunda düşürülüp düşürülmeyeceği. + + + Bundan daha az dayanıklılığa sahip araçları kullanmaz. Bu özelliği devre dışı bırakmak için sıfıra ayarlayın. + + + Engellenenler listesini "whitelist" veya "blacklist" olarak ele alın. + + + "distance" veya "index", "fixedpos" modunu kullanırken, bloklar oyuncuya olan mesafeye veya listedeki sıraya göre belirlenir. + + + "fixedpos" veya "both" modunu kullanırken blokların konumu. + + + Blokları kazarken günlüklerin çıktısının verilip verilmeyeceği. + + + "lookat", "fixedpos" veya "both". Bakılan bloğun kazılması, bloğun sabit bir konumda olması veya tamamıyla karşılanması gereken bloğun kazılması. + + + Öğeleri envantere otomatik olarak bırak +Botu kullanmak için Inventory Handling i açın +Bu botla kullanabileceğiniz güncel öğe türlerinin listesi için bu dosyaya bakın: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" veya "everything". Include: öğeyi listeye bırakın. Hariç tut: listede OLMAYAN öğeyi bırak + + + Açlık değeriniz düşük olduğunda otomatik olarak yemek yiyin +Botu kullanmak için Inventory Handling i açın + + + Bir olta kullanarak balıkları otomatik olarak yakalayın +Kılavuz: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +Botu manuel olarak kontrol etmek için "/fish" kullanabilirsiniz. +/!\ Bu botu kullanmadan önce sunucu kurallarının otomatik çiftçiliğe izin verdiğinden emin olun + + + Daha önce değiştirmediyseniz yanlış olarak saklayın. + + + Mevcut olta müsait olmadığında envanterden yeni bir olta geçin. + + + Bir dünyaya girdikten sonra otomatik olarak balık avına başlayıp başlamama. + + + Başarılı bir balık avından sonra ne kadar sürede yeniden döküm yapılır. + + + Bundan daha az dayanıklılığa sahip çubuklar kullanmaz (tam dayanıklılık 64tür). Bu özelliği devre dışı bırakmak için sıfıra ayarlayın. + + + Bu, oyuncunun yakalanan her balıktan sonra pozisyonunu/yüzünü değiştirmesini sağlar. + + + Oyuna girdikten ne kadar süre sonra balık tutmaya başlamanız (saniye). + + + Balık tutma zaman aşımı (saniye). Zaman aşımı, yeniden yayınlamayı tetikleyecektir. + + + Y ekseninde bu eşiğin üzerinde hareket eden "stationary" bir kanca, bir balık yakalamış olarak kabul edilecektir. + + + Etkinleştirildiğinde, hareket paketinin alınması üzerine olta varlığının konumundaki değişikliği yazdıracak olan yukarıdaki iki eşiği ayarlamak için kullanılır. + + + Çubuğu tutmak için ana eli veya yan eli kullanın. + + + "1->2->3->4->3->2->1->2->..." sırasına göre hareket eder ve her seferinde konumunu veya yüzünü veya her ikisini değiştirebilir. Sadece kaplamanın değiştirilmesi tavsiye edilir. + + + Bu değerden daha az X ve Z eksenindeki kanca hareketi durağan kabul edilecektir. + + + Sunucu tarafından bağlantı kesildiğinde, örneğin sunucu yeniden başlatıldığından dolayı otomatik olarak yeniden oturum aç +/!\ Ignore_Kick_Message=true kullanın riski size aittir! Manuel vuruşlarda otomatik olarak yeniden oturum açarsanız, sunucu personeli takdir etmeyebilir + + + Sunucuya katılmadan önceki gecikme süresi. (saniyeler içinde) + + + true olarak ayarlandığında, otomatik yeniden kayıt, kick mesajlarından bağımsız olarak yeniden bağlanır. + + + Kickout mesajı dizilerden herhangi biriyle eşleşirse, otomatik yeniden kayıt tetiklenir. + + + Sunucuya yeniden giriş yapılamadığında yeniden dener. sınırsız yeniden deneme için -1 kullanın. + + + Sohbette belirli bir kalıp algılandığında komutları çalıştırın veya mesajları otomatik olarak gönderin +Sunucu yöneticileri sohbet mesajlarını (/nick, /tellraw) taklit edebilir, bu nedenle Otomatik Yanıt kurallarını uygularken bunu aklınızda bulundurun +/!\ Bu bot, kurallarınıza bağlı olarak spam içerikli olabilir, ancak genel mesaj cooldown ayarı yanlışlıkla spamden kaçınmanıza yardımcı olabilir. + + + Metinden renkleri çıkarmayın (Not: Eşleşmelerinizin çalışması için renk kodlarını (§ karakterini kullananlar) içermesi gerekir) + + + Sohbet mesajlarını diskteki bir dosyaya kaydeder. + + + Bu bot, bir Discord kanalı üzerinden mesaj ve komut göndermenize ve almanıza olanak tanır. +Kurulum için belgeleri kullanabilir veya burayı okuyabilirsiniz (Belgelerde resimler vardır). +Belgeler: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Kurulum: +Öncelikle Discord Developers Portalda bir Bot oluşturmanız gerekiyor, işte bir video eğitimi: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ ÖNEMLİ /!\: Bir bot oluştururken, ETKİNLEŞTİRMENİZ GEREKİR "Message Content Intent", "Server Members Intent" ve "Presence Intent" botun çalışması için! Ayrıca dikkatlice takip edin, hiçbir adımı kaçırmayın! +Bot yaparken oluşturulan token kopyalayın ve buraya yapıştırın. "Token" alan (belirteçler önemlidir, onları güvende tutun). +Kopyala "Application ID" ve şu adrese gidin: https://bit.ly/2Spn2Q3 . +Kopyaladığınız kimliği yapıştırın ve kontrol edin. "Administrator" izinler alanında, ardından alttaki bağlantıya tıklayın. +Bu, sunucularınızla bir davet menüsü açacak, botu davet etmek istediğiniz sunucuyu seçecek ve onu davet edecektir. +Botu davet ettikten sonra Discord istemcinize gidin ve Kullanıcı Ayarlar -> Gelişmiş ve "Geliştirici Modu". +Ayarlardan çıkın ve sunucu listesinde botu davet ettiğiniz bir sunucuya sağ tıklayın, ardından "IDyi kopyala", ve kimliği buraya yapıştırın "GuildId". +Ardından botla etkileşim kurmak istediğiniz kanala sağ tıklayın ve tekrar sağ tıklayın -> "IDyi kopyalayın", kopyalanan kimliği buraya yapıştırın "ChannelId". +Ve son olarak kanala mesaj atın, nickinize sağ tıklayın ve tekrar sağ tıklayın -> "IDyi kopyalayın", sonra kimliği buraya yapıştırın "OwnersIds". +Nasıl kullanılır: +Bir MCC komutunu yürütmek için, diyelim prefix nokta "." ile örnek: ".move 143 64 735" . +Bir mesaj göndermek için, sadece yazın ve enter tuşuna basın. + + + Botu kullanarak MCC ile etkileşim kurmak istediğiniz kanalın kimliği. + + + Mesaj biçimleri +{ ve } ile sarılmış kelimeler kod yürütme sırasında değiştirilecektir, onları değiştirmeyin! +Örneğin. {message} gerçek bir mesajla değiştirilecek, {username} bir kullanıcı adıyla, {timestamp} geçerli saatle değiştirilecek. +Discord mesaj biçimlendirme için şunları kontrol edin: https://bit.ly/3F8CUCm + + + Botu davet ettiğiniz server/guild kimliği. + + + Görev iptal edilmeden önce discorda mesaj gönderilemiyorsa (en az 1 saniye) ne kadar bekleneceği (saniye cinsinden). + + + Botu kullanarak MCC ile etkileşime geçmek istediğiniz kişilerin kimliklerinin bir listesi. + + + Discord Botun tokeni + + + Farmları sizin için otomatik olarak toplar (bitkiler, kırar ve onları kemik tozuyla büyütür). +Mevcut farm türleri: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Kullanım: "/farmer start" veya "/farmer stop". +NOT: Bu yeni eklenen bir bot, mükemmel değil ve sadece 1.19.2de test edildi, bazen havuç/patates yiyememek gibi bazı küçük sorunlar var. +veya bot çiftlik arazisine atlar ve onu kırar (bu nadiren olur ama yine de olur). Bunu geliştirmek için sabırsızlanıyoruz. +Botun atlamasını önlemek için çiftçilik alanının duvarlarla çevrili ve düz tutulması tavsiye edilir. +Ayrıca, bir blok yüksekliğinde bir tarım araziniz varsa, onu 2 veya daha fazla blok yüksekliğinde yapın, böylece bot düşmez, çünkü bazen bot yeniden bağlandığında olabilir. +Bot ayrıca yan tarafa uçarlarsa tüm eşyaları almaz, gelecekte bu seçeneğin yanı sıra bırakma ve kemik tozunu doldurma sandıklarını da uygulamak için bir planımız var. + + + Saniye cinsinden görevler arasındaki gecikme (Minimum 1 saniye) + + + Botun sizi takip etmesini sağladı +NOT: Bu deneysel bir özelliktir, bot zaman zaman yavaş olabilir, size ayak uydurabilmesi için normal hızda yürümeniz ve bazen durmanız gerekir. +Elinizde yiyecek tutarken hayvanların sizi takip etmesine benzer. +Bunun nedeni yavaş bir yol bulma algoritmasıdır, daha iyisini elde etmek için çalışıyoruz +Güncelleme limitini değiştirebilir ve sizin için en iyi olanı bulabilirsiniz. (NOT: Çok düşük bir tane yapmayın, çünkü tam tersini başarabilirsiniz, +bu, arazi kullanımı için ipliği tıkayabilir) ve böylece botu daha da yavaşlatabilir. +/!\ Bu botu kullanmadan önce sunucu kurallarının sunucu kurallarında böyle bir seçeneğe izin verdiğinden emin olun. + + + 3 blok aralığındaysa oyuncuyu takip etmeyin (botun bir oyuncuyu sonsuz bir döngüde itmesini engeller) + + + Botun hesaplama yapma hızı (saniye cinsinden) (Botun çok yavaş olduğunu düşünüyorsanız bunu değiştirebilirsiniz) + + + Sohbet etkileşimlerini göstermek için küçük bir oyun. Oyuncular gizemli kelimeleri her seferinde bir harf tahmin edebilir. +Oyuna /tell <bot username> start ile başlamak için ChatFormatın düzgün çalışmasına ve kendinizi bot sahiplerine eklemeniz gerekir. +/!\ Birçok oyuncu onunla etkileşime giriyorsa, bu bot biraz spam olabilir + + + Bir posta eklentisi gibi oyuncular ve sunucular arasında iletileri iletin +Bu bot, alıcılar çevrimdışıyken mesajları saklayabilir ve sunucuya katıldıklarında gönderebilir. +/!\ Sunucu yöneticileri, PMleri (/tellraw, /nick) taklit edebilir, bu nedenle bu botu yalnızca sunucu yöneticilerine güveniyorsanız etkinleştirin + + + Haritaları konsolda ve resimlere dönüştürmenize izin verir (daha sonra Discord Bridge Chat Bot kullanılarak Discorda gönderilebilir) +Bu, harita kullanan captchaları çözmek için kullanışlıdır +Save_To_File etkinleştirilmişse haritalar Rendered_Maps klasörüne işlenir. +NOT: +Bazı sunucuların captchaları çözmek için çok kısa bir zamanı varsa, bunları hemen konsolda görmek için Auto_Render_On_Update özelliğini etkinleştirin. +/!\ Sunucu kurallarının, botların sunucuda kullanılmasına izin verdiğinden emin olun, aksi takdirde cezalandırılma riskiniz vardır. + + + Sunucudan/sunucu tarafından alındığında veya güncellendiğinde haritayı otomatik olarak oluştur + + + Kaldırma/yeniden yükleme sırasında veya MCCyi yeniden başlattığınızda oluşturulan tüm haritaları silin. + + + Sunucudan ilk kez bir harita aldığınızda bildirim alın + + + Oluşturulan bir görüntüyü yeniden boyutlandırın; bu, oluşturulan görüntüler küçük olduğunda ve Discorda gönderildiğinde kullanışlıdır. + + + Haritanın konsolda oluşturulup oluşturulmayacağı. + + + Oluşturulan görüntünün piksel cinsinden yeniden boyutlandırılması gereken boyut (ör. 512). + + + Oluşturulan haritanın dosya olarak saklanıp saklanmayacağı (Discord Bridgei kullanarak Discordda bir harita almak istiyorsanız bu ayara ihtiyacınız vardır). + + + Discord veya Telegram Bride sohbet botu aracılığıyla bir Discord veya Telegram kanalına işlenmiş bir harita (bir dosyaya kaydedilmiş) gönderin (Discord/Telegram Bridge sohbet botu etkinleştirilmeli ve yapılandırılmalıdır!) +Bunun çalışması için Save_To_File özelliğini etkinleştirmeniz gerekir. +Ayrıca yeniden boyutlandırmayı açmanızı öneririz. + + + Oyuncuların listesini periyodik olarak bir metin dosyasına kaydedin. + + + (Saniyeler cinsinden) + + + Sunucu PMleri (/tell) aracılığıyla botunuza MCC konsol komutları gönderin +Botu kullanmak için ChatFormatın düzgün çalışması ve kendinizi bot sahiplerine eklemeniz gerekir. +/!\ Sunucu yöneticileri, PMleri (/tellraw, /nick) yanıltabilir, bu nedenle RemoteControlü yalnızca sunucu yöneticilerine güveniyorsanız etkinleştirin + + + Oyunun kaydını etkinleştirin (/replay start) ve daha sonra Replay Modunu kullanarak tekrar oynatın (https://www.replaymod.com/) +Teknik sınırlamalar nedeniyle, istemci oynatıcının (sizin) tekrar dosyasında gösterilmeyeceğini lütfen unutmayın. +/!\ /replay stop kullanmalı veya /quit ile programdan zarif bir şekilde çıkmalısınız YA DA REPLAY DOSYASI BOZULABİLİR! + + + Tekrar oynatılan dosyanın saniye cinsinden ne kadar süreyle otomatik olarak kaydedilmesi gerekir. Devre dışı bırakmak için -1i kullanın. + + + Sunucuya katılma, tarih/saat veya zaman aralığı gibi çeşitli olaylarda başlatılacak komutları ve komut dosyalarını zamanlayın +Daha fazla bilgi için https://mccteam.github.io/guide/chat-bots.html#script-scheduler adresine bakın + + + Bu bot, bir Telegram Bot DM aracılığıyla mesaj ve komut gönderip almanıza veya bir Telegram kanalında mesaj almanıza olanak tanır. +/!\ NOT: Bir grup kanalından mesaj ve komut gönderemezsiniz, sadece bot DMde gönderebilirsiniz, ancak bir grup kanalında istemciden gelen mesajları alabilirsiniz. +----------------------------------------------------------- +Kurulum: +Öncelikle bir Telegram botu oluşturmanız ve bir API anahtarı almanız gerekiyor, bunun için Telegrama gidin ve @botfatherı bulun. +"Start" düğmesine tıklayın ve bot yanıtını okuyun, ardından "/newbot" yazın, Botfather size bot oluşturma boyunca rehberlik edecektir. +Botu oluşturduktan sonra, aldığınız API anahtarını kopyalayın ve "ChatBot.TelegramBridge" bölümünün (bu bölüm) "Token" alanına koyun. +/!\ Bu tokeni başkalarıyla paylaşmayın, çünkü bu onlara botunuz üzerinde kontrol sağlar. Güvenli bir şekilde kaydedin. +Ardından istemciyi başlatın ve Telegrama gidin, yeni oluşturduğunuz botu kullanıcı adıyla arayarak bulun ve onunla bir DM açın. +"Başlat" düğmesine tıklayın ve sohbet kimliğini almak için aşağıdaki komutu ".chatid" yazıp gönderin. +Sohbet kimlik numarasını (örn. 2627844670) kopyalayın ve "ChannelId" alanına yapıştırın ve "Authorized_Chat_Ids" alanına ekleyin (bu bölümde) ("Authorized_Chat_Ids" alanındaki bir kimlik bir sayıdır/uzundur, dize değil !), ardından dosyayı kaydedin. +Artık botu DMyi kullanarak kullanabilirsiniz. +/!\ "Authorized_Chat_Ids" alanına bot ile sohbet DMnizin kimliğini eklemezseniz, arama yoluyla botunuzu bulan herkes komutları çalıştırabilir ve mesaj gönderebilir! +/!\ "Authorized_Chat_Ids" bir dize değil, bir sayı/uzunluk olmalıdır! +----------------------------------------------------------- +NOT: Bunun yerine bir grup kanalına mesaj almak istiyorsanız, kanalı geçici olarak herkese açık yapın, botu ona davet edin ve yönetici yapın, ardından isterseniz kanalı özel olarak ayarlayın. +Ardından "ChannelId" alanını kanalınızın @ olarak ayarlayın (ayarlara @ eklemelisiniz, örn. "@mysupersecretchannel"), kanalın davet bağlantısında görebileceğiniz kullanıcı adı budur. +/!\ Yalnızca @ öneki ile kullanıcı adını ekleyin, bağlantının geri kalanını dahil etmeyin. Örnek "https://t.me/mysupersecretchannel" varsa, "ChannelId" "@mysupersecretchannel" olacaktır. +/!\ Bir grup kanalından müşteriye mesaj gönderemeyeceğinizi unutmayın! +----------------------------------------------------------- +Bot nasıl kullanılır: +Bir MCC komutunu çalıştırmak için önüne nokta "." ekleyin, örnek: ".move 143 64 735" . +Bir mesaj göndermek için, sadece yazın ve enter tuşuna basın. + + + Mesaj göndermesine ve komut yürütmesine izin verilen Sohbet Kimliklerinin listesi. Bot ile sohbet DMnizin kimliğini almak için Telegramda ".chatid" bot komutunu kullanın. + + + Botu kullanarak MCC ile etkileşim kurmak istediğiniz kanalın kimliği. + + + Mesaj biçimleri +{ ve } ile sarılmış kelimeler kod yürütme sırasında değiştirilecektir, onları değiştirmeyin! +Örneğin. {message} gerçek bir mesajla değiştirilecek, {username} bir kullanıcı adıyla, {timestamp} geçerli saatle değiştirilecek. +Telegram mesaj biçimlendirmesi için aşağıdakileri kontrol edin: https://sendpulse.com/blog/telegram-text-formatting + + + Görev iptal edilmeden önce Telegrama bir mesaj gönderilemiyorsa (en az 1 saniye) ne kadar bekleneceği (saniye cinsinden). + + + Telegram Bot tokeni. + + + MCC, sohbet mesajlarını algılamak için elinden gelenin en iyisini yapar, ancak bazı sunucuların alışılmadık sohbet biçimleri vardır +Bu olduğunda, aşağıda sohbet biçimini yapılandırmanız gerekir, bkz. https://mccteam.github.io/guide/configuration.html#chat-format + + + Ortak mesaj biçimleri için MCC desteği. Özel biçimlerle çakışmaları önlemek için "yanlış" olarak ayarlayın. + + + Algılama için aşağıdaki özel normal ifadelerin kullanılıp kullanılmayacağı. + + + Başlangıç Yapılandırma Dosyası +MCC tarafından üzerine yazılacağı için lütfen bu dosyaya fazladan veri kaydetmeyin. + +Minecraft Konsol İstemcisinde yeni misiniz? Bu belgeye göz atın: https://mccteam.github.io/guide/configuration.html +Daha yeni bir sürüme yükseltmek mi istiyorsunuz? https://github.com/MCCTeam/Minecraft-Console-Client/#download adresine bakın + + + Ayarlar {0} adresinden yüklendi + + + §cAyarlar yüklenemedi:§r + + + Bu ayar yalnızca konsoldaki mesajları etkiler. + + + Sohbet mesajını filtrelemek için normal ifade. + + + Sunucu sohbet mesajlarını göster. + + + Hata ayıklama mesajını filtrelemek için normal ifade. + + + Lütfen hata raporları göndermeden önce bunu etkinleştirin. Teşekkürler! + + + Hata mesajlarını göster. + + + "disable" veya "blacklist" VEYA "whitelist". Kara liste, mesajla eşleşen normal ifadeyi gizle. Beyaz liste, mesajla eşleşen normal ifadeyi gösterir. + + + Bilgilendirici mesajlar. (yani, MCCden gelen iletilerin çoğu) + + + Günlük dosyası adı. + + + Dosyaya günlük mesajları yazın. + + + Günlük dosyasındaki iletilerin başına zaman damgası ekleyin. + + + Kaydedilen metinde renk kodlarını saklayın. ("§b" gibi görünün) + + + Uyarı mesajlarını göster. + + + Herhangi bir şeyi değiştirmeden önce her ayarın ne yaptığını anladığınızdan emin olun! + + + AccountList: Kimlik bilgilerini doğrudan kullanmadan hızlı bir hesap geçişine izin verir +Kullanım örnekleri:"/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + İstemci oyuncu öldüyse otomatik yeniden doğmayı açın (doğma noktanızın güvenli olduğundan emin olun). + + + Botun sahibini belirleyin. /!\ Sunucu yöneticileri, sahiplerin kimliğine bürünebilir! + + + "mcc", "vanilla" veya "none" kullanın. MCC, kendisini sunucuya bu şekilde tanımlar. + + + Hiçbir günlük dosyası için boş bırakın. + + + Kapatılırsa, emoji daha basit bir karakterle değiştirilir (/chunk status için). + + + Entity handling aç/kkapat. + + + Etkileşimli olmayan komut dosyalarında MCC kullanmak için bir hata oluştuğunda doğrudan çıkış yapılıp yapılmayacağı. + + + Use "none", "slash"(/) or "backslash"(\). + + + Inventory handling aç/kapat. + + + Oyun içi yerel ayar kodunu girin, https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 adresini kontrol edin + + + Dil kodu geçersiz! + + + "auto", "no" veya "force" kullanın. Zorla etkinleştirme yalnızca MC 1.13+ için çalışır. + + + "auto" veya "1.X.X" değerlerini kullanın. Sunucu bilgisi alımını atlamanıza izin verir. + + + Her mesajın sunucuya gönderilmesi arasındaki minimum aralığı (saniye cinsinden) kontrol eder. + + + Minecraft Realms dünyalarına katılmak için desteği etkinleştirin. + + + Terminalin yüksekliğinden görüntü boyutunu hesaplarken kullanılacak minimum yükseklik. + + + Terminalin genişliğinden görüntü boyutunu hesaplarken kullanılan minimum genişlik. + + + Hile önleme tetikleyicilerinden kaçınmak için yürürken kafa hareketini etkinleştirin. + + + 2den yüksek bir hareket hızı hile olarak kabul edilebilir. + + + Yalnızca eski konsollu Windows XP-8 veya Windows 10da çalışır. + + + Botun uzaktan kontrolü için. + + + Profil anahtarı nasıl korunur. "none", "memory" veya "disk" kullanın. + + + "no", "fast" (5s zaman aşımı) veya "yes" kullanın. Bazı sunuculara katılmak için gereklidir. + + + Düşük kaliteli cihazlarda daha hızlı yükleme için derlenmiş komut dosyalarını önbelleğe alın. + + + ServerList: Tam sunucu IPsi yerine kısa takma adlarla daha kolay ve daha hızlı sunucu geçişi sağlar +Takma adlar nokta veya boşluk içeremez ve "localhost" adı takma ad olarak kullanılamaz. +Kullanım örnekleri: "/tell <mybot> connect Server1", "/connect Server2" + + + Oturum belirteçleri nasıl tutulur. "none", "memory" veya "disk" kullanın. + + + Sohbet mesajlarına gömülü bağlantıların kodunu çözün ve bunları konsolda gösterin. + + + Envanter komutunda envanter düzenini ASCII resmi olarak göster. + + + Sunucu operasyonları için sistem mesajları. + + + xp çubuğunun üzerinde görüntülenen mesajlar, xp çubuğu spam olması durumunda bunu false olarak ayarlayın. + + + "none", "bit_4", "bit_8" veya "bit_24" kullanın. Bu, hata ayıklama günlüğü açılarak kontrol edilebilir. + + + Terrain and Movements Daha fazla ram, cpu, bant genişliği kullanır ancak hareket etmenizi sağlar. + + + Sunucu ile TCP bağlantı zaman aşımını özelleştirin. (saniyeler içinde) + + + Sohbet mesajlarına zaman damgaları ekleyin. + + + Login=E-posta veya Ad. Çevrimdışı mod için şifre olarak "-" kullanın. Başlangıçta kullanıcıya soru sormak için boş bırakın. + + + Oyun sunucusunun adresi "Host" alan adı veya IP adresi ile doldurulabilir. ("Port" alanı silinebilir, otomatik olarak çözülecektir) + + + Microsoft Account sign-in method: "mcc" VEYA "browser". Giriş her zaman başarısız olursa, lütfen "browser" bir kez kullanmayı deneyin. + + + Account type: "mojang" VEYA "microsoft". Konsolda etkileşimli oturum açmayı da etkiler. + + + Aşağıdaki ayarlar sunucuya gönderilir ve yalnızca dış görünümünüz gibi sunucu tarafı öğelerini etkiler. + + + Sunucu tarafında sohbet renklerinin devre dışı bırakılmasına izin verir. + + + "enabled", "commands" veya "disabled" kullanın. Kendinizi sessize almanıza izin verir... + + + MC 1.7- zorluk. "peaceful", "easy", "normal", "difficult". + + + Devre dışı bırakılırsa, aşağıdaki ayarlar sunucuya gönderilmez. + + + Minecraftta uygulanan herhangi bir dili kullanın. + + + MC 1.9+ ana kol. "left" veya "right". + + + Değer aralığı: [0 - 255]. + + + Doğrudan bağlanmak yerine bir sunucuya proxy aracılığıyla bağlanın +Ağınızda Mojang oturum hizmetleri engellenmişse, proxy kullanarak oturum açmak için Enabled_Login=true öğesini ayarlayın. +Minecraft oyun sunucusuna bağlantı güvenlik duvarı tarafından engelleniyorsa, oyun sunucusuna bağlanmak için bir proxy kullanmak için Enabled_Ingame=true ayarlayın. +/!\ Enabled=true ayarını yapmadan önce sunucu kurallarınızın Proxylere veya VPNlere izin verdiğinden emin olun, aksi takdirde sonuçlarla karşılaşabilirsiniz! + + + Oyun sunucusuna bir proxy aracılığıyla bağlanıp bağlanmayacağı. + + + Bir proxy aracılığıyla oturum açma sunucusuna bağlanılıp bağlanılmayacağı. + + + Yalnızca parola korumalı proxyler için gereklidir. + + + Desteklenen türler: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy sunucusu, oturum açmak için HTTPSye ve oynatma için 443 olmayan bağlantı noktalarına izin vermelidir. + + + Yalnızca parola korumalı proxyler için gereklidir. + + + §aGeçerli ayar {0} olarak kaydedilir + + + Sohbet imzasıyla ilgili ayarlar (minecraft 1.19+ı etkiler) + + + Yalnızca Microsoft hesapları. Devre dışı bırakılırsa, sohbeti imzalayamaz ve şunlarla yapılandırılmış sunuculara katılamaz: "enforce-secure-profile=true" + + + Meşru imza olmadan sohbeti işaretlemek için kırmızı renk bloğu kullanın + + + Sohbeti meşru imzalarla işaretlemek için yeşil renk bloğu kullanın + + + Sunucu tarafından değiştirilen sohbeti işaretlemek için sarı renk bloğu kullanın. + + + Sistem mesajını işaretlemek için gri renk bloğu kullanın (her zaman imzalamaz) + + + Yasal imzalar olmadan komutlarda sohbet ve mesajların gösterilip gösterilmeyeceği + + + Sunucu tarafından değiştirilen mesajları görüntülemek için true, orijinal imzalı mesajları görüntülemek için false olarak ayarlayın + + + MCCden gönderilen sohbetin imzalanıp imzalanmaması + + + MCC tarafından gönderilen komutlarda yer alan mesajların imzalanıp imzalanmayacağını belirtir. Örneğin, "/msg" ve "/me" içindeki mesaj + + + §c{0} ayar dosyasına yazılamadı§r + + + Renk testi: Terminaliniz {0} görüntülemelidir + + + §8Kripto anahtarları ve hash oluşturuldu. + + + §8Diskten profil anahtarı yüklenemedi + + + §8Profil anahtarları diskten başarıyla yüklendi. + + + §8{0} için istek gerçekleştiriliyor + + + §8Diskten hiçbir oturum yüklenemedi + + + §8Oturum verileri diskten başarıyla yüklendi. + + + Başarılı. (Oturum ID: {0}) + + + Alt slot + + + Büyüler mevcut + + + Seviyeler + + + Orta slot + + + Üst slot + + + §8Kimlik doğrulama yenilenirken sunucudan hata kodu alındı: {0} + + + Bu IPye bağlanılamadı. + + + §8Bu IPye bağlanmaya çalışılırken bir zaman aşımı oluştu. + + + Sunucu sürümü belirlenemedi. + + + §8Forge Giriş El Sıkışma başarıyla tamamlanmadı + + + §8Forge StartEncryption El Sıkışma başarıyla tamamlanmadı + + + Bu Minecraft sürümü için Forge desteği zorlanamaz! + + + Jeneratör komutunun geçersiz kullanımı! + + + Sağlanan yol, .json biçiminde bir dosyanın yolu olmalıdır! + + + Geçersiz veri yolu sağlandı! (Yol yok ya da yazım hatası yaptınız) + + + §8Sunucudan hata kodu alındı: {0} + + + §8StartEncryption paketine geçersiz yanıt + + + §8El Sıkışma paketine geçersiz yanıt + + + Bu özelliğin çalışması için Inventory Handling in etkinleştirilmesi gerekir! + + + Bu sunucuya katılmaya çalışırken bir hata oluştu. + + + Login failed : + + + Yanlış kullanıcı adı/şifre, kara listeye alınmış IP veya çok fazla oturum açma. + + + Kullanıcı iptal edildi. + + + Hesap değişti, kullanıcı adı olarak mail adresi kullan. + + + Network hata. + + + Kullanıcı premium değil. + + + Geçersiz sunucu yanıtı. + + + Giriş sunucuları kullanılamıyor. Lütfen daha sonra tekrar deneyiniz. + + + SSL hata. + + + Bilinmeyen hata. + + + Bu sunucuda oturum açılamadı. + + + {0} bağımsız değişkenini kaçırıyorsunuz + + + §8Sunucu protokol sürümünü bildirmiyor, otomatik algılama çalışmayacak. + + + Bu IPye ping atılamadı. + + + Bu Realms dünyası mevcut değil veya erişim reddedildi + + + Bir Realms dünyasına katılmaya çalışıyorum ancak Realms desteği yapılandırmada devre dışı bırakıldı + + + Realms dünyanızın sunucu IPsi alınamıyor + + + Geçersiz veya bilinmeyen Realms sunucu kimliği. + + + Realms sunucusunun başlatılması biraz zaman alabilir. Lütfen daha sonra tekrar deneyin. + + + {0}: Geçersiz sözdizimi, bekleniyor --argname=value veya --section.argname=value + + + Bu özelliğin çalışması için Terrain and Movements etkinleştirilmesi gerekir! + + + Bağlantı zamanaşımı + + + §8Sunucudan beklenmeyen yanıt (bu bir Minecraft sunucusu mu?) + + + Sunucuya bağlanılamıyor: Bu sürüm desteklenmiyor! + + + Kullanım: + + + §8Sunucu, manuel olarak ayarlanandan farklı bir sürüm bildiriyor. Giriş çalışmayabilir. + + + API işleyicisi henüz başlatılmadığından, yapıcıda ChatBot yöntemleri çağrılmamalıdır. Başlatma görevlerini gerçekleştirmek için Initialize() veya AfterGameJoined() öğelerini geçersiz kılın. + + + Sağlanan komut dosyası geçerli bir MCCScript başlığına sahip değil + + + {0} türünden gelen paket başarısız oldu. (PacketID: {1}, Protokol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Lütfen bu Minecraft sürümü için blok türleri işlemeyi güncelleyin. Material.cs e bakın + + + Lütfen bu Minecraft sürümü için varlık türlerini işlemeyi güncelleyin. EntityType.cs e bakın + + + Lütfen bu Minecraft sürümü için öğe türlerini işlemeyi güncelleyin. ItemType.cs e bakın + + + Lütfen bu Minecraft sürümü için paket türü paletini güncelleyin. PacketTypePalette.cs e bakın + + + Bilinmeyen yön + + + Kullanıcı tarafından başlatılan çıkış, Disconnect() çağrılarak yapılmalıdır. + + + {0} numaralı protokol sürümü desteklenmiyor. + + + §cVarlıklar şu anda bu MC sürümü için kullanılmamakta. + + + Lütfen önce yapılandırma dosyasında EntityHandling i etkinleştirin. + + + Envanter # {0} kapatıldı. + + + §cEnvanterler şu anda bu MC sürümü için kullanılmamakta. + + + Envanter işleme artık etkinleştirildi. + + + Onunla etkileşim kurmak için /inventory kullanın. + + + Envanter # {0} açıldı: {1} + + + Lütfen önce yapılandırma dosyasında InventoryHandling i etkinleştirin. + + + §cArazi ve Hareketler şu anda bu MC sürümü için kullanılmamakta. + + + Arazi ve Hareketler artık aktif. + + + Lütfen önce yapılandırma dosyasında Arazi ve Hareketleri etkinleştirin. + + + §8[{0}] FileSystemWatcher başlatılamadı, Polling kullanılarak yeniden denendi + + + §8[{0}] Dosya için FileSystemWatcher başlatılıyor: {1} + + + §8Sunucu mod listesi kabul ediliyor... + + + §8Sunucu kayıtları kabul ediliyor... + + + Sahte sunucu bağlantısı tamamlandı! + + + §8FML2 Sunucu Yapılandırması Onaylanıyor: {0} + + + §8Alınan FML2 Sunucu Mod Listesi + + + §8FML2 İstemci Mod Listesini Geri Gönderme + + + §8FML2 Sunucu Kaydının Onaylanması: {0} + + + §8Bilinmeyen FML2 Handshake mesajı var no. {0} + + + §8Bilinmeyen FML2 LoginMessage kanalı yoksayılıyor: {0} + + + §8Mod listesi: + + + §8Sunucu, Forge u modsuz çalıştırıyor. + + + §8{0} girişli kayıt alındı + + + §8{1} girişli {0} kayıt defteri alındı + + + §8Sahte mod listesi sunucuya gönderiliyor... + + + §8Forge protokolü sürümü: {0} + + + §8Sunucu, Forge u {0} mod ile çalıştırıyor. + + + Kullanılabilir komutlar: {0} + + + Bu bot kaldırılacak. + + + Tamamlandı + + + Başarısız + + + OnInternalCommand: {0} kaynağından hata alındı: {1} + + + help <cmdname>: bir komut hakkında kısa yardım göster. + + + help <cmdname>. Kullanılabilir komutlar: {0}. Sunucu yardımı için bunun yerine '{1}/help' kullanın. + + + Bilinmeyen komut '{0}'. Komut listesi için 'help' kullanın. + + + {0} Bağlanılıyor... + + + Giriş başarısız : + + + Bağlantı kesildi. + + + Sunucuyla bağlantı koptu : + + + Herhangi bir sunucuya bağlı değil. Yardım için '{0}help' kullanın. + + + Microsofttan profil anahtarı alınıyor. + + + Sunucunun Forge ile çalışıp çalışmadığı kontrol ediliyor... + + + Forge desteğini zorla etkinleştirme. + + + §8{2} domaini için {0}:{1} sunucusu bulundu + + + Yeni yapılandırma dosyası "{0}" oluşturuldu. + + + Veri kümesi kullanılarak {0} paleti başarıyla oluşturuldu: {1} + + + Veri kümesini kullanarak {0} paleti oluşturuluyor: {1} + + + §8Başarılı handshake. (Sunucu ID: {0}) + + + §eMCCnin yeni sürümü mevcut: {0} + + + MCCyi çevirmemize yardımcı olun: {0} + + + Ayarlar dosyası ayrıştırılamadı, yeni bir yapılandırma oluşturmak için "{0}new" girin. + + + Server IP : + + + Sunucu başarıyla bağlandı. +Sunucudan çıkmak için '{0}quit' yazın. + + + Link: {0} + + + Login : + + + Lütfen tercih ettiğiniz kullanıcı adını veya e-posta adresini yazın. + + + §8{0} için SRV araması gerçekleştirilemedi +{1}: {2} + + + §8Çevrimdışı modda giriş yaptınız. + + + Password : + + + Lütfen {0} için şifreyi yazın. + + + Password : {0} + + + Ölüsün. Yeniden doğmak için '{0}respawn' yazın. + + + Ölüsün. 1 saniye sonra otomatik olarak yeniden doğacaksın. + + + Veya Minecraft Console Clientten çıkmak için Enter tuşuna basın. + + + §8Önbelleğe alınmış profil anahtarının yenilenmesi gerekiyor. + + + §8Önbelleğe alınmış profil anahtarı, {0} için hala geçerlidir. + + + Aşağıdaki Realms dünyalarına erişiminiz var + + + Realms dünyasına katılmak için realms:<index> sunucu IPsini kullanın + + + 5 saniye bekleniyor ({0} deneme kaldı)... + + + {0} çözümleniyor... + + + Minecraft Console Client Yeniden Başlatılıyor... + + + Yeniden başlatmadan önce {0} saniye bekleniyor... + + + Sunucu Bilgileri Alınıyor... + + + +MCC varsayılan ayarlarla çalışıyor. + + + §8Sunucu çevrimdışı modda. + + + §8Sunucu sürümü : {0} (protokol v{1}) + + + Server version : + + + Oturum kontrol ediliyor... + + + Oturum kontrol edilemedi. + + + §8Önbelleğe alınmış oturum geçersiz veya süresi dolmuş. + + + §8Önbelleğe alınmış oturum, {0} için hala geçerlidir. + + + §cAyarlar dosyası MinecraftClient.ini oluşturuldu. + + + §7Komut §8 {0} §7 gönderildi. + + + §8Bilinmeyen veya desteklenmeyen MC sürümü {0}. +Otomatik algılama moduna geçiş. + + + §8Minecraft {0} sürümü kullanılıyor (protokol v{1}) + + + Sürüm destekleniyor. +Giriş yapılıyor... + + + , Forgeu ile + + + §8{0}:{1} adresine bağlanılıyor + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.uk.resx b/MinecraftClient/Resources/Translations/Translations.uk.resx new file mode 100644 index 00000000..9d2914bf --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.uk.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List available recipes. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again. + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Retract the fishing rod. (Count: {0}) + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + Current fishing rod is not available. Maybe broken or low durability? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Casting successfully. + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change slot in hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + Attempt to break a block + + + Attempting to dig block at {0} {1} {2} ({3}) + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at yaw: {0} pitch: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking from {1} to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You are not sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Your terminal should display {0} + + + §8Crypto keys & hash generated. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Performing request to {0} + + + §8No sessions could be loaded from disk + + + §8Session data has been successfully loaded from disk. + + + Success. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Failed to determine server version. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Cannot force Forge support for this Minecraft version! + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + An error occured when attempting to join this server. + + + Login failed : + + + Incorrect username/password, blacklisted IP or too many logins. + + + User cancelled. + + + Account migrated, use e-mail as username. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Login servers are unavailable. Please try again later. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Failed to ping this IP. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Cannot connect to the server : This version is not supported ! + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Connecting to {0}... + + + Login failed : + + + Connection has been lost. + + + Disconnected by Server : + + + Not connected to any server. Use '{0}help' for help. + + + Fetching profile key from Microsoft. + + + Checking if server is running Forge... + + + Force-enabling Forge support. + + + §8Found server {0}:{1} for domain {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Handshake successful. (Server ID: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Server IP : + + + Server was successfully joined. +Type '{0}quit' to leave the server. + + + Link: {0} + + + Login : + + + Please type the username or email of your choice. + + + §8Failed to perform SRV lookup for {0} +{1}: {2} + + + §8You chose to run in offline mode. + + + Password: + + + Please type the password for {0}. + + + Password(invisible): {0} + + + You are dead. Type '{0}respawn' to respawn. + + + You are dead. Automatically respawning after 1 second. + + + Or press Enter to exit Minecraft Console Client. + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + You have access to the following Realms worlds + + + Use realms:<index> as server IP to join a Realms world + + + Waiting 5 seconds ({0} attempts left)... + + + Resolving {0}... + + + Restarting Minecraft Console Client... + + + Waiting {0} seconds before restarting... + + + Retrieving Server Info... + + + +MCC is running with default settings. + + + §8Server is in offline mode. + + + §8Server version : {0} (protocol v{1}) + + + Server version : + + + Checking Session... + + + Failed to check session. + + + §8Cached session is invalid or expired. + + + §8Cached session is still valid for {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Command §8 {0} §7 sent. + + + §8Unknown or not supported MC version {0}. +Switching to autodetection mode. + + + §8Using Minecraft version {0} (protocol v{1}) + + + Version is supported. +Logging in... + + + , with Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.vi.resx b/MinecraftClient/Resources/Translations/Translations.vi.resx new file mode 100644 index 00000000..ad47ff03 --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.vi.resx @@ -0,0 +1,2672 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §cWeather change: It is no longer raining.§r + + + §cWeather change: It is no longer a thunderstorm.§r + + + §cWeather change: It is raining now.§r + + + §cWeather change: It is a thunderstorm.§r + + + Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! + + + The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. + + + The time range begins with a bigger value, swapped them around. + + + Attack cooldown value cannot be smaller than 0. Using auto as default + + + Crafting aborted! Check your available materials. + + + Auto-crafting ChatBot command alias + + + Available commands: {0}. Use /autocraft help <cmd name> for more information. You may use /ac as command alias. + + + Inventory #{0} was closed by AutoCraft + + + Auto-crafting ChatBot command + + + Total {0} recipes loaded: {1} + + + Resetting your config to default + + + Crafting failed! Waiting for more materials + + + No config found. Writing a new one. + + + Error while parsing config: {0} + + + Duplicate recipe name specified: {0} + + + Missing recipe name while parsing a recipe + + + Get the command description. Usage: /autocraft help <command name> + + + List loaded recipes name. + + + Load the config file. + + + Reload the config file. + + + Write the default example config to default location. + + + Start the crafting. Usage: /autocraft start <recipe name> + + + Stop the current running crafting process + + + Invalid result item! + + + The number of slots does not match and has been adjusted automatically. + + + Successfully loaded + + + Missing material: {0} + + + Please specify the recipe name you want to craft. + + + Specified recipe name does not exist. Check your config file. + + + Starting AutoCraft: {0} + + + AutoCraft cannot be started. Check your available materials for crafting {0} + + + AutoCraft stopped + + + table not found + + + Action timeout! Reason: {0} + + + Available commands: {0}. Use /digbot help <cmd name> for more information. + + + Auto-digging ChatBot command + + + Digging block timeout, retry. + + + Get the command description. Usage: /digbot help <command name> + + + Start the automatic digging bot. + + + Deactivate the automatic digging bot. + + + The block currently pointed to is not in the allowed list. + + + Automatic digging has started. + + + Digging will start in {0:0.0} second(s). + + + Auto-digging has been stopped. + + + Added item {0} + + + AutoDrop ChatBot command alias + + + AutoDrop ChatBot command + + + Incorrect item name {0}. Please try again + + + Total {0} in the list: + {1} + + + Cannot find inventory {0}! + + + No item in the list + + + Cannot read drop mode from config. Using include mode. + + + Item not in the list + + + AutoDrop disabled + + + AutoDrop enabled + + + Removed item {0} + + + Switched to {0} mode. + + + Unknwon mode. Available modes: Include, Exclude, Everything + + + Available commands: {0}. Use /fish help <cmd name> for more information. + + + Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). + + + Caught a fish! + + + Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) + + + Auto-Fishing ChatBot command + + + Fish floating despawn, will re-cast. + + + Fishing timeout, will soon re-cast. + + + Fishing got {0} + + + Get the command description. Usage: /fish help <command name> + + + Start auto-fishing. + + + List all obtained items. Or use "/fish status clear" to clear the list. + + + Stop auto-fishing. + + + Inventory handling is not enabled. Cannot check rod durability and switch rods. + + + No Fishing Rod on hand. Maybe broken? + + + Start auto-fishing. + + + Fishing will start in {0:0.0} second(s). + + + The record of the obtained items has been cleared. + + + All items obtained from fishing (not entirely accurate): + + + Stop auto-fishing. + + + Switch to the rod in slot {0}, durability {1}/64. + + + Threw a fishing rod + + + Update yaw = {0:0.00}, pitch = {1:0.00}. + + + Current directory was: {0} + + + Got disconnected with message: {0} + + + Disconnection initiated by User or MCC bot. Ignoring. + + + Launching with {0} reconnection attempts + + + Loaded message: {0} + + + Loading messages from file: {0} + + + Initializing without a kick message file + + + File not found: {0} + + + Message contains '{0}'. Reconnecting. + + + Ignoring kick message, reconnecting anyway. + + + Message not containing any defined keywords. Ignoring. + + + Waiting {0:0.000} seconds before reconnecting... + + + File not found: '{0}' + + + Loaded match: +{0} + + + Loading matches from '{0}' + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + Running action: {0} + + + No action for match: +{0} + + + This match will never trigger: +{0} + + + Path '{0}' contains invalid characters. + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer command + + + --- Ignore list --- +{0} + + + --- Mails in database --- +{0} + + + See usage + + + Added {0} to the ignore list! + + + Missing or invalid name. Usage: {0} <username> + + + Removed {0} from the ignore list! + + + Creating new database file: {0} + + + Creating new ignore list: {0} + + + Delivered: {0} + + + Initializing Mailer with settings: + + +  - Database File: {0} + + +  - Max Database Size: {0} + + +  - Ignore List: {0} + + +  - Mail Retention: {0} + + +  - Max Mails per Player: {0} + + +  - Public Interactions: {0} + + + Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. + + + Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. + + + Loading database file: {0} + + + Loading ignore list: + + + Looking for mails to send @ {0} + + + Saving message: {0} + + + {0} is ignored! + + + Render maps (item maps) + + + Invalid ID provided, must be a number! + + + A map with id '{0}' does not exists! + + + Failed to render the map with id: '{0}' + + + - Map id: {0} (Last Updated: {1}) + + + No maps received! + + + The list of received maps from the server: + + + Received a new Map, with Id: {0} + + + Succesfully rendered a map with id '{0}' to: '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay command + + + Replay file created. + + + Record was stopped. Restart the program to start another record. + + + Record stopped. + + + Script '{0}' failed to run ({1}). + + + File not found: '{0}' + + + §8[MCC] [{0}] Cannot find script file: {1} + + + Script '{0}' loaded. + + + Loaded task: +{0} + + + No action for task: +{0} + + + This task will never trigger: +{0} + + + Interval / Running action: {0} + + + Login / Running action: {0} + + + Time / Running action: {0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot: {0} said : {1} + + + Bot: {0} told me : {1} + + + Alerts + + + AntiAFK + + + AutoAttack + + + AutoCraft + + + AutoDig + + + AutoDrop + + + AutoEat + + + AutoFishing + + + AutoRelog + + + AutoRespond + + + ChatLog + + + DiscordBridge + + + Farmer + + + FollowPlayer + + + HangmanGame + + + Mailer + + + Map + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + Script + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8Converting session cache from disk: {0} + + + §8Ignoring invalid session token line: {0} + + + §8Ignoring invalid profile key token line: {0} + + + §8Ignoring session token string '{0}': {1} + + + §8Ignoring profile key token string '{0}': {1} + + + §8Loaded session: {0}:{1} + + + §8Loaded profile key, it will be refresh at {0} + + + §8Loading Minecraft profiles: {0} + + + §8Loading profile key cache from disk: {0} + + + §8Loading session cache from disk: {0} + + + §8Got malformed data while reading serialized session cache from disk: {0} + + + §8Failed to read serialized session cache from disk: {0} + + + §8Failed to read session cache from disk: {0} + + + §8Failed to read profile key cache from disk: {0} + + + §8Failed to write session cache to disk: {0} + + + §8Failed to write profile key cache to disk: {0} + + + §8Saving session cache to disk + + + §8Saving profile key cache to disk + + + §8Done. File saved as '{0}' + + + §8Downloading '{0}.lang' from Mojang servers... + + + §8Failed to download the file. + + + §8Defaulting to en_GB.lang from your Minecraft directory. + + + §8Translations file loaded. + + + Player {0}'s message chain is broken! + + + §8Translations file not found: '{0}' +Some messages won't be properly printed without this file. + + + §8Performing request to {0} + + + [{0}] Disconnecting and Reconnecting to the Server + + + Swing your arm. + + + Could not find a bed! + + + Can not reach the bed safely! + + + Used to sleep in or leave a bed. + + + Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! + + + Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). + + + Succesfully laid in bed! + + + Sending a command to leave a bed to the server. + + + Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. + + + The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! + + + Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) + + + Searching for a bed in radius of {0}... + + + Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + List bots, unload a bot or all bots. + + + Loaded bots + + + No bots loaded! + + + Bot {0} is not loaded, check if you have made a typo! + + + Successfully unloaded bot: {0} + + + Successfully unloaded all bots! + + + Changed to slot {0} + + + Change hotbar + + + Could not change slot + + + Could not change slot: Not a Number + + + chunk: ({0}, {1}). + + + Current location:{0}, chunk: ({1}, {2}). + + + Displays the chunk loading status. +Change EnableEmoji=false in the settings if the display is confusing. + + + §x§0This command is used for debugging, make sure you know what you are doing.§r + + + Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} + + + Marked location: + + + §x§0Since the marked chunk is outside the graph, it will not be displayed!§r + + + connect to the specified server. + + + Invalid server IP '{0}'. + + + Unknown account '{0}'. + + + toggle debug messages. + + + Debug messages are now OFF + + + Debug messages are now ON + + + attempt to break a block + + + Attempting to dig block at {0} {1} {2} + + + Failed to start digging block. + + + No block at this location (Air) + + + You are too far away from this block. + + + Drop specified type of items from player inventory or opened container + + + Dropped all {0} from inventory #{1} + + + Unknown item {0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + Entity attacked + + + Boots + + + Chestplate + + + Custom Name + + + Distance + + + Entities + + + Entity + + + Equipment + + + Health + + + Helmet + + + Item + + + Latency + + + Leggings + + + Location + + + Main Hand + + + Nickname + + + Entity not found + + + Off Hand + + + Pose + + + Type + + + Entity used + + + Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) + + + Error: {0} + + + An error has occured while executing the command: {0} + + + The condition '{0}' was met, executed command '{1}' with result '{2}'. + + + The condition '{0}' was met, executed command '{1}', no result was returned. + + + Execute multiple commands one after another + + + Executed the command '{0}' with {1} + + + no result! + + + result '{0}'! + + + disconnect from the server. + + + Already following {0}! + + + Already stopped + + + Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! + + + Makes the bot follow a specified player + + + Invalid or empty player name provided! + + + The specified player is either not connected out out of the range! + + + NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. + + + Pausing! + + + The player {0} came back to the range! + + + The player {0} left the server! + + + The player {0} has left the range! + + + Resuming to follow! + + + Started following {0}! + + + Stopped! + + + Stopped following! + + + Switched to following {0}! + + + Enabled us-safe walking (NOTE: The bot might die or get hurt!) + + + follow <player name|stop> [-f] (Use -f to enable un-safe walking) + + + Display Health and Food saturation. + + + Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} + + + {0} clicking slot {1} in window #{2} + + + Closing Inventoy #{0} + + + Failed to close Inventory #{0} + + + Cannot find container, please retry with explicit ID + + + Requested to clear slot #{0} + + + Requested {0} x{1} in slot #{2} + + + Failed to request Creative action + + + Damage + + + Inventory command + + + Dropped 1 item from slot #{0} + + + Dropped whole item stack from slot #{0} + + + Found items + + + Available actions + + + Basic usage + + + Click on an item. + + + Close an opened container. + + + Clear slot in creative mode. + + + Give item in creative mode. + + + Drop an item from inventory. + + + {0} +Use '/inventory help <action>' for action help. +'player' and 'container' can be simplified to 'p' and 'c'. +Note that parameters in '[]' are optional. + + + List avaliable inventories + + + List your inventory. + + + Search for an item in avaliable Inventories + + + Shift click an item. + + + Unknown action. + + + Usage + + + Your selected hotbar is {0} + + + Inventories + + + Available Inventories + + + Inventory + + + Left + + + Middle + + + You must be in Creative gamemode + + + Could not find the specified item in any of avaliable Inventories! + + + No item in slot #{0} + + + Inventory #{0} do not exist + + + Right + + + Shift clicking slot {0} in window #{1} + + + Shift click failed, this may be because this container type is not supported + + + get the player list. + + + PlayerList: {0} + + + log some text to the console. + + + Looking at YAW: {0} PITCH: {1} + + + Looking at {0} + + + look at direction or coordinates. + + + The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). + + + There is no block within {0} meters that intersects with the line of sight. + + + Unknown direction '{0}' + + + Chunk loading status: {0:P} - {1} out of {2} load completed. + + + The chunk where the target location resides has not yet been loaded. +You can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. + + + walk or start walking. + + + Cannot move in that direction. + + + Disabling Terrain and Movements. + + + Enabling Terrain and Movements on next server login, respawn or world change. + + + Failed to compute path to {0} + + + Gravity is disabled. + + + Gravity is enabled. + + + Moving {0} + + + Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. + + + Walking to {0} + + + restart and reconnect to the server. + + + Reloads MCC settings. + + + Reloaded Settings! + + + Reloading settings... + + + This command will NOT affect certain settings which are used before connecting to a server! + + + Some settings passed through the command line parameters might get overriden! + + + You also might need to reconnect for some settings to take effect. + + + Replay Chat Bot will not be hard reloaded due to technical limitations! + + + Use this to respawn if you are dead. + + + You have respawned. + + + run a script file. + + + send a chat message or command. + + + set a custom %variable%. + + + variable name must be A-Za-z0-9. + + + set a custom %variable% randomly to a given value. + + + setrnd variable -7to17 + + + setrnd variable string1 "\"string2\" string3" + + + Toggles sneaking + + + You aren't sneaking anymore + + + You are sneaking now + + + Current tps + + + Display server current tps (tick per second). May not be accurate + + + Place a block or open chest + + + Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. + + + Use (left click) an item on the hand + + + Used an item + + + can be used in some other fields as %yourvar% +%username% and %serverip% are reserved variables. + + + §cFailed to write to backup file {0}§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + Get alerted when specified words are detected in chat +Useful for moderating your server or detecting when someone is talking to you + + + Play a beep sound when a word is detected in addition to highlighting. + + + List of words/strings to NOT alert you on. + + + The name of a file where alers logs will be written. + + + Log alerts info a file. + + + List of words/strings to alert you on. + + + Trigger alerts when it rains and when it stops. + + + Triggers alerts at the beginning and end of thunderstorms. + + + Triggers an alert after receiving a specified keyword. + + + Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection +/!\ Make sure your server rules do not forbid anti-AFK mechanisms! +/!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) + + + Command to send to the server. + + + The time interval for execution. (in seconds) + + + Whether to sneak when sending the command. + + + Use terrain handling to enable the bot to move around. + + + The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) + + + How many times can the bot fail trying to move before using the command method. + + + Automatically attack hostile mobs around you +You need to enable Entity Handling to use this bot +/!\ Make sure server rules allow your planned use of AutoAttack +/!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! + + + Allow attacking hostile mobs. + + + Allow attacking passive mobs. + + + How long to wait between each attack. Set "Custom = false" to let MCC calculate it. + + + All entity types can be found here: https://bit.ly/3Rg68lp + + + Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). + + + Wether to treat the entities list as a "whitelist" or as a "blacklist". + + + "single" or "multi". single target one mob per attack. multi target all mobs in range per attack + + + "health" or "distance". Only needed when using single mode + + + Automatically craft items in your inventory +See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use +You need to enable Inventory Handling to use this bot +You should also enable Terrain and Movements if you need to use a crafting table + + + Location of the crafting table if you intended to use it. Terrain and movements must be enabled. + + + What to do on crafting failure, "abort" or "wait". + + + Recipes.Name: The name can be whatever you like and it is used to represent the recipe. +Recipes.Type: crafting table type: "player" or "table" +Recipes.Result: the resulting item +Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots. +For the naming of the items, please see: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + Auto-digging blocks. +You need to enable Terrain Handling to use this bot +You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig. +Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead. +For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. + + + Automatically switch to the appropriate tool. + + + Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. + + + Whether to drop the current tool when its durability is too low. + + + Will not use tools with less durability than this. Set to zero to disable this feature. + + + Wether to treat the blocks list as a "whitelist" or as a "blacklist". + + + "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. + + + The position of the blocks when using "fixedpos" or "both" mode. + + + Whether to output logs when digging blocks. + + + "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. + + + Automatically drop items in inventory +You need to enable Inventory Handling to use this bot +See this file for an up-to-date list of item types you can use with this bot: +https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list + + + Automatically eat food when your Hunger value is low +You need to enable Inventory Handling to use this bot + + + Automatically catch fish using a fishing rod +Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing +You can use "/fish" to control the bot manually. +/!\ Make sure server rules allow automated farming before using this bot + + + Keep it as false if you have not changed it before. + + + Switch to a new rod from inventory after the current rod is unavailable. + + + Whether to start fishing automatically after entering a world. + + + How soon to re-cast after successful fishing. + + + Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. + + + This allows the player to change position/facing after each fish caught. + + + How long after entering the game to start fishing (seconds). + + + Fishing timeout (seconds). Timeout will trigger a re-cast. + + + A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. + + + Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. + + + Use the mainhand or the offhand to hold the rod. + + + It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. + + + Hook movement in the X and Z axis less than this value will be considered stationary. + + + Automatically relog when disconnected by server, for example because the server is restating +/!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks + + + The delay time before joining the server. (in seconds) + + + When set to true, autorelog will reconnect regardless of kick messages. + + + If the kickout message matches any of the strings, then autorelog will be triggered. + + + Retries when failing to relog to the server. use -1 for unlimited retries. + + + Run commands or send messages automatically when a specified pattern is detected in chat +Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules +/!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam + + + Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) + + + Logs chat messages in a file on disk. + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + Enabled you to make the bot follow you +NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you +It's similar to making animals follow you when you're holding food in your hand. +This is due to a slow pathfinding algorithm, we're working on getting a better one +You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, +this might clog the thread for terain handling) and thus slow the bot even more. +/!\ Make sure server rules allow an option like this in the rules of the server before using this bot + + + Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) + + + The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) + + + A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time. +You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start +/!\ This bot may get a bit spammy if many players are interacting with it + + + Relay messages between players and servers, like a mail plugin +This bot can store messages when the recipients are offline, and send them when they join the server +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins + + + Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot) +This is useful for solving captchas which use maps +The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled. +NOTE: +If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console. +/!\ Make sure server rules allow bots to be used on the server, or you risk being punished. + + + Automatically render the map once it is received or updated from/by the server + + + Delete all rendered maps on unload/reload or when you launch the MCC again. + + + Get a notification when you have gotten a map from the server for the first time + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + Whether to render the map in the console. + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + Log the list of players periodically into a textual file. + + + (In seconds) + + + Send MCC console commands to your bot through server PMs (/tell) +You need to have ChatFormat working correctly and add yourself in botowners to use the bot +/!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins + + + Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/) +Please note that due to technical limitations, the client player (you) will not be shown in the replay file +/!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! + + + How long should replay file be auto-saved, in seconds. Use -1 to disable. + + + Schedule commands and scripts to launch on various events such as server join, date/time or time interval +See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC does it best to detect chat messages, but some server have unusual chat formats +When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format + + + MCC support for common message formats. Set "false" to avoid conflicts with custom formats. + + + Whether to use the custom regular expressions below for detection. + + + Startup Config File +Please do not record extraneous data in this file as it will be overwritten by MCC. + +New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html +Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + Settings have been loaded from {0} + + + §cFailed to load settings:§r + + + This setting affects only the messages in the console. + + + Regex for filtering chat message. + + + Show server chat messages. + + + Regex for filtering debug message. + + + Please enable this before submitting bug reports. Thanks! + + + Show error messages. + + + "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. + + + Informative messages. (i.e Most of the message from MCC) + + + Log file name. + + + Write log messages to file. + + + Prepend timestamp to messages in log file. + + + Keep color codes in the saved text.(look like "§b") + + + Show warning messages. + + + Make sure you understand what each setting does before changing anything! + + + AccountList: It allows a fast account switching without directly using the credentials +Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1" + + + Toggle auto respawn if client player was dead (make sure your spawn point is safe). + + + Set the owner of the bot. /!\ Server admins can impersonate owners! + + + Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. + + + Leave empty for no logfile. + + + If turned off, the emoji will be replaced with a simpler character (for /chunk status). + + + Toggle entity handling. + + + Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. + + + Use "none", "slash"(/) or "backslash"(\). + + + Toggle inventory handling. + + + Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + The language code is invalid! + + + Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. + + + Use "auto" or "1.X.X" values. Allows to skip server info retrieval. + + + Controls the minimum interval (in seconds) between sending each message to the server. + + + Enable support for joining Minecraft Realms worlds. + + + The minimum height to use when calculating the image size from the height of the terminal. + + + The minimum width used when calculating the image size from the width of the terminal. + + + Enable head movement while walking to avoid anti-cheat triggers. + + + A movement speed higher than 2 may be considered cheating. + + + Only works on Windows XP-8 or Windows 10 with old console. + + + For remote control of the bot. + + + How to retain profile key. Use "none", "memory" or "disk". + + + Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. + + + Cache compiled scripts for faster load on low-end devices. + + + ServerList: It allows an easier and faster server switching with short aliases instead of full server IP +Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias. +Usage examples: "/tell <mybot> connect Server1", "/connect Server2" + + + How to retain session tokens. Use "none", "memory" or "disk". + + + Decode links embedded in chat messages and show them in console. + + + Show inventory layout as ASCII art in inventory command. + + + System messages for server ops. + + + Messages displayed above xp bar, set this to false in case of xp bar spam. + + + Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. + + + Uses more ram, cpu, bandwidth but allows you to move around. + + + Customize the TCP connection timeout with the server. (in seconds) + + + Prepend timestamps to chat messages. + + + Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. + + + The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) + + + Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. + + + Account type: "mojang" OR "microsoft". Also affects interactive login in console. + + + Settings below are sent to the server and only affect server-side things like your skin. + + + Allows disabling chat colors server-side. + + + Use "enabled", "commands", or "disabled". Allows to mute yourself... + + + MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". + + + If disabled, settings below are not sent to the server. + + + Use any language implemented in Minecraft. + + + MC 1.9+ main hand. "left" or "right". + + + Value range: [0 - 255]. + + + Connect to a server via a proxy instead of connecting directly +If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy. +If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server. +/!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! + + + Whether to connect to the game server through a proxy. + + + Whether to connect to the login server through a proxy. + + + Only required for password-protected proxies. + + + Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". + + + Proxy server must allow HTTPS for login, and non-443 ports for playing. + + + Only required for password-protected proxies. + + + §aThe current setting is saved as {0} + + + Chat signature related settings (affects minecraft 1.19+) + + + Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" + + + Use red    color block to mark chat without legitimate signature + + + Use green  color block to mark chat with legitimate signatures + + + Use yellow color block to mark chat that have been modified by the server. + + + Use gray   color block to mark system message (always without signature) + + + Whether to display chat and messages in commands without legal signatures + + + Set to true to display messages modified by the server, false to display the original signed messages + + + Whether to sign the chat send from MCC + + + Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" + + + §cFailed to write to settings file {0}§r + + + Color test: Màn hình của bạn sẽ hiển thị {0} + + + §8Khóa mật mã và hash đã được tạo. + + + §8No profile keys could be loaded from disk + + + §8Profile keys has been successfully loaded from disk. + + + §8Đang gửi yêu cầu tới {0} + + + §8Không có phiên nào có thể load. + + + §8Đã load thông tin phiên thành công + + + Thành công. (session ID: {0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8Got error code from server while refreshing authentication: {0} + + + Failed to connect to this IP. + + + §8A timeout occured while attempting to connect to this IP. + + + Nhận diện phiên bản máy chủ thất bại. + + + §8Forge Login Handshake did not complete successfully + + + §8Forge StartEncryption Handshake did not complete successfully + + + Không thể bắt buộc hỗ trợ Forge cho phiên bản này. + + + Invalid usage of the generator command! + + + The provided path must be a path to a file that is in .json format! + + + Invalid data path provided! (The path either does not exists or you have made a typo) + + + §8Got error code from server: {0} + + + §8Invalid response to StartEncryption packet + + + §8Invalid response to Handshake packet + + + This feature requires Inventory Handling to be enabled in order to work! + + + Failed to join this server. + + + Đăng nhập Minecraft thất bại: + + + Sai mật khẩu, IP bị chặn hoặc quá nhiều lượt đăng nhập + + + User cancelled. + + + Tài khoản đã migrate, dùng địa chỉ email để đăng nhập. + + + Network error. + + + User not premium. + + + Invalid server response. + + + Đăng nhập máy chủ không có sẵn. Hãy thử lại sau. + + + SSL Error. + + + Unknown Error. + + + Failed to login to this server. + + + You are missing argument {0} + + + §8Server does not report its protocol version, autodetection will not work. + + + Ping IP thất bại. + + + This Realms world does not exist or access was denied + + + Trying to join a Realms world but Realms support is disabled in config + + + Cannot retrieve the server IP of your Realms world + + + Invalid or unknown Realms server ID. + + + Realms server may require some time to start up. Please retry again later. + + + {0}: Invalid syntax, expecting --argname=value or --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + Connection Timeout + + + §8Unexpected response from the server (is that a Minecraft server?) + + + Không thể kết nối tới máy chủ: Phiên bản không hợp lệ. + + + Usage: + + + §8Server reports a different version than manually set. Login may not work. + + + ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. + + + The provided script does not have a valid MCCScript header + + + Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). + + + Please update block types handling for this Minecraft version. See Material.cs + + + Please update entity types handling for this Minecraft version. See EntityType.cs + + + Please update item types handling for this Minecraft version. See ItemType.cs + + + Please update packet type palette for this Minecraft version. See PacketTypePalette.cs + + + Unknown direction + + + User-initiated logout should be done by calling Disconnect() + + + The protocol version no.{0} is not supported. + + + §cEntities are currently not handled for that MC version. + + + Please enable EntityHandling in the config file first. + + + Inventory # {0} closed. + + + §cInventories are currently not handled for that MC version. + + + Inventory handling is now enabled. + + + Use /inventory to interact with it. + + + Inventory # {0} opened: {1} + + + Please enable InventoryHandling in the config file first. + + + §cTerrain & Movements currently not handled for that MC version. + + + Terrain and Movements is now enabled. + + + Please enable Terrain and Movements in the config file first. + + + §8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling + + + §8[{0}] Initializing FileSystemWatcher for file: {1} + + + §8Accepting server mod list... + + + §8Accepting server registries... + + + Forge server connection complete! + + + §8Acknowledging FML2 Server Config: {0} + + + §8Received FML2 Server Mod List + + + §8Sending back FML2 Client Mod List + + + §8Acknowledging FML2 Server Registry: {0} + + + §8Got Unknown FML2 Handshake message no. {0} + + + §8Ignoring Unknown FML2 LoginMessage channel: {0} + + + §8Mod list: + + + §8Server is running Forge without mods. + + + §8Received registry with {0} entries + + + §8Received registry {0} with {1} entries + + + §8Sending falsified mod list to server... + + + §8Forge protocol version : {0} + + + §8Server is running Forge with {0} mods. + + + Available commands: {0} + + + This bot will be unloaded. + + + Done + + + Fail + + + OnInternalCommand: Got error from {0}: {1} + + + help <cmdname>: show brief help about a command. + + + help <cmdname>. Available commands: {0}. For server help, use '{1}send /help' instead. + + + Unknown command '{0}'. Use 'help' for command list. + + + Đang kết nối tới {0}... + + + Đăng nhập thất bại. + + + Mất kết nối. + + + Ngắt kết nối bởi máy chủ. + + + Chưa kết nối tới máy chủ nào. Dùng '{0}help' để in ra hướng dẫn. + + + Fetching profile key from Microsoft. + + + Đang kiểm tra xem máy chủ có dùng Forge... + + + Bắt buộc hỗ trợ Forge. + + + §8Tìm thấy máy chủ {0}:{1} cho tên miền {2} + + + New configuration file "{0}" is generated. + + + Succesfully generated {0} palette using the dataset: {1} + + + Generating {0} palette using the dataset: {1} + + + §8Bắt tay thành công (ID máy chủ: {0}) + + + §eNew version of MCC available: {0} + + + Help us translate MCC: {0} + + + Failed to parse the settings file, enter "{0}new" to generate a new configuration. + + + Địa chỉ máy chủ: + + + Đã tham gia máy chủ thành công +Gõ '{0}quit' để thoát máy chủ. + + + Link: {0} + + + Đăng nhập: + + + Hãy nhập địa chỉ email hoặc tên tài khoản của bạn: + + + §8Tìm kiếm SRV thất bại cho {0} +{1}: {2} + + + §8Bạn chọn sử dụng chế độ ngoại tuyến. + + + Mật khẩu: + + + Hãy nhập mật khẩu cho {0}. + + + Password : {0} + + + Bạn đã chết. Gõ '{0}respawn' để hồi sinh + + + Bạn đã chết. Sẽ tự động hồi sinh trong 1 giây. + + + Hoặc nhấn Enter để đóng Minecraft Console Client + + + §8Cached profile key needs to be refreshed. + + + §8Cached profile key is still valid for {0}. + + + Bạn có quyền tham gia vào những máy chủ Realm này + + + Dùng realm:[thứ tự] để tham gia máy chủ Realm + + + Đang chờ 5 giây ({0} lượt còn lại)... + + + Đang giải quyết {0}... + + + Đang khởi động lại Minecraft Console Client... + + + Đang chờ {0} giây trước khi khởi động lại... + + + Đang nhận thông tin máy chủ... + + + +MCC is running with default settings. + + + §8Máy chủ đang ở trong chế độ ngoại tuyến. + + + §8Phiên bản server: {0} (Giao thức v{1}) + + + Phiên bản máy chủ: + + + Đang kiểm tra phiên... + + + Kiểm tra phiên thất bại. + + + §8Phiên không hợp lệ hoặc đã hết hạn. + + + §8Phiên vẫn còn hợp lệ cho {0}. + + + §cSettings file MinecraftClient.ini has been generated. + + + §7Đã gửi lệnh §8 {0}. + + + §8Phiên bản không hợp lệ {0}. +Chuyển sang chế độ nhận diện tự động. + + + §8Sử dụng Minecraft phiên bản {0} (protocol v{1}) + + + Phiên bản hợp lệ +Đang đăng nhập + + + , với Forge + + + §8Connected to proxy {0}:{1} + + + Load translations applied to MCC when available, turn it off to use English only. + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.zh-Hans.resx b/MinecraftClient/Resources/Translations/Translations.zh-Hans.resx new file mode 100644 index 00000000..0d048094 --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.zh-Hans.resx @@ -0,0 +1,2662 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §c天气变化:雨停了。§r + + + §c天气变化:现在不再是雷雨天了。§r + + + §c天气变化:开始下雨了。§r + + + §c天气变化:现在是雷雨天。§r + + + 当前提供的行走范围无效,它必须是一个大于0的正整数,将使用默认值5! + + + 当前未启用地形处理,如果你想使用相关的特性,请在设置中启用它。当前将继续使用替代方法运行(定时发送命令)。 + + + 最短时间大于最长时间,已将它们交换。 + + + 攻击冷却时间值不能小于0,已使用自动作为默认值 + + + 制作被终止!请检查可用材料。 + + + 自动制作ChatBot命令的别名 + + + 可用命令:{0}。可使用 /autocraft help <命令名> 了解更多信息。您可以使用 /ac 作为命令别名。 + + + 容器#{0}被AutoCraft关闭 + + + 自动制作ChatBot命令 + + + 已加载{0}个配方:{1} + + + 将配置重置为默认值 + + + 制作失败!等待更多材料 + + + 找不到配置。请新建一个。 + + + 分析配置时出错:{0} + + + 指定了重复的配方名称:{0} + + + 解析配方时缺少配方名称 + + + 获取命令描述。用法:/autocraft help <命令名> + + + 列出可用配方。 + + + 加载配置文件。 + + + 重新加载配置文件。 + + + 将默认示例配置写入默认位置。 + + + 开始制作。用法:/autocraft start <配方名称> + + + 停止当前正在进行的制作过程 + + + 无效的输出物品! + + + 配方的物品数量不匹配,已自动调整。 + + + 已成功加载 + + + 缺失材料:{0} + + + 请指定要制作的配方名称。 + + + 指定的配方名称不存在。请检查配置文件。 + + + AutoCraft启动中:{0} + + + 无法启动AutoCraft。请检查用于制作{0}的可用材料 + + + AutoCraft已停止 + + + 找不到工作台 + + + 动作超时!原因:{0} + + + 可用命令:{0}。可使用 /digbot help <命令名> 了解更多信息。 + + + 自动挖掘 ChatBot 命令 + + + 挖掘方块超时,重试。 + + + 获取命令描述。用法:/digbot help <命令名> + + + 开始运行自动挖掘。 + + + 停止运行自动挖掘。 + + + 当前所看向的方块不在允许挖掘列表中。 + + + 开始自动挖掘。 + + + 将在 {0:0.0} 秒后开始自动挖掘。 + + + 停止自动挖掘。 + + + 已添加物品{0} + + + 自动丢弃 ChatBot 命令别名 + + + 自动丢弃 ChatBot 命令 + + + 物品名称不正确:{0}。请再试一次。 + + + 列表中总计{0}个物品: + {1} + + + 找不到容器{0}! + + + 列表中没有物品 + + + 无法从配置中读取丢弃模式(drop mode)。使用Include模式。 + + + 物品不在列表中 + + + 已禁用自动丢弃 + + + 已启用自动丢弃 + + + 已删除物品{0} + + +  切换到{0}模式。 + + + 未知模式。可用的模式:Include, Exclude, Everything + + + 可用命令:{0}。可使用 /fish help <命令名> 了解更多信息。 + + + 抛竿超时,将在等待一段时间后重试。(超时时间延长至 {0:0.0} 秒) + + + 收竿!(总计第 {0} 次) + + + 收竿 (位于 {0:0.0},{1:0.0},{2:0.0}) !(总计第 {3} 次) + + + 自动钓鱼 ChatBot 命令 + + + 鱼钩消失,将会重新抛竿。 + + + 钓鱼超时,将于几秒钟后重新抛竿。 + + + 钓到了 {0} + + + 获取命令描述。用法:/fish help <命令名> + + + 开始自动钓鱼。 + + + 列出钓到的物品。或者使用 "/fish status clear" 清空该列表。 + + + 停止自动钓鱼。 + + + 未启用库存(物品)处理。将不支持检查鱼竿耐久度都和自动切换鱼竿。 + + + 没有可使用的钓鱼竿了。也许是用坏了或耐久度过低? + + + 开始自动钓鱼。 + + + 将在 {0:0.0} 秒后自动开始钓鱼。 + + + 已清空钓到的物品信息。 + + + 所有钓到的物品(不完全准确): + + + 停止自动钓鱼。 + + + 切换到位于背包 {0} 位置的鱼竿,剩余耐用 {1}/64。 + + + 抛竿成功。 + + + 更新当前朝向 偏航角(yaw) = {0:0.00}, 俯仰角(pitch) = {1:0.00}。 + + + 当前目录为:{0} + + + 连接断开,收到消息:{0} + + + 由用户或MCC bot启动的断开连接。忽略。 + + + 已启动,尝试了{0}次重新连接 + + + 已加载消息:{0} + + + 从文件{0}加载消息 + + + 在没有kick消息文件的情况下初始化 + + + 找不到文件或目录:{0} + + + 信息包含 '{0}'。重新连接。 + + + 忽略kick消息,仍要重新连接。 + + + 不包含任何已定义关键字的消息,忽略。 + + + 等待{0:0.000}秒后重新连接... + + + 找不到文件或目录: '{0}' + + + 加载匹配项: +{0} + + + 正在从'{0}'加载匹配项 + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + 进行操作:{0} + + + 匹配没有对应操作: +{0} + + + 这个匹配永远不会触发: +{0} + + + 路径'{0}'包含无效字符。 + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + mailer 命令 + + + --- 忽略列表 --- +{0} + + + --- 数据库中的邮件 --- +{0} + + + 查看用法 + + + 添加{0}到忽略列表! + + + 丢失或无效的名称。用法:{0}<用户名> + + + {0}已从忽略列表中删除! + + + 创建新数据库文件:{0} + + + 创建新忽略列表:{0} + + + 已发送:{0} + + + 使用设置初始化Mailer: + + +  - 数据库文件:{0} + + +  - 最大数据库大小:{0} + + +  - 忽略列表:{0} + + +  - 邮件保留天数:{0} + + +  - 每位玩家最多邮件数:{0} + + +  - 公开交互:{0} + + + 无法启用Mailer:最大数据库大小必须大于0。请检查设置。 + + + 无法启用Mailer:邮件保留天数必须大于0。请检查设置。 + + + 无法启用Mailer:每个玩家的最大邮件数必须大于0。请检查设置。 + + + 加载数据库文件:{0} + + + 加载忽略列表: + + + 正在查找要发送的邮件 @ {0} + + + 正在保存邮件:{0} + + + {0}已被忽略! + + + 渲染物品形式的地图 + + + 无效的地图编号,必须是一个数字。 + + + 没有找到编号为 '{0}' 的地图! + + + 无法渲染编号为 '{0}' 的地图。 + + + - 地图编号:{0}(最近更新于:{1}) + + + 没有收到过地图! + + + 从服务器接收到的地图有: + + + 收到一个编号为 {0} 的新地图。 + + + 成功接收到地图 '{0}' ,保存为 '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + 由于当前终端尺寸限制,地图大小由 ({0}x{1}) 缩小为 ({2}x{3}) 。 + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay 命令 + + + 已创建重播文件。 + + + 录制已停止。请重新启动程序以进行另一段录制。 + + + 录制已停止。 + + + 脚本'{0}'运行失败 ({1})。 + + + 找不到文件:'{0}' + + + §8[MCC] [{0}] 找不到脚本文件:{1} + + + 脚本'{0}'加载。 + + + 已加载任务: +{0} + + + 任务没有对应操作: +{0} + + + 这个任务永远不会触发: +{0} + + + 间隔 / 运行中的操作:{0} + + + 登录 / 运行中的操作:{0} + + + 时间 / 运行中的操作:{0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot:{0}说:{1} + + + Bot:{0}对我说:{1} + + + 提醒 + + + AntiAFK + + + 自动攻击 + + + 自动合成 + + + 自动挖掘 + + + 自动丢弃 + + + 自动进食 + + + 自动钓鱼 + + + 自动重连 + + + 自动回复 + + + 聊天日志 + + + DiscordBridge + + + 自动种植 + + + 跟随玩家 + + + HangmanGame + + + 邮差 + + + 地图 + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + 脚本 + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8从磁盘转换会话缓存:{0} + + + §8忽略无效的会话令牌行:{0} + + + §8忽略无效的聊天签名密钥行:{0} + + + §8忽略会话令牌字符串'{0}':{1} + + + §8忽略聊天签名密钥字符串 '{0}':{1} + + + §8已加载会话:{0}:{1} + + + §8已加载签名密钥,下次刷新于 {0} + + + §8加载Minecraft配置文件:{0} + + + §8从磁盘加载聊天签名密钥缓存: {0} + + + §8从磁盘加载会话缓存:{0} + + + §8从磁盘读取序列化会话缓存时,获取到格式错误的数据:{0} + + + §8无法从磁盘读取序列化会话缓存:{0} + + + §8无法从磁盘读取会话缓存:{0} + + + §8无法从磁盘读取聊天签名密钥缓存:{0} + + + §8无法将会话缓存写入磁盘:{0} + + + §8无法将聊天签名密钥写入磁盘:{0} + + + §8将会话缓存保存到磁盘 + + + §8将聊天签名密钥保存到磁盘 + + + §8下载完成。文件另存为 '{0}' + + + §8正在从Mojang服务器下载语言文件 '{0}.lang'... + + + §8下载文件失败。 + + + §8默认为你的Minecraft目录中的en_GB.lang + + + §8已加载翻译文件。 + + + 玩家 {0} 的消息签名链已经被破坏。(签名不在可信) + + + §8找不到翻译文件:'{0}' +如果没有此文件,某些信息将无法正确打印。 + + + §8正在请求{0}... + + + [{0}] 断开并重新连接到服务器 + + + 挥动你的手臂。 + + + 没有找到床! + + + 无法安全地到达床边! + + + 用于右键床开始睡觉或离开正在睡觉的床。 + + + 无法在30秒内到达(X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}),放弃本次寻路。 + + + 在 (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) 找到了一个床。 + + + 成功地躺在了床上! + + + 已向服务器发送离开床的数据包。 + + + 正在移动到床所在的位置: (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) + + + 位于 (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) 的方块不是一个床! + + + 上床睡觉失败了。(PS: 你必须使用床头对应的坐标) + + + 在半径为{0}的范围内寻找床... + + + 试图在位于 (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) 上的床上睡觉,结果:{3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + 列出全部 ChatBot ,加载或卸载一个 ChatBot。 + + + 已加载的 ChatBot + + + 没有 ChatBot 被加载。 + + + 该 ChatBot 并未加载,请检查输入。 + + + 成功卸载 ChatBot:{0} + + + 成功卸载所有 ChatBot。 + + + 已变更为栏位{0} + + + 变更快捷栏栏位 + + + 无法变更栏位 + + + 无法变更栏位:不是数字 + + + 区块:({0}, {1})。 + + + 当前位置:{0},所在区块:({1}, {2})。 + + + 显示区块加载状态。 +如果显示错乱竟在设置中更改 EnableEmoji=false 。 + + + §x§0此命令仅用于调试使用,确保你已经了解执行该命令会造成的影响。§r + + + 玩家:{0},标记的区块:{1},未收到:{2},加载中:{3},已加载:{4} + + + 标记的位置: + + + §x§0由于被标记的区块距离玩家太远,它不会被显示在图中§r + + + 连接到指定的服务器。 + + + 无效的服务器IP '{0}'。 + + + 未知帐户 '{0}'。 + + + 切换调试消息。 + + + 调试消息现在已关闭 + + + 调试消息现在已打开 + + + 试图破坏一个方块 + + + 尝试挖掘位于({0}, {1}, {2})的方块({3})。 + + + 无法开始挖掘方块。 + + + 这个地方没有方块 (空气) + + + 你离这个方块太远了。 + + + 丢弃玩家容器中的指定类型物品或打开的容器 + + + 已从容器#{1}中丢弃所有{0} + + + 未知物品:{0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + 已攻击实体 + + + 靴子 + + + 胸甲 + + + 自定义名称 + + + 距离 + + + 实体集 + + + 实体 + + + 装备 + + + 生命值 + + + 头盔 + + + 物品 + + + 延迟 + + + 护腿 + + + 位置 + + + 主手 + + + 昵称 + + + 找不到实体 + + + 副手 + + + 姿势 + + + 类型 + + + 已使用实体 + + + 允许你在某个条件成立时执行一个命令。(你可以使用"MinecraftClient.ini"中的变量和使用"/set"命令定义的变量,以及CSharp表达式)。 + + + 错误:{0} + + + 在执行命令 {0} 时出现错误。 + + + 条件'{0}'满足,已执行命令'{1}',得到结果'{2}'。 + + + 条件'{0}'满足,已执行命令'{1}',该命令没有返回任何结果。 + + + 依次执行多个命令。 + + + 执行了命令 '{0}' , + + + 没有返回结果! + + + 结果为 '{0}'! + + + 断开与服务器的连接。 + + + 已经在跟随 {0} 了! + + + 已经停止过了 + + + 无法寻路到该玩家,有可能他在没有加载的区块中,或是距离太远,也有可能是间隙或水体等障碍使机器人无法到达。 + + + 让机器人跟随指定的玩家 + + + 提供的玩家名无效! + + + 指定的玩家没有上线或距离太远! + + + 注意:此机器人的速度很慢,你需要慢慢地走,而且要保持很近的距离,这样它才能跟上,有点像拿着食物让动物跟着你。这是由于寻路算法的限制,我们正在努力改进它。 + + + 已暂停! + + + 玩家 {0} 回到了可寻路范围之内! + + + 玩家 {0} 离开了服务器! + + + 玩家 {0} 离开了可寻路范围! + + + 继续跟随! + + + 开始跟随 {0}! + + + Stopped! + + + 已停止! + + + 切换为跟随 {0}! + + + 启用了允许途径不安全位置(注意:机器人可能会受伤或死亡!) + + + follow <player name|stop> [-f] (使用 -f 允许机器人途径不安全的地方) + + + 显示生命值和饱食度。 + + + 生命值:{0},饱食度:{1},等级:{2},总经验值:{3} + + + {0}键点击容器#{2}中的栏位{1} + + + 关闭容器 #{0} + + + 关闭容器失败 #{0} + + + 找不到容器,请使用显式ID重试 + + + 请求清除栏位 #{0} + + + 向容器#{2}请求{0} x{1} + + + 请求创造模式操作失败 + + + 耐久损耗 + + + 容器相关命令 + + + 从栏位#{0}中丢弃了1个物品 + + + 从栏位#{0}中丢弃了所有堆叠的物品 + + + 找到物品 + + + 可用操作 + + + 基本用法 + + + 单击物品。 + + + 关闭打开的容器。 + + + 在创造性模式中清除栏位。 + + + 在创造模式中给予物品。 + + + 从容器中丢弃物品。 + + + {0} +使用 '/inventory help <action>' 获取帮助。 +'player' 和 'container' 可以简化为 'p' 和 'c'。 +请注意,'[]' 中的参数是可选的。 + + + 列出所有可用的窗口。 + + + 列出所有容器。 + + + 在打开的所有窗口中搜索物品。 + + + 按住Shift键点击一个物品。 + + + 未知操作。 + + + 用法 + + + 您选择的快捷栏是{0} + + + 容器 + + + 可用容器 + + + 容器 + + + + + + 中间 + + + 你必须在创造模式 + + + 在任何窗口中都没有找到该物品! + + + 栏位#{0}中没有物品 + + + 容器#{0}不存在 + + + + + + 按住Shift键点击容器#{1}中的栏位{0} + + + 执行Shift点击失败,这可能是因为该容器类型目前不被支持。 + + + 获取玩家列表。 + + + 玩家列表:{0} + + + 将文本记录到控制台。 + + + 当前视角 偏航角:{0} 俯仰角:{1}。 + + + 正看向位于 {0} 的方块。 + + + 查看方向或坐标。 + + + 与视线相交的第一个方块是 {0} ({1:0}, {2:0}, {3:0}),距离玩家 {4:0.0}({5:0.0})。 + + + 在 {0} 米内没有任何方块与视线相交。 + + + 未知方向 '{0}'。 + + + 区块加载进度:{0:P} - 共{2}个,加载完成了{1}个。 + + + 目标位置所在的区块还没有被加载。你可以使用"/chunk status {0:0.0} {1:0.0} {2:0.0}"来查看区块的加载状态。 + + + 移动或开始移动。 + + + 不能朝此方向移动。 + + + 禁用地形和移动。 + + + 在下次服务器登录、重生或更换世界时启用地形和移动。 + + + 无法计算到达{0}的路径。 + + + 重力已关闭。 + + + 重力已开启。 + + + 移动{0} + + + 无法计算安全到达{0}的路径. 请使用 -f 参数允许不安全移动。 + + + 移动到{0} + + + 重新启动并重新连接到服务器。 + + + 重新加载MCC的设置。 + + + 重新加载设置完成! + + + 重新加载设置中... + + + 这条命令不会影响在连接到服务器之前的某些设置。 + + + 一些通过命令行参数传递的设置可能会被覆盖! + + + 你有可能需要重新连接(/reco)才能使某些设置生效。 + + + 由于技术限制,ReplayCapturer 将不会被强制重载! + + + 如果你死亡了,请用这个来重生。 + + + 你重生了。 + + + 运行脚本文件。 + + + 发送聊天信息或命令。 + + + 设置自定义 %variable%。 + + + 变量名范围必须为 A-Za-z0-9。 + + + 随机为自定义 %变量名% 赋值。 + + + setrnd 变量名 -7to17 + + + setrnd 变量名 字符串1 "\"字符串2\" 字符串3" + + + 切换到潜行 + + + 你不在潜行状态了。 + + + 现在你在潜行状态。 + + + 当前TPS + + + 显示服务器当前tps (tick per second)。(可能不精确) + + + 放置一个方块或打开箱子 + + + 使用位于 ({0:0.0}, {1:0.0}, {2:0.0}) 的 {3}。 + + + 使用(左键单击)手上的物品 + + + 使用了一个物品。 + + + 可以在某些字段中以"%yourvar%"的形式使用。 +%username% 和 %serverip% 时保留的变量名。 + + + §c写入设置文件({0})时出错:§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + 当检测到特定聊天消息或特定事件发生时提醒你 + # 对检测特定玩家的聊天消息很有用。 + + + 除了高亮显示外,当检测到一个词时还会播放类似蜂鸣器的哔哔声。 + + + 出现这些关键词后该条消息一定不触发提醒。 + + + 日志文件的路径。 + + + 是否将提醒消息写入到日志文件。 + + + 触发提醒的聊天关键词列表。 + + + 在开始下雨和停止下雨时触发提醒。 + + + 在雷暴天气的开始与结束触发提醒。 + + + 在收到指定的关键词后触发提醒。 + + + 定期发送命令,或让机器人随机走动,以避免检测到挂机后被踢出服务器 + # /!\启用前请确保你的服务器规则不禁止反AFK机制! +/!\如果启用随机移动,请将机器人围在围栏里,以防走失!(建议尺寸5x5x5) + + + 发送给服务器的指令。 + + + 执行操作的间隔时间。(秒) + + + 在发送命令时是否蹲下。 + + + 启用地形处理,以使机器人能够四处移动。 + + + 机器人可以随机移动的范围(注意:范围越大,速度越慢) + + + 尝试移动失败几次后在改为发送命令模式。 + + + 自动攻击周围的生物 +使用此功能之前,你需要开启实体处理。 +/!\确保你的服务器允许使用自动攻击。 +/!\服务器插件可能会认为此功能时作弊,并可能会封禁你的账号,所以请自己检查服务器规则是否允许。 + + + 是否攻击敌对生物。 + + + 是否攻击被动生物。 + + + 每次攻击间的冷却时间,设置 "Custom = false" 以让MCC自动计算攻击速度。 + + + 所有可用的实体类型可以在这里找到:https://bit.ly/3Rg68lp + + + 可选项:"Interact"(交互),"Attack"(攻击) 或 "InteractAt"(交互并攻击) + + + 将实体列表作为 "whitelist"(白名单)还是 "blacklist"(黑名单)。 + + + "single"(单目标) 或 "multi"(多目标)。一次攻击一个生物还是范围内的所有生物。 + + + "health"(生命值)或 "distance"(距离)。当使用"single"模式时,以哪一个属性确定优先级。 + + + 自动使用背包中的物品进行合成。 +请看 https://mccteam.github.io/guide/chat-bots.html#auto-craft +你需要启用库存处理来使用这个功能 +如果需要使用工作台,你还需要启用地形处理。 + + + 如果你打算使用工作台,请填写它所在的位置。(需要启用地形处理) + + + 合成失败时应该怎么处理,"abort"(中止)或 "wait"(等待)。 + + + Recipes.Name:给该配方起一个独一无二的名字。(不能包含空白字符)Recipes.Type:合成类型,"player"(背包2x2)或 "table"(工作台3x3) +Recipes.Result:合成的目标物品 +Recipes.Slots:合成的物品摆放方式,以从左到右、从上到下的格式填写。需留空请填写"Null"。 +最新的物品命名请看:https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + 自动挖掘方块。 +你需要启用地形处理来使用这个功能。 +你可以使用 "/digbot start" 和 "/digbot stop" 指令来控制 AutoDig 的启停。 +由于MCC目前还不支持精确计算方块的碰撞体积,在获取看向的方块时,视线上所有的方块都被看作是完整的立方体。 +查询方块的名字,请访问 https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + 进入游戏后等待多少秒后开始自动挖掘,设置为-1禁用自动开始。 + + + 自动切换到合适的工具。 + + + 若挖掘一个方块用时超过这个值,将会重新获取目标进行挖掘。 + + + 在当前使用的工具耐久度过低后,是否丢掉它。 + + + 不会使用低于此耐久度的工具。(需要启用库存处理) + + + 将方块列表作为 "whitelist"(白名单)还是 "blacklist"(黑名单)。 + + + "distance" 或 "index",当使用 "fixedpos" 模式时,按照到玩家的距离,还是列表中的顺序确定挖掘的方块。 + + + 使用 "fixedpos" 或 "both" 模式时,方块的坐标。 + + + 是否输出挖掘方块的相关信息。 + + + "lookat","fixedpos" 或 "both"。挖掘看向的方块还是固定位置的方块,或者是两个条件都满足的方块。 + + + 自动从背包/库存中丢弃指定的物品 +你需要启用库存处理来使用这个功能。 +可用物品请看 https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include"(丢弃列表中的物品),"exclude"(丢弃列表外的所有物品) 或 "everything"(丢弃所有物品) + + + 在饱食度较低是自动在背包中寻找食物食用。 +你需要启用库存处理来使用这个功能。 + + + 使用鱼竿自动钓鱼。指南:https://mccteam.github.io/guide/chat-bots.html#auto-fishing +你可以使用"/fish"命令来手动进行控制。 +/!\ 启用前请确保服务器允许自动钓鱼。 + + + 如果你之前没有启用过这个选项,请保持它为 false 。 + + + 在当前鱼竿不可用后自动切换到背包中的其他鱼竿。(需要启用库存处理) + + + 是否在进入服务器后自动开始钓鱼,禁用此功能后,你需要使用"/usehand"手动使用鱼竿一次。 + + + 钓到鱼后多久开始下一次钓鱼(抛竿)。 + + + 不会使用低于此耐久度的鱼竿(鱼竿耐久度最高为64)。(需要启用库存处理) + + + 这允许玩家在钓到鱼后改变其位置或朝向。(需要启用地形处理) + + + 进入服务器后多久后开始自动钓鱼。(秒) + + + 多少秒后没有钓到鱼视为超时。超时后会重新抛竿。 + + + 一个“静止”的鱼钩,在Y轴方向上的移动超过这个阈值将被认为钓到了鱼。 + + + 用于调整以上两个阈值,启用后会在收到鱼钩实体移动数据包后打印其坐标变化。 + + + 使用主手还是副手拿鱼竿。 + + + 会按照 "1->2->3->4->3->2->1->2->..." 的顺序执行。每次可用改变位置、朝向或是都改变。推荐只改变朝向。 + + + 鱼钩在X轴和Z轴方向上的移动小于这个值将被认为是静止的,过高的阈值会在抛竿途中触发收竿。 + + + 在被服务器断开连接时自动重连,例如服务器重启时。 +/!\ 谨慎使用Ignore_Kick_Message=true,这会在服务器管理员将你踢出时依然连回! + + + 重新加入到服务器前的延迟时间。(单位:秒) + + + 当设置为 true 时,将不考虑踢出的信息直接重连。 + + + 如果踢出信息与这其中的任何一个字符串匹配,那么将触发自动重连。 + + + 重新登录服务器失败时的重试次数,使用-1表示无限重试。 + + + 当聊天消息与文件中的规则匹配时,自动执行指定命令。 +/!\ 服务器管理员可以以任意玩家的身份发送任意消息,记住这一点! +此机器人如果设置的不得当可能会造成刷屏,建议设置一个冷却时间。 + + + 不要删除文本中的颜色代码(使用§字符的代码)。注意:启用后你的匹配模板也必须包括颜色代码。 + + + 将聊天信息写入到日志文件中。 + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + 让机器人跟随指定玩家 +注意这是一个实验性的功能,目前的寻路速度可能很慢,你可能需要时常等一会机器人来让它跟上你。 +你可以调整"Update_Limit",找到最适合你的速度。(注意不要设置的太低,这样可能导致反效果或使MCC卡顿)。 +/!\ 在使用此功能之前,请先确保服务器规则允许你这样做。 + + + 如果玩家在该范围内,则视为已经接近玩家了。(防止机器人将玩家推开而产生无限循环) + + + 机器人寻路的间隔时间(以秒为单位) + + + 一个用于演示聊天互动的小游戏。玩家可以一次一个字母地猜出神秘的单词。 +你需要正确地使用 ChatFormat,并在 botowners 中添加自己,用/tell <bot username> start +/!\ 这个机器人可能会造成刷屏,如果许多玩家与它互动。 + + + 在玩家和服务器之间中继消息,就像一个邮件插件一样。 +这个机器人可以在收件人离线时存储消息,并在他们加入服务器时发送消息。 +/!\ 服务器管理员可以以任意玩家的身份发送任意消息,请记住这一点。 + + + 允许你将地图渲染成.jpg图片,该图片会被渲染到Rendered_Maps文件夹中。 +注意:这个功能目前只对解决使用地图的验证码有用。 +如果一些服务器解决验证码的时间很短,请启用Auto_Render_On_Update并准备快速打开该文件。 +在linux上,你可以使用FTP来访问生成的文件。 + + + 一旦接收到新的地图或已有地图被更新,自动渲染该地图。 + + + 在卸载/重新加载地图时删除所有已渲染的地图(退出MCC时不会删除图像) + + + 当第一次从服务器上收到一张地图时,发送一个通知。 + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + 是否在控制台中渲染地图。 + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + 是否将地图保存为文件。 + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + 定期记录当前的玩家列表到文件中。 + + + (单位:秒) + + + 通过游戏中的私聊向机器人发送MCC控制台命令 +你需要先配置好[ChatFormat]章节的设置,并在[Main.Advanced.bot_owners]中添加自己的账号。 +/!\ 服务器管理员可以以任意玩家的身份发送任意消息,仅在信任他们时启用本功能。 + + + 使用"/replay start"开始记录游戏,并在之后使用 Replay Mod (https://www.replaymod.com/) 进行重放。 +请注意,由于技术限制,玩家自身不会显示在重放文件中。 +/!\ 你应该使用"/replay stop"停止记录或者使用"/quit"退出程序,否则回放文件可能会损坏。 + + + 每间隔多少秒自动保存一次回放文件,以秒为单位。使用-1禁用自动保存。 + + + 在加入服务器时、到达特定时间时或以设定的时间间隔执行命令或脚本文件 +详细使用方法请查看 https://mccteam.github.io/guide/chat-bots.html#script-scheduler + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC会尽力检测聊天信息,但有些服务器有不寻常的聊天格式 +当这种情况发生时,你需要在下面自定义匹配聊天所用的正则表达式,详见 https://mccteam.github.io/guide/configuration.html#chat-format + + + 是否启用MCC内置的聊天检测规则。设置为 false 以避免与自定义格式冲突。 + + + 是否启用下方的自定义正则表达式进行聊天检测。 + + + 启动配置文件 + +对 MCC(Minecraft 命令行客户端)不熟悉?请看这个文档:https://mccteam.github.io/guide/configuration.html + +想升级到较新的版本吗?请访问 https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + 已从 {0} 加载设置。 + + + §c加载设置时出错:§r + + + 此项设置仅会影响到控制台中的信息(日志)。 + + + 过滤聊天消息所用的正则表达式。 + + + 是否显示来自服务器的聊天消息。 + + + 过滤调试消息所用的正则表达式。 + + + 请在提交错误报告之前先启用此项。谢谢! + + + 显示错误消息。 + + + 过滤方式:"disable"(禁用),"blacklist"(隐藏匹配的消息) 或 "whitelist"(仅显示匹配的消息) + + + 信息性的消息。(大部分来自MCC内部) + + + 日志文件名称。 + + + 是否将日志信息写入到文件。 + + + 写入日志文件时是否添加时间戳。 + + + 是否保留消息中的颜色字符。(例如"§b") + + + 显示警告消息。 + + + 在更改这里的某项设置之前,请确保你理解了该选项的影响。 + + + AccountList:使你可以不用输入账号信息而快速在多个账号间切换 +可用命令示例:"/tell <mybot> reco Player2","/connect <serverip> Player1" + + + 死亡时自动重生(开启前请确保你的出生点是安全的) + + + 设置机器人的所有者。/!\服务器管理员可以伪装成任何玩家! + + + 客户端标识,可用 "mcc","vanilla"(原版客户端) 或 "none"(空标识)。这用于改变MCC向服务器发送的客户端标识内容。 + + + 留空将禁用 ChatBot 写入日志文件。 + + + 如果关闭,Emoji表情符号将被替换成更简单的字符(用于 "/chunk status" 命令) + + + 启用实体处理。 + + + 发生错误时是否直接退出,用于在非交互式脚本中使用MCC。 + + + MCC内部命令的前缀,可使用 "none", "slash"(/) 或 "backslash"(\)。 + + + 启用库存处理(可操作背包、箱子等容器)。 + + + 请使用Minecraft的语言代码填写,详见 https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + 无效的语言代码! + + + 可使用 "auto"(自动),"no"(禁用) 或是 "force"(强制启用,仅在 1.13 及更高的版本中可用)。 + + + 游戏版本,可使用 "auto"(自动) 或类似 "1.X.X" 的值。设定具体版本将跳过从服务器解析的过程。 + + + 控制向服务器发送消息的最小间隔时间(秒)。 + + + 启用对加入我的世界领域(Realms)服务器的支持。 + + + 当使用终端高度来计算显示的图像大小时,限制其最小高度。 + + + 当使用终端宽度来计算显示的图像大小时,限制其最小宽度。 + + + 在移动时转向头部。 + + + 高于 2 的移动速度可能会被检测为作弊。 + + + 使用玩家皮肤头像作为窗口图标,这仅在部分旧版控制台中有效。 + + + 远程控制功能将会使用它。 + + + 如何缓存聊天签名密钥。可使用 "none"(不缓存),"memory"(内存缓存) 或 "disk"(磁盘缓存)。 + + + 可填写 "no","fast"(超时时间为五秒钟)或是 "yes"。加入某些服务器需要开启此项。 + + + 缓存已编译的脚本,以便在低端设备上更快的加载。 + + + ServerList:可用使用服务器别名快速连接到该服务器 +别名不能包含空格和小数点",而且 "localhost" 不能作为别名使用。 +可用命令示例:"/tell <mybot> connect Server1","/connect Server2" + + + 如何缓存会话令牌。可使用 "none"(不缓存),"memory"(内存缓存) 或 "disk"(磁盘缓存)。 + + + 解码聊天信息里的链接,并在控制台单独显示。 + + + 以字符画形式显示库存布局。 + + + 显示游戏服务器的系统消息(来自管理员或命令方块等)。 + + + 显示经验条上方的消息,如果被此类消息刷屏请禁用此选项。 + + + 可填写 "none","bit_4","bit_8" 或 "bit_24"。可以通过调试模式下的日志检测支持的颜色深度。 + + + 开启地形处理将消耗更多的内存、CPU和网络带宽,但这允许你进行移动以及和方块交互。 + + + 与服务器的TCP连接超时时间(秒)。 + + + 在聊天信息头部添加时间戳。 + + + Login请填写邮箱或玩家名称。若要以离线模式登录请使用"-"作为密码。若留空则使用交互式登录。 + + + 游戏服务器的地址和端口,可填入域名或IP地址。(可删除端口字段,会自动解析SRV记录) + + + 微软账户的登录方式:mcc 或是 browser(手动在网页上登录)。 + + + 帐户类型:mojang 或是 microsoft。此项设置也会影响交互式登录。 + + + 下面的设置将会被发送到游戏服务器,只影响一些服务器端的东西,比如你的皮肤。 + + + 这允许你在服务器端禁用聊天颜色。 + + + 使用 "enabled"(完全启用聊天)、"commands"(仅限命令)或 "disabled"(完全禁用聊天)。这允许你禁言自己... + + + Minecraft 1.7及更早版本难度。"peaceful","easy","normal","difficult"。 + + + 如果禁用,下面的设置就不会被发送到服务器上。 + + + 请使用Minecraft的语言代码填写,详见[Main.Advanced.Language] + + + 在1.9及更高版本中的主手设置。"left"(左手) 或 "right"(右手)。 + + + 渲染距离,取值范围[0 - 255]。 + + + 通过代理连接到服务器。 +如果Mojang/微软登录服务被防火墙阻断,设置Enabled_Login=true以使用代理进行登录。 +如果到Minecraft游戏服务器的连接被防火墙阻止,设置Enabled_Ingame=true以使用代理连接游戏服务器。 +/!\ 在启用代理前,请确保你的服务器规则允许使用代理或VPN,否则你可能面临被封禁等风险! + + + 是否通过代理连接Minecraft游戏服务器。 + + + 是否使用代理连接Mojang或微软的登录服务器。 + + + 只有连接到受密码保护的代理才需要。 + + + 支持的代理类型:"HTTP","SOCKS4","SOCKS4a","SOCKS5"。 + + + 代理服务器必须允许HTTPS登录。 + + + 只有连接到受密码保护的代理才需要。 + + + §a当前设置已保存至 {0} + + + 聊天签名相关设置(影响1.19及以上版本) + + + 仅微软账户可用。如禁用此项,将无法签名消息和进入某些的服务器。 + + + 是否使用红色色块标识没有合法签名的聊天。 + + + 是否使用绿色色块标识拥有合法签名的聊天。 + + + 是否使用黄色色块标识被服务器更改过的聊天。 + + + 是否使用灰色色块标识系统消息(它们总是不会被签名)。 + + + 是否显示没有被正确签名的聊天消息。 + + + 设置为 true,显示被服务器修改过的信息;设置为 false,显示经过签名的原始信息。 + + + 是否签名发送的聊天消息。 + + + 是否签名指令中的消息。例如"/msg"和"/me"中的消息。 + + + §保存备份文件({0})时出错:§r + + + 颜色测试:终端应该显示:{0} + + + §8密钥和哈希值已生成: + + + §8无法从磁盘中加载聊天签名密钥。 + + + §8已成功从磁盘中加载聊天签名密钥。 + + + §8正在请求{0} + + + §8无法从磁盘加载缓存的会话数据。 + + + §8已成功从磁盘中加载会话数据。 + + + 成功!(会话ID:{0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8在刷新身份验证时接收到服务器错误:{0} + + + 无法连接到此IP。 + + + §8尝试连接到此IP时超时。 + + + 无法确定服务器版本。 + + + §8Forge登录握手未成功完成 + + + §8Forge StartEncryption握手未成功完成 + + + 无法为此Minecraft版本强制启动Forge支持! + + + 该生成器命令用法无效! + + + 提供的路径必须指向一个.json格式的文件! + + + 提供的数据路径无效! (路径不存在或是输入错误) + + + §8接收到服务器错误:{0} + + + §8对StartEncryption数据包的响应无效 + + + §8对握手包的响应无效 + + + This feature requires Inventory Handling to be enabled in order to work! + + + 加入服务器时发生错误。 + + + 登录失败: + + + 用户名/密码错误、IP被禁用或登录次数过多。 + + + 用户取消。 + + + 帐户已迁移,请使用电子邮件作为用户名。 + + + 网络错误。 + + + 不是Premium用户。 + + + 服务器返回了无效的响应。 + + + 登录服务器不可用。请稍后再试。 + + + SSL错误。 + + + 未知错误。 + + + 无法登录到此服务器。 + + + 缺少参数 {0} + + + §8服务器未报告其协议版本,自动检测将不起作用。 + + + ping此IP失败。 + + + 此Realms世界不存在或访问被拒绝 + + + 正在尝试加入Realms世界,但配置中禁用了Realms支持 + + + 无法获取您Realms世界的服务器IP + + + Realms服务器ID无效或未知。 + + + Realms服务器可能需要一些时间来启动。请稍后再试。 + + + {0}:无效语法,应为 --argname=value 或 --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + 连接超时 + + + §8来自服务器的意外响应(这是Minecraft服务器吗?) + + + 无法连接到服务器:不支持此版本! + + + 使用方法: + + + §8服务器报告的版本与手动设置的版本不同。登录可能无法工作。 + + + 不应在构造函数中调用ChatBot的方法,因为作为API处理程序的模块尚未初始化。请重写 Initialize() 或 AfterGameJoined() 来执行初始化任务。 + + + 提供的脚本没有有效的MCCScript头 + + + 无法处理传入的{0}类型的数据包。(数据包ID:{1},协议:{2},登陆阶段:{3},内部异常:{4})。 + + + 请为此Minecraft版本更新方块类型处理。详细请参考 Material.cs + + + 请为此Minecraft版本更新实体类型处理。详细请参考 EntityType.cs + + + 请为此Minecraft版本更新物品类型处理。详细请参考 ItemType.cs + + + 请为此Minecraft版本更新数据包类型调色板。详细请参考 PacketTypePalette.cs + + + 未知方向 + + + 用户发起的注销应该通过调用Disconnect()来完成 + + + 版本{0}的协议未被支持。 + + + §c该MC版本当前还不支持处理实体。 + + + 请先在配置文件中启用"Main.Advanced.entity_handling"。 + + + 容器# {0}已关闭。 + + + §c该MC版本目前未支持处理库存(物品)。 + + + 库存(物品)处理现在已启用。 + + + 请使用 /inventory 来与其交互。 + + + 容器# {0}已开启:{1} + + + 请先在配置文件中启用"Main.Advanced.inventory_handling"。 + + + §c该游戏版本目前还不支持地形和移动处理。 + + + 地形和移动处理现在已启用。 + + + 请先在配置文件中启用地形和移动处理。 + + + §8[{0}] 无法初始化FileSystemWatcher,正在使用轮询重试 + + + §8[{0}] 正在为文件{1}初始化FileSystemWatcher + + + §8接受来自的服务器模组列表... + + + §8接受服务器注册表... + + + Forge服务器连接完成! + + + §8确认FML2服务器配置:{0} + + + §8收到FM2服务器模组列表 + + + §8发回FML2客户端的模组列表 + + + §8确认FML2服务器注册表:{0} + + + §8收到未知的FML2握手信息,编号:{0} + + + §8忽略未知的FML2登录消息通道:{0} + + + §8模组列表: + + + §8正在运行的服务器没有Forge模组。 + + + §8已接收的注册表包含{0}个条目 + + + §8已接收注册表{0},包含{1}个条目 + + + §8向服务器发送伪造的forge模组列表... + + + §8Forge协议版本:{0} + + + §8服务器正在运行Forge,有{0}个模组。 + + + 可用命令:{0} + + + 将会卸载此bot。 + + + 完成 + + + 失败 + + + OnInternalCommand: 来自{0}的错误{1} + + + help <命令名称> :显示有关命令的简要帮助。 + + + help <命令名称>。可用命令:{0}。在服务器上获取帮助,请改用 '{1}send /help'。 + + + 未知命令 '{0}'。请使用 'help' 命令来获取命令列表。 + + + 正在连接至{0}... + + + 连接失败: + + + 失去连接。 + + + 从服务器断开连接: + + + 未连接至任何服务器。输入 '{0}help' 获得帮助。 + + + 正在从微软获取聊天签名密钥。 + + + 检查服务器是否正在运行Forge... + + + 正在强制启动Forge支持。 + + + §8已找到服务器{0}:{1},域名:{2} + + + 已生成新的配置文件 "{0}" 。 + + + 已完成从 {0} 信息生成,使用 {1} + + + 正在从 {1} 生成 {0} 信息。 + + + §8握手成功。 (服务器ID:{0}) + + + §e新版本的MCC已经推出:{0} + + + 帮助我们翻译MCC:{0} + + + 解析配置文件失败,输入 "{0}new" 以生成一个新的配置。 + + + 服务器IP: + + + 已成功加入服务器。 +输入 '{0}quit' 离开服务器。 + + + 链接:{0} + + + 账户名: + + + 请输入用户名或邮箱。 + + + §8无法执行{0}的SRV解析 +{1}:{2} + + + §8您正在使用离线模式。 + + + 密码: + + + 请输入用户 {0} 的密码。 + + + 密码(不会显示):{0} + + + 你死了!输入 '{0}respawn' 重生。 + + + 你死了!1秒后自动重生。 + + + 或者敲击回车退出Minecraft Console Client。 + + + §8缓存的聊天签名密钥需要刷新。 + + + §8{0}的聊天签名密钥缓存仍然有效. + + + #NAME? + + + 请使用"realms:<序号>"作为服务器IP加入Realms世界 + + + 等待5秒 (剩余{0}次尝试)... + + + 正在解析{0}... + + + 正在重启Minecraft Console Client... + + + 等待 {0} 秒后重启... + + + 正在获取服务器信息... + + + +MCC正在使用默认配置运行。 + + + §8服务器正处于离线模式。 + + + §8服务器的Minecraft版本:{0} (协议v{1}) + + + 服务器版本: + + + 检查会话... + + + 检查会话失败 + + + §8会话缓存无效或已过期。 + + + §8{0}的会话缓存仍然有效。 + + + §c配置文件 MinecraftClient.ini 已经生成。 + + + §7已发送命令§8 {0} + + + §8未知或不受支持的Minecraft版本{0}。 +正在切换至自动检测模式。 + + + §8正在运行Minecraft版本{0} (v{1}协议) + + + 该版本受到支持 +正在登录... + + + , 带有Forge + + + §8已连接到代理{0}:{1} + + + 在可用时加载应用于MCC的翻译,关闭则仅使用英语。 + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/Translations/Translations.zh-Hant.resx b/MinecraftClient/Resources/Translations/Translations.zh-Hant.resx new file mode 100644 index 00000000..cdd1cdf7 --- /dev/null +++ b/MinecraftClient/Resources/Translations/Translations.zh-Hant.resx @@ -0,0 +1,2662 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + §c天氣變化:雨停了。§r + + + §c天氣變化:現在不再是雷雨天了。§r + + + §c天氣變化:開始下雨了。§r + + + §c天氣變化:現在是雷雨天。§r + + + 當前提供的行走範圍無效,它必須是一個大於0的正整數,將使用預設值5! + + + 當前未啟用地形處理,如果你想使用相關的特性,請在設定中啟用它。當前將繼續使用替代方法執行(定時傳送命令)。 + + + 最短時間大於最長時間,已將它們交換。 + + + 攻擊冷卻時間值不能小於0,已使用自動作為預設值 + + + 製作被終止!請檢查可用材料。 + + + 自動製作ChatBot命令的別名 + + + 可用命令:{0}。可使用 /autocraft help <命令名> 瞭解更多資訊。您可以使用 /ac 作為命令別名。 + + + 容器#{0}被AutoCraft關閉 + + + 自動製作ChatBot命令 + + + 已載入{0}個配方:{1} + + + 將配置重置為預設值 + + + 製作失敗!等待更多材料 + + + 找不到配置。請新建一個。 + + + 分析配置時出錯:{0} + + + 指定了重複的配方名稱:{0} + + + 解析配方時缺少配方名稱 + + + 獲取命令描述。用法: /autocraft help <命令名> + + + 列出可用配方。 + + + 載入配置檔案。 + + + 重新載入配置檔案。 + + + 將預設示例配置寫入預設位置。 + + + 開始製作。用法:/autocraft start <配方名稱> + + + 停止當前正在進行的製作過程 + + + 無效的輸出物品! + + + 配方的物品數量不匹配,已自動調整。 + + + 已成功載入 + + + 缺失材料:{0} + + + 請指定要製作的配方名稱。 + + + 指定的配方名稱不存在。請檢查配置檔案。 + + + AutoCraft啟動中:{0} + + + 無法啟動AutoCraft。請檢查用於製作{0}的可用材料 + + + AutoCraft已停止 + + + 找不到工作臺 + + + 動作超時!原因:{0} + + + 可用命令:{0}。可使用 /digbot help <命令名> 瞭解更多資訊。 + + + 自動挖掘 ChatBot 命令 + + + 挖掘方塊超時,重試。 + + + 獲取命令描述。用法:/digbot help <命令名> + + + 開始執行自動挖掘。 + + + 停止執行自動挖掘。 + + + 當前所看向的方塊不在允許挖掘列表中。 + + + 開始自動挖掘。 + + + 將在 {0:0.0} 秒後開始自動挖掘。 + + + 停止自動挖掘。 + + + 已新增物品{0} + + + 自動丟棄 ChatBot 命令別名 + + + 自動丟棄 ChatBot 命令 + + + 物品名稱不正確:{0}。請再試一次。 + + + 列表中總計{0}個物品: + {1} + + + 找不到容器{0}! + + + 列表中沒有物品 + + + 無法從配置中讀取丟棄模式(drop mode)。使用Include模式。 + + + 物品不在列表中 + + + 已禁用自動丟棄 + + + 已啟用自動丟棄 + + + 已刪除物品{0} + + +  切換到{0}模式。 + + + 未知模式。可用的模式:Include, Exclude, Everything + + + 可用命令:{0}。可使用 /fish help <命令名> 瞭解更多資訊。 + + + 拋竿超時,將在等待一段時間後重試。(超時時間延長至 {0:0.0} 秒) + + + 收竿!(總計第 {0} 次) + + + 收竿 (位於 {0:0.0},{1:0.0},{2:0.0}) !(總計第 {3} 次) + + + 自動釣魚 ChatBot 命令 + + + 魚鉤消失,將會重新拋竿。 + + + 釣魚超時,將於幾秒鐘後重新拋竿。 + + + 釣到了 {0} + + + 獲取命令描述。用法:/fish help <命令名> + + + 開始自動釣魚。 + + + 列出釣到的物品。或者使用 "/fish status clear" 清空該列表。 + + + 停止自動釣魚。 + + + 未啟用庫存(物品)處理。將不支援檢查魚竿耐久度都和自動切換魚竿。 + + + 沒有可使用的釣魚竿了。也許是用壞了或耐久度過低? + + + 開始自動釣魚。 + + + 將在 {0:0.0} 秒後自動開始釣魚。 + + + 已清空釣到的物品資訊。 + + + 所有釣到的物品(不完全準確): + + + 停止自動釣魚。 + + + 切換到位於揹包 {0} 位置的魚竿,剩餘耐用 {1}/64。 + + + 拋竿成功。 + + + 更新當前朝向 偏航角(yaw) = {0:0.00}, 俯仰角(pitch) = {1:0.00}。 + + + 當前目錄為:{0} + + + 連線斷開,收到訊息:{0} + + + 由使用者或MCC bot啟動的斷開連線。忽略。 + + + 已啟動,嘗試了{0}次重新連線 + + + 已載入訊息:{0} + + + 從檔案{0}載入訊息 + + + 在沒有kick訊息檔案的情況下初始化 + + + 找不到檔案或目錄:{0} + + + 資訊包含 '{0}'。重新連線。 + + + 忽略kick訊息,仍要重新連線。 + + + 不包含任何已定義關鍵字的訊息,忽略。 + + + 等待{0:0.000}秒後重新連線... + + + 找不到檔案或目錄: '{0}' + + + 載入匹配項: +{0} + + + 正在從'{0}'載入匹配項 + + + match: {0} +regex: {1} +action: {2} +actionPrivate: {3} +actionOther: {4} +ownersOnly: {5} +cooldown: {6} + + + 進行操作:{0} + + + 匹配沒有對應操作: +{0} + + + 這個匹配永遠不會觸發: +{0} + + + 路徑'{0}'包含無效字元。 + + + Sending message to Discord was canceled due an error occuring. For more info enable Debug. + + + The provided channel with an id '{0}' has not been found! + + + The command was executed with the result + + + Succesfully connected with MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. + + + Direction of the Discord Brdige has been switched to '{0}'! + + + Both + + + Discord + + + Minecraft + + + The provided guild/server with an id '{0}' has not been found! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" + + + Please provide a valid token! + + + An unknown error has occured! + + + The bot is already farming! + + + The bot has already stopped farming! + + + Crop type + + + Farming bot + + + Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! + + + Invalid radius provided, you must provide a valid integer number greater than 0! + + + The Farmer bot needs Inventory Handling in order to work, please enable it! + + + The Farmer bot needs Terrain Handling in order to work, please enable it! + + + Not implemented bellow 1.13! + + + Radius + + + Started farming! + + + Stopped farming! + + + Stoping farming, this might take a second... + + + You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! + + + You have enabled un-safe movement, the bot might get hurt! + + + Invalid parameter "{0}" provided (Use format: "key:value")! + + + Mailer 命令 + + + --- 忽略列表 --- +{0} + + + --- 資料庫中的郵件 --- +{0} + + + 檢視用法 + + + 新增{0}到忽略列表! + + + 丟失或無效的名稱。用法:{0}<使用者名稱> + + + {0}已從忽略列表中刪除! + + + 建立新資料庫檔案:{0} + + + 建立新忽略列表:{0} + + + 已傳送:{0} + + + 使用設定初始化Mailer: + + +  - 資料庫檔案:{0} + + +  - 最大資料庫大小:{0} + + +  - 忽略列表:{0} + + +  - 郵件保留天數:{0} + + +  - 每位玩家最多郵件數:{0} + + +  - 公開互動:{0} + + + 無法啟用Mailer:最大資料庫大小必須大於0。請檢查設定。 + + + 無法啟用Mailer:郵件保留天數必須大於0。請檢查設定。 + + + 無法啟用Mailer:每個玩家的最大郵件數必須大於0。請檢查設定。 + + + 載入資料庫檔案:{0} + + + 載入忽略列表: + + + 正在查詢要傳送的郵件 @ {0} + + + 正在儲存郵件:{0} + + + {0}已被忽略! + + + 渲染物品形式的地圖 + + + 無效的地圖編號,必須是一個數字。 + + + 沒有找到編號為 '{0}' 的地圖! + + + 無法渲染編號為 '{0}' 的地圖。 + + + - 地圖編號:{0}(最近更新於:{1}) + + + 沒有收到過地圖! + + + 從伺服器接收到的地圖有: + + + 收到一個編號為 {0} 的新地圖。 + + + 成功接收到地圖 '{0}' ,儲存為 '{1}' + + + Resized the rendered image of the map with id: '{0}' to {1}x{1}. + + + 由於當前終端尺寸限制,地圖大小由 ({0}x{1}) 縮小為 ({2}x{3}) 。 + + + Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! + + + Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! + + + replay 命令 + + + 已建立重播檔案。 + + + 錄製已停止。請重新啟動程式以進行另一段錄製。 + + + 錄製已停止。 + + + 指令碼'{0}'執行失敗 ({1})。 + + + 找不到檔案:'{0}' + + + §8[MCC] [{0}] 找不到指令碼檔案:{1} + + + 指令碼'{0}'載入。 + + + 已載入任務: +{0} + + + 任務沒有對應操作: +{0} + + + 這個任務永遠不會觸發: +{0} + + + 間隔 / 執行中的操作:{0} + + + 登入 / 執行中的操作:{0} + + + 時間 / 執行中的操作:{0} + + + triggeronfirstlogin: {0} + triggeronlogin: {1} + triggerontime: {2} + triggeroninterval: {3} + timevalue: {4} + timeinterval: {5} + action: {6} + + + Sending message to Telegram was canceled due an error occuring. For more info enable Debug. + + + The command was executed with the result + + + Succesfully connected with the MCC! + + + This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. + + + Direction of the Telegram Brdige has been switched to '{0}'! + + + Both + + + Minecraft + + + Telegram + + + Disconnected from from the MCC! + + + Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" + + + [WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! + + + [WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! + + + Please provide a valid bot token! + + + **🛑 Unauthorized access! 🛑 + +Add the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** + + + An unknown error has occured! + + + Bot:{0}說:{1} + + + Bot:{0}對我說:{1} + + + 提醒 + + + AntiAFK + + + 自動攻擊 + + + 自動合成 + + + 自動挖掘 + + + 自動丟棄 + + + 自動進食 + + + 自動釣魚 + + + 自動重連 + + + 自動回覆 + + + 聊天日誌 + + + DiscordBridge + + + 自動種植 + + + 跟隨玩家 + + + HangmanGame + + + 郵差 + + + 地圖 + + + PlayerListLogger + + + RemoteControl + + + ReplayCapture + + + 指令碼 + + + ScriptScheduler + + + TelegramBridge + + + TestBot + + + §8從磁碟轉換會話快取:{0} + + + §8忽略無效的會話令牌行:{0} + + + §8忽略無效的聊天簽名金鑰行:{0} + + + §8忽略會話令牌字串'{0}':{1} + + + §8忽略聊天簽名金鑰字串 '{0}':{1} + + + §8已載入會話:{0}:{1} + + + §8已載入簽名金鑰,下次重新整理於 {0} + + + §8載入Minecraft配置檔案:{0} + + + §8從磁碟載入聊天簽名金鑰快取: {0} + + + §8從磁碟載入會話快取:{0} + + + §8從磁碟讀取序列化會話快取時,獲取到格式錯誤的資料:{0} + + + §8無法從磁碟讀取序列化會話快取:{0} + + + §8無法從磁碟讀取會話快取:{0} + + + §8無法從磁碟讀取聊天簽名金鑰快取:{0} + + + §8無法將會話快取寫入磁碟:{0} + + + §8無法將聊天簽名金鑰寫入磁碟:{0} + + + §8將會話快取儲存到磁碟 + + + §8將聊天簽名金鑰儲存到磁碟 + + + §8下載完成。檔案另存為 '{0}' + + + §8正在從Mojang伺服器下載語言檔案 '{0}.lang'... + + + §8下載檔案失敗。 + + + §8預設為你的Minecraft目錄中的en_GB.lang + + + §8已載入翻譯檔案。 + + + 玩家 {0} 的訊息簽名鏈已經被破壞。(簽名不在可信) + + + §8找不到翻譯檔案:'{0}' +如果沒有此檔案,某些資訊將無法正確列印。 + + + §8正在請求{0}... + + + [{0}] 斷開並重新連線到伺服器 + + + 揮動你的手臂。 + + + 沒有找到床! + + + 無法安全地到達床邊! + + + 用於右鍵床開始睡覺或離開正在睡覺的床。 + + + 無法在30秒內到達(X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}),放棄本次尋路。 + + + 在 (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) 找到了一個床。 + + + 成功地躺在了床上! + + + 已向伺服器傳送離開床的資料包。 + + + 正在移動到床所在的位置: (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) + + + 位於 (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) 的方塊不是一個床! + + + 上床睡覺失敗了。(PS: 你必須使用床頭對應的座標) + + + 在半徑為{0}的範圍內尋找床... + + + 試圖在位於 (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) 上的床上睡覺,結果:{3} + + + Blocks around + + + Block type + + + Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). + + + Negative + + + Positive + + + 列出全部 ChatBot ,載入或解除安裝一個 ChatBot。 + + + 已載入的 ChatBot + + + 沒有 ChatBot 被載入。 + + + 該 ChatBot 並未載入,請檢查輸入。 + + + 成功解除安裝 ChatBot:{0} + + + 成功解除安裝所有 ChatBot。 + + + 已變更為欄位{0} + + + 變更快捷欄欄位 + + + 無法變更欄位 + + + 無法變更欄位:不是數字 + + + 區塊:({0}, {1})。 + + + 當前位置:{0},所在區塊:({1}, {2})。 + + + 顯示區塊載入狀態。 +如果顯示錯亂竟在設定中更改 EnableEmoji=false 。 + + + §x§0此命令僅用於除錯使用,確保你已經瞭解執行該命令會造成的影響。§r + + + 玩家:{0},標記的區塊:{1},未收到:{2},載入中:{3},已載入:{4} + + + 標記的位置: + + + §x§0由於被標記的區塊距離玩家太遠,它不會被顯示在圖中§r + + + 連線到指定的伺服器。 + + + 無效的伺服器IP '{0}'。 + + + 未知帳戶 '{0}'。 + + + 切換除錯訊息。 + + + 除錯訊息現在已關閉 + + + 除錯訊息現在已開啟 + + + 試圖破壞一個方塊 + + + 嘗試挖掘位於({0}, {1}, {2})的方塊({3})。 + + + 無法開始挖掘方塊。 + + + 這個地方沒有方塊 (空氣) + + + 你離這個方塊太遠了。 + + + 丟棄玩家容器中的指定型別物品或開啟的容器 + + + 已從容器#{1}中丟棄所有{0} + + + 未知物品:{0} + + + Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! + + + Enchant an item when you have the Enchantment table opened and the list of enchants recieved. + + + You must put an item inside the enchanting table in slot 0! + + + You must put at least 3 lapis lazuli inside the enchanting table in slot 1! + + + You must open a an enchanting table in order to use this option! + + + Invalid slot provided (Available: top, middle, bottom)! + + + You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! + + + You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). + + + Could not click! + + + 已攻擊實體 + + + 靴子 + + + 胸甲 + + + 自定義名稱 + + + 距離 + + + 實體集 + + + 實體 + + + 裝備 + + + 生命值 + + + 頭盔 + + + 物品 + + + 延遲 + + + 護腿 + + + 位置 + + + 主手 + + + 暱稱 + + + 找不到實體 + + + 副手 + + + 姿勢 + + + 型別 + + + 已使用實體 + + + 允許你在某個條件成立時執行一個命令。(你可以使用"MinecraftClient.ini"中的變數和使用"/set"命令定義的變數,以及CSharp表示式)。 + + + 錯誤:{0} + + + 在執行命令 {0} 時出現錯誤。 + + + 條件'{0}'滿足,已執行命令'{1}',得到結果'{2}'。 + + + 條件'{0}'滿足,已執行命令'{1}',該命令沒有返回任何結果。 + + + 依次執行多個命令。 + + + 執行了命令 '{0}' , + + + 沒有返回結果! + + + 結果為 '{0}'! + + + 斷開與伺服器的連線。 + + + 已經在跟隨 {0} 了! + + + 已經停止過了 + + + 無法尋路到該玩家,有可能他在沒有載入的區塊中,或是距離太遠,也有可能是間隙或水體等障礙使機器人無法到達。 + + + 讓機器人跟隨指定的玩家 + + + 提供的玩家名無效! + + + 指定的玩家沒有上線或距離太遠! + + + 注意:此機器人的速度很慢,你需要慢慢地走,而且要保持很近的距離,這樣它才能跟上,有點像拿著食物讓動物跟著你。這是由於尋路演算法的限制,我們正在努力改進它。 + + + 已暫停! + + + 玩家 {0} 回到了可尋路範圍之內! + + + 玩家 {0} 離開了伺服器! + + + 玩家 {0} 離開了可尋路範圍! + + + 繼續跟隨! + + + 開始跟隨 {0}! + + + Stopped! + + + 已停止! + + + 切換為跟隨 {0}! + + + 啟用了允許途徑不安全位置(注意:機器人可能會受傷或死亡!) + + + follow <player name|stop> [-f] (使用 -f 允許機器人途徑不安全的地方) + + + 顯示生命值和飽食度。 + + + 生命值:{0},飽食度:{1},等級:{2},總經驗值:{3} + + + {0}鍵點選容器#{2}中的欄位{1} + + + 關閉容器 #{0} + + + 關閉容器失敗 #{0} + + + 找不到容器,請使用顯式ID重試 + + + 請求清除欄位 #{0} + + + 向容器#{2}請求{0} x{1} + + + 請求創造模式操作失敗 + + + 耐久損耗 + + + 容器相關命令 + + + 從欄位#{0}中丟棄了1個物品 + + + 從欄位#{0}中丟棄了所有堆疊的物品 + + + 找到物品 + + + 可用操作 + + + 基本用法 + + + 單擊物品。 + + + 關閉開啟的容器。 + + + 在創造性模式中清除欄位。 + + + 在創造模式中給予物品。 + + + 從容器中丟棄物品。 + + + {0} +使用 '/inventory help <action>' 獲取幫助。 +'player' 和 'container' 可以簡化為 'p' 和 'c'。 +請注意,'[]' 中的引數是可選的。 + + + 列出所有可用的視窗。 + + + 列出所有容器。 + + + 在開啟的所有視窗中搜索物品。 + + + 按住Shift鍵點選一個物品。 + + + 未知操作。 + + + 用法 + + + 您選擇的快捷欄是{0} + + + 容器 + + + 可用容器 + + + 容器 + + + + + + 中間 + + + 你必須在創造模式 + + + 在任何視窗中都沒有找到該物品! + + + 欄位#{0}中沒有物品 + + + 容器#{0}不存在 + + + + + + 按住Shift鍵點選容器#{1}中的欄位{0} + + + 執行Shift點選失敗,這可能是因為該容器型別目前不被支援。 + + + 獲取玩家列表。 + + + 玩家列表:{0} + + + 將文字記錄到控制檯。 + + + 當前視角 偏航角:{0} 俯仰角:{1}。 + + + 正看向位於 {0} 的方塊。 + + + 檢視方向或座標。 + + + 與視線相交的第一個方塊是 {0} ({1:0}, {2:0}, {3:0}),距離玩家 {4:0.0}({5:0.0})。 + + + 在 {0} 米內沒有任何方塊與視線相交。 + + + 未知方向 '{0}'。 + + + 區塊載入進度:{0:P} - 共{2}個,載入完成了{1}個。 + + + 目標位置所在的區塊還沒有被載入。你可以使用"/chunk status {0:0.0} {1:0.0} {2:0.0}"來檢視區塊的載入狀態。 + + + 移動或開始移動。 + + + 不能朝此方向移動。 + + + 禁用地形和移動。 + + + 在下次伺服器登入、重生或更換世界時啟用地形和移動。 + + + 無法計算到達{0}的路徑。 + + + 重力已關閉。 + + + 重力已開啟。 + + + 移動{0} + + + 無法計算安全到達{0}的路徑. 請使用 -f 引數允許不安全移動。 + + + 移動到{0} + + + 重新啟動並重新連線到伺服器。 + + + 重新載入MCC的設定。 + + + 重新載入設定完成! + + + 重新載入設定中... + + + 這條命令不會影響在連線到伺服器之前的某些設定。 + + + 一些通過命令列引數傳遞的設定可能會被覆蓋! + + + 你有可能需要重新連線(/reco)才能使某些設定生效。 + + + 由於技術限制,ReplayCapturer 將不會被強制過載! + + + 如果你死亡了,請用這個來重生。 + + + 你重生了。 + + + 執行指令碼檔案。 + + + 傳送聊天資訊或命令。 + + + 設定自定義 %variable%。 + + + 變數名範圍必須為 A-Za-z0-9。 + + + 隨機為自定義 %變數名% 賦值。 + + + setrnd 變數名 -7to17 + + + setrnd 變數名 字串1 "\"字串2\" 字串3" + + + 切換到潛行 + + + 你不在潛行狀態了。 + + + 現在你在潛行狀態。 + + + 當前TPS + + + 顯示伺服器當前tps (tick per second)。(可能不精確) + + + 放置一個方塊或開啟箱子 + + + 使用位於 ({0:0.0}, {1:0.0}, {2:0.0}) 的 {3}。 + + + 使用(左鍵單擊)手上的物品 + + + 使用了一個物品。 + + + 可以在某些欄位中以"%yourvar%"的形式使用。 +%username% 和 %serverip% 時保留的變數名。 + + + §c寫入設定檔案({0})時出錯:§r + + + =============================== # + Minecraft Console Client Bots # +=============================== # + + + 當檢測到特定聊天訊息或特定事件發生時提醒你 + # 對檢測特定玩家的聊天訊息很有用。 + + + 除了高亮顯示外,當檢測到一個詞時還會播放類似蜂鳴器的嗶嗶聲。 + + + 出現這些關鍵詞後該條訊息一定不觸發提醒。 + + + 日誌檔案的路徑。 + + + 是否將提醒訊息寫入到日誌檔案。 + + + 觸發提醒的聊天關鍵詞列表。 + + + 在開始下雨和停止下雨時觸發提醒。 + + + 在雷暴天氣的開始與結束觸發提醒。 + + + 在收到指定的關鍵詞後觸發提醒。 + + + 定期傳送命令,或讓機器人隨機走動,以避免檢測到掛機後被踢出伺服器 + # /!\啟用前請確保你的伺服器規則不禁止反AFK機制! +/!\如果啟用隨機移動,請將機器人圍在圍欄裡,以防走失!(建議尺寸5x5x5) + + + 傳送給伺服器的指令。 + + + 執行操作的間隔時間。(秒) + + + 在傳送指令時是否蹲下。 + + + 啟用地形處理,以使機器人能夠四處移動。 + + + 機器人可以隨機移動的範圍(注意:範圍越大,速度越慢) + + + 嘗試移動失敗幾次後在改為傳送命令模式。 + + + 自動攻擊周圍的生物 +使用此功能之前,你需要開啟實體處理。 +/!\確保你的伺服器允許使用自動攻擊。 +/!\伺服器外掛可能會認為此功能時作弊,並可能會封禁你的賬號,所以請自己檢查伺服器規則是否允許。 + + + 是否攻擊敵對生物。 + + + 是否攻擊被動生物。 + + + 每次攻擊間的冷卻時間,設定 "Custom = false" 以讓MCC自動計算攻擊速度。 + + + 所有可用的實體型別可以在這裏找到:https://bit.ly/3Rg68lp + + + 可選項:"Interact"(互動),"Attack"(攻擊) 或 "InteractAt"(互動並攻擊) + + + 將實體列表作為 "whitelist"(白名單)還是 "blacklist"(黑名單)。 + + + "single"(單目標) 或 "multi"(多目標)。一次攻擊一個生物還是範圍內的所有生物。 + + + "health"(生命值)或 "distance"(距離)。當使用"single"模式時,以哪一個屬性確定優先順序。 + + + 自動使用揹包中的物品進行合成。 +請看 https://mccteam.github.io/guide/chat-bots.html#auto-craft +你需要啟用庫存處理來使用這個功能 +如果需要使用工作臺,你還需要啟用地形處理。 + + + 如果你打算使用工作臺,請填寫它所在的位置。(需要啟用地形處理) + + + 合成失敗時應該怎麼處理,"abort"(中止)或 "wait"(等待)。 + + + Recipes.Name:給該配方起一個獨一無二的名字。(不能包含空白字元)Recipes.Type:合成型別,"player"(揹包2x2)或 "table"(工作臺3x3) +Recipes.Result:合成的目標物品 +Recipes.Slots:合成的物品擺放方式,以從左到右、從上到下的格式填寫。需留空請填寫"Null"。 +最新的物品命名請看:https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + 自動挖掘方塊。 +你需要啟用地形處理來使用這個功能。 +你可以使用 "/digbot start" 和 "/digbot stop" 指令來控制 AutoDig 的啟停。 +由於MCC目前還不支援精確計算方塊的碰撞體積,在獲取看向的方塊時,視線上所有的方塊都被看作是完整的立方體。 +查詢方塊的名字,請訪問 https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs + + + 進入遊戲後等待多少秒後開始自動挖掘,設定為-1禁用自動開始。 + + + 自動切換到合適的工具。 + + + 若挖掘一個方塊用時超過這個值,將會重新獲取目標進行挖掘。 + + + 在當前使用的工具耐久度過低後,是否丟掉它。 + + + 不會使用低於此耐久度的工具。(需要啟用庫存處理) + + + 將方塊列表作為 "whitelist"(白名單)還是 "blacklist"(黑名單)。 + + + "distance" 或 "index",當使用 "fixedpos" 模式時,按照到玩家的距離,還是列表中的順序確定挖掘的方塊。 + + + 使用 "fixedpos" 或 "both" 模式時,方塊的座標。 + + + 是否輸出挖掘方塊的相關資訊。 + + + "lookat","fixedpos" 或 "both"。挖掘看向的方塊還是固定位置的方塊,或者是兩個條件都滿足的方塊。 + + + 自動從揹包/庫存中丟棄指定的物品 +你需要啟用庫存處理來使用這個功能。 +可用物品請看 https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs + + + "include"(丟棄列表中的物品),"exclude"(丟棄列表外的所有物品) 或 "everything"(丟棄所有物品) + + + 在飽食度較低是自動在揹包中尋找食物食用。 +你需要啟用庫存處理來使用這個功能。 + + + 使用魚竿自動釣魚。指南:https://mccteam.github.io/guide/chat-bots.html#auto-fishing +你可以使用"/fish"命令來手動進行控制。 +/!\ 啟用前請確保伺服器允許自動釣魚。 + + + 如果你之前沒有啟用過這個選項,請保持它為 false 。 + + + 在當前魚竿不可用後自動切換到揹包中的其他魚竿。(需要啟用庫存處理) + + + 是否在進入伺服器後自動開始釣魚,禁用此功能後,你需要使用"/usehand"手動使用魚竿一次。 + + + 釣到魚後多久開始下一次釣魚(拋竿)。 + + + 不會使用低於此耐久度的魚竿(魚竿耐久度最高為64)。(需要啟用庫存處理) + + + 這允許玩家在釣到魚後改變其位置或朝向。(需要啟用地形處理) + + + 進入伺服器後多久後開始自動釣魚。(秒) + + + 多少秒後沒有釣到魚視為超時。超時後會重新拋竿。 + + + 一個「靜止」的魚鉤,在Y軸方向上的移動超過這個閾值將被認為釣到了魚。 + + + 用於調整以上兩個閾值,啟用後會在收到魚鉤實體移動資料包後列印其座標變化。 + + + 使用主手還是副手拿魚竿。 + + + 會按照 "1->2->3->4->3->2->1->2->..." 的順序執行。每次可用改變位置、朝向或是都改變。推薦只改變朝向。 + + + 魚鉤在X軸和Z軸方向上的移動小於這個值將被認為是靜止的,過高的閾值會在拋竿途中觸發收竿。 + + + 在被伺服器斷開連線時自動重連,例如伺服器重啟時。 +/!\ 謹慎使用Ignore_Kick_Message=true,這會在伺服器管理員將你踢出時依然連回! + + + 重新加入到伺服器前的延遲時間。(單位:秒) + + + 當設定為 true 時,將不考慮踢出的資訊直接重連。 + + + 如果踢出資訊與這其中的任何一個字串匹配,那麼將觸發自動重連。 + + + 重新登入伺服器失敗時的重試次數,使用-1表示無限重試。 + + + 當聊天訊息與檔案中的規則匹配時,自動執行指定命令。 +/!\ 伺服器管理員可以以任意玩家的身份傳送任意訊息,記住這一點! +此機器人如果設定的不得當可能會造成刷屏,建議設定一個冷卻時間。 + + + 不要刪除文字中的顏色程式碼(使用§字元的程式碼)。注意:啟用後你的匹配模板也必須包括顏色程式碼。 + + + 將聊天資訊寫入到日誌檔案中。 + + + This bot allows you to send and recieve messages and commands via a Discord channel. +For Setup you can either use the documentation or read here (Documentation has images). +Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge +Setup: +First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA . +/!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps! +When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe). +Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 . +Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom. +This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him. +Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode". +Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId". +Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId". +And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds". +How to use: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + The ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Discord message formatting, check the following: https://bit.ly/3F8CUCm + + + The ID of a server/guild where you have invited the bot to. + + + How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). + + + A list of IDs of people you want to be able to interact with the MCC using the bot. + + + Your Discord Bot token. + + + Automatically farms crops for you (plants, breaks and bonemeals them). +Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat. +Usage: "/farmer start" command and "/farmer stop" command. +NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes. +or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this. +It is recommended to keep the farming area walled off and flat to avoid the bot jumping. +Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects. +The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). + + + Delay between tasks in seconds (Minimum 1 second) + + + 讓機器人跟隨指定玩家 +注意這是一個實驗性的功能,目前的尋路速度可能很慢,你可能需要時常等一會機器人來讓它跟上你。 +你可以調整"Update_Limit",找到最適合你的速度。(注意不要設定的太低,這樣可能導致反效果或使MCC卡頓)。 +/!\ 在使用此功能之前,請先確保伺服器規則允許你這樣做。 + + + 如果玩家在該範圍內,則視為已經接近玩家了。(防止機器人將玩家推開而產生無限迴圈) + + + 機器人尋路的間隔時間(以秒為單位) + + + 一個用於演示聊天互動的小遊戲。玩家可以一次一個字母地猜出神祕的單詞。 +你需要正確地使用 ChatFormat,並在 botowners 中新增自己,用/tell <bot username> start +/!\ 這個機器人可能會造成刷屏,如果許多玩家與它互動。 + + + 在玩家和伺服器之間中繼訊息,就像一個郵件外掛一樣。 +這個機器人可以在收件人離線時儲存訊息,並在他們加入伺服器時傳送訊息。 +/!\ 伺服器管理員可以以任意玩家的身份傳送任意訊息,請記住這一點。 + + + 允許你將地圖渲染成.jpg圖片,該圖片會被渲染到Rendered_Maps資料夾中。 +注意:這個功能目前只對解決使用地圖的驗證碼有用。 +如果一些伺服器解決驗證碼的時間很短,請啟用Auto_Render_On_Update並準備快速開啟該檔案。 +在linux上,你可以使用FTP來訪問生成的檔案。 + + + 一旦接收到新的地圖或已有地圖被更新,自動渲染該地圖。 + + + 在解除安裝/重新載入地圖時刪除所有已渲染的地圖(退出MCC時不會刪除影象) + + + 當第一次從伺服器上收到一張地圖時,傳送一個通知。 + + + Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. + + + 是否在控制檯中渲染地圖。 + + + The size that a rendered image should be resized to, in pixels (eg. 512). + + + 是否將地圖儲存為檔案。 + + + Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!) +You need to enable Save_To_File in order for this to work. +We also recommend turning on resizing. + + + 定期記錄當前的玩家列表到檔案中。 + + + (單位:秒) + + + 通過遊戲中的私聊向機器人傳送MCC控制檯命令 +你需要先配置好[ChatFormat]章節的設定,並在[Main.Advanced.bot_owners]中新增自己的賬號。 +/!\ 伺服器管理員可以以任意玩家的身份傳送任意訊息,僅在信任他們時啟用本功能。 + + + 使用"/replay start"開始記錄遊戲,並在之後使用 Replay Mod (https://www.replaymod.com/) 進行重放。 +請注意,由於技術限制,玩家自身不會顯示在重放檔案中。 +/!\ 你應該使用"/replay stop"停止記錄或者使用"/quit"退出程式,否則回放檔案可能會損壞。 + + + 每間隔多少秒自動儲存一次回放檔案,以秒為單位。使用-1禁用自動儲存。 + + + 在加入伺服器時、到達特定時間時或以設定的時間間隔執行命令或指令碼檔案 +詳細使用方法請檢視 https://mccteam.github.io/guide/chat-bots.html#script-scheduler + + + This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel. +/!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel. +----------------------------------------------------------- +Setup: +First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather +Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation. +Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section). +/!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely. +Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it. +Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. +Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. +Now you can use the bot using it's DM. +/!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages! +/!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string! +----------------------------------------------------------- +NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want. +Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel. +/!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel". +/!\ Note that you will not be able to send messages to the client from a group channel! +----------------------------------------------------------- +How to use the bot: +To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" . +To send a message, simply type it out and hit enter. + + + A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. + + + An ID of a channel where you want to interact with the MCC using the bot. + + + Message formats +Words wrapped with { and } are going to be replaced during the code execution, do not change them! +For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time. +For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting + + + How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). + + + Your Telegram Bot token. + + + MCC會盡力檢測聊天資訊,但有些伺服器有不尋常的聊天格式 +當這種情況發生時,你需要在下面自定義匹配聊天所用的正規表示式,詳見 https://mccteam.github.io/guide/configuration.html#chat-format + + + 是否啟用MCC內建的聊天檢測規則。設定為 false 以避免與自定義格式衝突。 + + + 是否啟用下方的自定義正規表示式進行聊天檢測。 + + + 啟動配置檔案 + +對 MCC(Minecraft 命令列客戶端)不熟悉?請看這個文件:https://mccteam.github.io/guide/configuration.html + +想升級到較新的版本嗎?請訪問 https://github.com/MCCTeam/Minecraft-Console-Client/#download + + + 已從 {0} 載入設定。 + + + §c載入設定時出錯:§r + + + 此項設定僅會影響到控制檯中的資訊(日誌)。 + + + 過濾聊天訊息所用的正規表示式。 + + + 是否顯示來自伺服器的聊天訊息。 + + + 過濾除錯訊息所用的正規表示式。 + + + 請在提交錯誤報告之前先啟用此項。謝謝! + + + 顯示錯誤訊息。 + + + 過濾方式:"disable"(禁用),"blacklist"(隱藏匹配的訊息) 或 "whitelist"(僅顯示匹配的訊息) + + + 資訊性的訊息。(大部分來自MCC內部) + + + 日誌檔名稱。 + + + 是否將日誌資訊寫入到檔案。 + + + 寫入日誌檔案時是否新增時間戳。 + + + 是否保留訊息中的顏色字元。(例如"§b") + + + 顯示警告訊息。 + + + 在更改這裏的某項設定之前,請確保你理解了該選項的影響。 + + + AccountList:使你可以不用輸入賬號資訊而快速在多個賬號間切換 +可用命令示例:"/tell <mybot> reco Player2","/connect <serverip> Player1" + + + 死亡時自動重生(開啟前請確保你的出生點是安全的) + + + 設定機器人的所有者。/!\伺服器管理員可以偽裝成任何玩家! + + + 客戶端標識,可用 "mcc","vanilla"(原版客戶端) 或 "none"(空標識)。這用於改變MCC向伺服器傳送的客戶端標識內容。 + + + 留空將禁用 ChatBot 寫入日誌檔案。 + + + 如果關閉,Emoji表情符號將被替換成更簡單的字元(用於 "/chunk status" 命令) + + + 啟用實體處理。 + + + 發生錯誤時是否直接退出,用於在非互動式指令碼中使用MCC。 + + + MCC內部命令的字首,可使用 "none", "slash"(/) 或 "backslash"(\)。 + + + 啟用庫存處理(可操作揹包、箱子等容器)。 + + + 請使用Minecraft的語言程式碼填寫,詳見 https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 + + + 無效的語言程式碼! + + + 可使用 "auto"(自動),"no"(禁用) 或是 "force"(強制啟用,僅在 1.13 及更高的版本中可用)。 + + + 遊戲版本,可使用 "auto"(自動) 或類似 "1.X.X" 的值。設定具體版本將跳過從伺服器解析的過程。 + + + 控制向伺服器傳送訊息的最小間隔時間(秒)。 + + + 啟用對加入我的世界領域(Realms)伺服器的支援。 + + + 當使用終端高度來計算顯示的影象大小時,限制其最小高度。 + + + 當使用終端寬度來計算顯示的影象大小時,限制其最小寬度。 + + + 在移動時轉向頭部。 + + + 高於 2 的移動速度可能會被檢測為作弊。 + + + 使用玩家面板頭像作為視窗圖示,這僅在部分舊版控制檯中有效。 + + + 遠端控制功能將會使用它。 + + + 如何快取聊天簽名金鑰。可使用 "none"(不快取),"memory"(記憶體快取) 或 "disk"(磁碟快取)。 + + + 可填寫 "no","fast"(超時時間為五秒鐘)或是 "yes"。加入某些伺服器需要開啟此項。 + + + 快取已編譯的指令碼,以便在低端裝置上更快的載入。 + + + ServerList:可用使用伺服器別名快速連線到該伺服器 +別名不能包含空格和小數點",而且 "localhost" 不能作為別名使用。 +可用命令示例:"/tell <mybot> connect Server1","/connect Server2" + + + 如何快取會話令牌。可使用 "none"(不快取),"memory"(記憶體快取) 或 "disk"(磁碟快取)。 + + + 解碼聊天資訊裡的連結,並在控制檯單獨顯示。 + + + 以字元畫形式顯示庫存佈局。 + + + 顯示遊戲伺服器的系統訊息(來自管理員或命令方塊等)。 + + + 顯示經驗條上方的訊息,如果被此類訊息刷屏請禁用此選項。 + + + 可填寫 "none","bit_4","bit_8" 或 "bit_24"。可以通過除錯模式下的日誌檢測支援的顏色深度。 + + + 開啟地形處理將消耗更多的記憶體、CPU和網路頻寬,但這允許你進行移動以及和方塊互動。 + + + 與伺服器的TCP連線超時時間(秒)。 + + + 在聊天資訊頭部新增時間戳。 + + + Login請填寫郵箱或玩家名稱。若要以離線模式登入請使用"-"作為密碼。若留空則使用互動式登入。 + + + 遊戲伺服器的地址和埠,可填入域名或IP地址。(可刪除埠欄位,會自動解析SRV記錄) + + + 微軟賬戶的登入方式:mcc 或是 browser(手動在網頁上登入)。 + + + 帳戶型別:mojang 或是 microsoft。此項設定也會影響互動式登入。 + + + 下面的設定將會被髮送到遊戲伺服器,隻影響一些伺服器端的東西,比如你的面板。 + + + 這允許你在伺服器端禁用聊天顏色。 + + + 使用 "enabled"(完全啟用聊天)、"commands"(僅限命令)或 "disabled"(完全禁用聊天)。這允許你禁言自己... + + + Minecraft 1.7及更早版本難度。"peaceful","easy","normal","difficult"。 + + + 如果禁用,下面的設定就不會被髮送到伺服器上。 + + + 請使用Minecraft的語言程式碼填寫,詳見[Main.Advanced.Language] + + + 在1.9及更高版本中的主手設定。"left"(左手) 或 "right"(右手)。 + + + 渲染距離,取值範圍[0 - 255]。 + + + 通過代理連線到伺服器。 +如果Mojang/微軟登入服務被防火牆阻斷,設定Enabled_Login=true以使用代理進行登入。 +如果到Minecraft遊戲伺服器的連線被防火牆阻止,設定Enabled_Ingame=true以使用代理連線遊戲伺服器。 +/!\ 在啟用代理前,請確保你的伺服器規則允許使用代理或VPN,否則你可能面臨被封禁等風險! + + + 是否通過代理連線Minecraft遊戲伺服器。 + + + 是否使用代理連線Mojang或微軟的登入伺服器。 + + + 只有連線到受密碼保護的代理才需要。 + + + 支援的代理型別:"HTTP","SOCKS4","SOCKS4a","SOCKS5"。 + + + 代理伺服器必須允許HTTPS登入。 + + + 只有連線到受密碼保護的代理才需要。 + + + §a當前設定已儲存至 {0} + + + 聊天簽名相關設定(影響1.19及以上版本) + + + 僅微軟賬戶可用。如禁用此項,將無法簽名訊息和進入某些的伺服器。 + + + 是否使用紅色色塊標識沒有合法簽名的聊天。 + + + 是否使用綠色色塊標識擁有合法簽名的聊天。 + + + 是否使用黃色色塊標識被伺服器更改過的聊天。 + + + 是否使用灰色色塊標識系統訊息(它們總是不會被簽名)。 + + + 是否顯示沒有被正確簽名的聊天訊息。 + + + 設定為 true,顯示被伺服器修改過的資訊;設定為 false,顯示經過簽名的原始資訊。 + + + 是否簽名傳送的聊天訊息。 + + + 是否簽名指令中的訊息。例如"/msg"和"/me"中的訊息。 + + + §儲存備份檔案({0})時出錯:§r + + + 顏色測試:終端應該顯示:{0} + + + §8金鑰和雜湊值已生成: + + + §8無法從磁碟中載入聊天簽名金鑰。 + + + §8已成功從磁碟中載入聊天簽名金鑰。 + + + §8正在請求{0} + + + §8無法從磁碟載入快取的會話資料。 + + + §8已成功從磁碟中載入會話資料。 + + + 成功!(會話ID:{0}) + + + Bottom slot + + + Enchantments available + + + Levels + + + Middle slot + + + Top slot + + + §8在重新整理身份驗證時接收到伺服器錯誤:{0} + + + 無法連線到此IP。 + + + §8嘗試連線到此IP時超時。 + + + 無法確定伺服器版本。 + + + §8Forge登入握手未成功完成 + + + §8Forge StartEncryption握手未成功完成 + + + 無法為此Minecraft版本強制啟動Forge支援! + + + 該生成器命令用法無效! + + + 提供的路徑必須指向一個.json格式的檔案! + + + 提供的資料路徑無效! (路徑不存在或是輸入錯誤) + + + §8接收到伺服器錯誤:{0} + + + §8對StartEncryption資料包的響應無效 + + + §8對握手包的響應無效 + + + This feature requires Inventory Handling to be enabled in order to work! + + + 加入伺服器時發生錯誤。 + + + 登入失敗: + + + 使用者名稱/密碼錯誤、IP被禁用或登入次數過多。 + + + 使用者取消。 + + + 帳戶已遷移,請使用電子郵件作為使用者名稱。 + + + 網路錯誤。 + + + 不是Premium使用者。 + + + 伺服器返回了無效的響應。 + + + 登入伺服器不可用。請稍後再試。 + + + SSL錯誤。 + + + 未知錯誤。 + + + 無法登入到此伺服器。 + + + 缺少引數 {0} + + + §8伺服器未報告其協議版本,自動檢測將不起作用。 + + + ping此IP失敗。 + + + 此Realms世界不存在或訪問被拒絕 + + + 正在嘗試加入Realms世界,但配置中禁用了Realms支援 + + + 無法獲取您Realms世界的伺服器IP + + + Realms伺服器ID無效或未知。 + + + Realms伺服器可能需要一些時間來啟動。請稍後再試。 + + + {0}:無效語法,應為 --argname=value 或 --section.argname=value + + + This feature requires Terrain And Movements to be enabled in order to work! + + + 連線超時 + + + §8來自伺服器的意外響應(這是Minecraft伺服器嗎?) + + + 無法連線到伺服器:不支援此版本! + + + 使用方法: + + + §8伺服器報告的版本與手動設定的版本不同。登入可能無法工作。 + + + 不應在建構函式中呼叫ChatBot的方法,因為作為API處理程式的模組尚未初始化。請重寫 Initialize() 或 AfterGameJoined() 來執行初始化任務。 + + + 提供的指令碼沒有有效的MCCScript頭 + + + 無法處理傳入的{0}型別的資料包。(資料包ID:{1},協議:{2},登陸階段:{3},內部異常:{4})。 + + + 請為此Minecraft版本更新方塊型別處理。詳細請參考 Material.cs + + + 請為此Minecraft版本更新實體型別處理。詳細請參考 EntityType.cs + + + 請為此Minecraft版本更新物品型別處理。詳細請參考 ItemType.cs + + + 請為此Minecraft版本更新資料包型別調色盤。詳細請參考 PacketTypePalette.cs + + + 未知方向 + + + 使用者發起的登出應該通過呼叫Disconnect()來完成 + + + 版本{0}的協議未被支援。 + + + §c該MC版本當前還不支援處理實體。 + + + 請先在配置檔案中啟用"Main.Advanced.entity_handling"。 + + + 容器# {0}已關閉。 + + + §c該MC版本目前未支援處理庫存(物品)。 + + + 庫存(物品)處理現在已啟用。 + + + 請使用 /inventory 來與其互動。 + + + 容器# {0}已開啟:{1} + + + 請先在配置檔案中啟用"Main.Advanced.inventory_handling"。 + + + §c該遊戲版本目前還不支援地形和移動處理。 + + + 地形和移動處理現在已啟用。 + + + 請先在配置檔案中啟用地形和移動處理。 + + + §8[{0}] 無法初始化FileSystemWatcher,正在使用輪詢重試 + + + §8[{0}] 正在為檔案{1}初始化FileSystemWatcher + + + §8接受來自的伺服器模組列表... + + + §8接受伺服器登錄檔... + + + Forge伺服器連線完成! + + + §8確認FML2伺服器配置:{0} + + + §8收到FM2伺服器模組列表 + + + §8發回FML2客戶端的模組列表 + + + §8確認FML2伺服器登錄檔:{0} + + + §8收到未知的FML2握手資訊,編號:{0} + + + §8忽略未知的FML2登入訊息通道:{0} + + + §8模組列表: + + + §8正在執行的伺服器沒有Forge模組。 + + + §8已接收的登錄檔包含{0}個條目 + + + §8已接收登錄檔{0},包含{1}個條目 + + + §8向伺服器傳送偽造的forge模組列表... + + + §8Forge協議版本:{0} + + + §8伺服器正在執行Forge,有{0}個模組。 + + + 可用命令:{0} + + + 將會解除安裝此bot。 + + + 完成 + + + 失敗 + + + OnInternalCommand: 來自{0}的錯誤{1} + + + help <命令名稱> :顯示有關命令的簡要幫助。 + + + help <命令名稱>。可用命令:{0}。在伺服器上獲取幫助,請改用 '{1}send /help'。 + + + 未知命令 '{0}'。請使用 'help' 命令來獲取命令列表。 + + + 正在連線至{0}... + + + 連線失敗: + + + 失去連線。 + + + 從伺服器斷開連線: + + + 未連線至任何伺服器。輸入 '{0}help' 獲得幫助。 + + + 正在從微軟獲取聊天簽名金鑰。 + + + 檢查伺服器是否正在執行Forge... + + + 正在強制啟動Forge支援。 + + + §8已找到伺服器{0}:{1},域名:{2} + + + 已生成新的配置檔案 "{0}" 。 + + + 已完成從 {0} 資訊生成,使用 {1} + + + 正在從 {1} 生成 {0} 資訊。 + + + §8握手成功。 (伺服器ID:{0}) + + + §e新版本的MCC已經推出:{0} + + + 幫助我們翻譯MCC:{0} + + + 解析配置檔案失敗,輸入 "{0}new" 以生成一個新的配置。 + + + 伺服器IP: + + + 已成功加入伺服器。 +輸入 '{0}quit' 離開伺服器。 + + + 連結:{0} + + + 賬戶名: + + + 請輸入使用者名稱或郵箱。 + + + §8無法執行{0}的SRV解析 +{1}:{2} + + + §8您正在使用離線模式。 + + + 密碼: + + + 請輸入使用者 {0} 的密碼。 + + + 密碼(不會顯示):{0} + + + 你死了!輸入 '{0}respawn' 重生。 + + + 你死了!1秒後自動重生。 + + + 或者敲擊回車退出Minecraft Console Client。 + + + §8快取的聊天簽名金鑰需要重新整理。 + + + §8{0}的聊天簽名金鑰快取仍然有效. + + + #NAME? + + + 請使用"realms:<序號>"作為伺服器IP加入Realms世界 + + + 等待5秒 (剩餘{0}次嘗試)... + + + 正在解析{0}... + + + 正在重啟Minecraft Console Client... + + + 等待 {0} 秒後重啟... + + + 正在獲取伺服器資訊... + + + +MCC正在使用預設配置執行。 + + + §8伺服器正處於離線模式。 + + + §8伺服器的Minecraft版本:{0} (協議v{1}) + + + 伺服器版本: + + + 檢查會話... + + + 檢查會話失敗 + + + §8會話快取無效或已過期。 + + + §8{0}的會話快取仍然有效。 + + + §c配置檔案 MinecraftClient.ini 已經生成。 + + + §7已傳送命令§8 {0} + + + §8未知或不受支援的Minecraft版本{0}。 +正在切換至自動檢測模式。 + + + §8正在執行Minecraft版本{0} (v{1}協議) + + + 該版本受到支援 +正在登入... + + + , 帶有Forge + + + §8已連線到代理{0}:{1} + + + 在可用時載入應用於MCC的翻譯,關閉則僅使用英語。 + + + setrnd variable -7to17 OR setrnd variable string1 "\"string2\" string3" + + + Please update health field handling for this Minecraft version. + + + Successfully disconnected with MCC! + + + You can not use execmulti or execif within execmulti command! + + + force unsafe movements like falling or touching fire + + + Inventory handling is not enabled. Unable to switch tools automatically. + + + Please use the newly generated MinecraftClient.ini + + + The old MinecraftClient.ini has been backed up as {0} + + \ No newline at end of file diff --git a/MinecraftClient/Resources/containers/ContainerType.BrewingStand.txt b/MinecraftClient/Resources/containers/ContainerType.BrewingStand.txt deleted file mode 100644 index c94ae40a..00000000 --- a/MinecraftClient/Resources/containers/ContainerType.BrewingStand.txt +++ /dev/null @@ -1,22 +0,0 @@ -╔═════════════════════════════════════╗ -║ Brewing Stand ║ -║ ╔═══╗ ⡈ ⠄╔═══╗ ║ -║ ║ 4 ╟───╮ ⢠⡐⢈║ 3 ║ ┃ ║ -║ ╚═══╝ ╭─╯ ⠂⡠⢂╚╦╦╦╝ ┃ ║ -║ ╰───■■■■ ║║║ ▼ ║ -║ ╔═══╦═╝║╚═╦═══╗ ║ -║ ║ 0 ║╔═╩═╗║ 2 ║ ║ -║ ╚═══╝║ 1 ║╚═══╝ ║ -║ Inventory ╚═══╝ ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ 1 2 3 4 5 6 7 8 9 ║ -╚═════════════════════════════════════╝ \ No newline at end of file diff --git a/MinecraftClient/Resources/containers/ContainerType.Crafting.txt b/MinecraftClient/Resources/containers/ContainerType.Crafting.txt deleted file mode 100644 index 36865cee..00000000 --- a/MinecraftClient/Resources/containers/ContainerType.Crafting.txt +++ /dev/null @@ -1,22 +0,0 @@ -╔═════════════════════════════════════╗ -║ Crafting ║ -║ ╔═══╦═══╦═══╗ ║ -║ ║ 1 ║ 2 ║ 3 ║ ║ -║ ╠═══╬═══╬═══╣ ╔═══╗ ║ -║ ║ 4 ║ 5 ║ 6 ║ ━━▶ ║ 0 ║ ║ -║ ╠═══╬═══╬═══╣ ╚═══╝ ║ -║ ║ 7 ║ 8 ║ 9 ║ ║ -║ ╚═══╩═══╩═══╝ ║ -║ Inventory ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║45 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ 1 2 3 4 5 6 7 8 9 ║ -╚═════════════════════════════════════╝ \ No newline at end of file diff --git a/MinecraftClient/Resources/containers/ContainerType.EnchantingTable.txt b/MinecraftClient/Resources/containers/ContainerType.EnchantingTable.txt deleted file mode 100644 index 1ec0dd57..00000000 --- a/MinecraftClient/Resources/containers/ContainerType.EnchantingTable.txt +++ /dev/null @@ -1,22 +0,0 @@ -╔═════════════════════════════════════╗ -║ Enchant ║ -║ ╔════════════════════╗ ║ -║ ║ Top ║ ║ -║ ╔═══╦═══╗ ╠════════════════════╣ ║ -║ ║ 0 ║ 1 ║ ║ Middle ║ ║ -║ ╚═══╩═══╝ ╠════════════════════╣ ║ -║ ║ Bottom ║ ║ -║ ╚════════════════════╝ ║ -║ Inventory ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║11 ║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║20 ║21 ║22 ║23 ║24 ║25 ║26 ║27 ║28 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║29 ║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ 1 2 3 4 5 6 7 8 9 ║ -╚═════════════════════════════════════╝ \ No newline at end of file diff --git a/MinecraftClient/Resources/containers/ContainerType.Furnace.txt b/MinecraftClient/Resources/containers/ContainerType.Furnace.txt deleted file mode 100644 index f0b7570a..00000000 --- a/MinecraftClient/Resources/containers/ContainerType.Furnace.txt +++ /dev/null @@ -1,23 +0,0 @@ -╔═════════════════════════════════════╗ -║ Container ║ -║ ╔═══╗ ║ -║ ║ 0 ║ ║ -║ ╚═══╝ ╔═══╗ ║ -║ ⠂⡠⢂ ━━▶ ║ 2 ║ ║ -║ ⠂⡠⢂ ╚═══╝ ║ -║ ╔═══╗ ║ -║ ║ 1 ║ ║ -║ ╚═══╝ ║ -║ Inventory ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ 1 2 3 4 5 6 7 8 9 ║ -╚═════════════════════════════════════╝ \ No newline at end of file diff --git a/MinecraftClient/Resources/containers/ContainerType.Generic_3x3.txt b/MinecraftClient/Resources/containers/ContainerType.Generic_3x3.txt deleted file mode 100644 index 9499be24..00000000 --- a/MinecraftClient/Resources/containers/ContainerType.Generic_3x3.txt +++ /dev/null @@ -1,22 +0,0 @@ -╔═════════════════════════════════════╗ -║ Container ║ -║ ╔═══╦═══╦═══╗ ║ -║ ║ 0 ║ 1 ║ 2 ║ ║ -║ ╠═══╬═══╬═══╣ ║ -║ ║ 3 ║ 4 ║ 5 ║ ║ -║ ╠═══╬═══╬═══╣ ║ -║ ║ 6 ║ 7 ║ 8 ║ ║ -║ ╚═══╩═══╩═══╝ ║ -║ Inventory ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ 1 2 3 4 5 6 7 8 9 ║ -╚═════════════════════════════════════╝ \ No newline at end of file diff --git a/MinecraftClient/Resources/containers/ContainerType.Generic_9x3.txt b/MinecraftClient/Resources/containers/ContainerType.Generic_9x3.txt deleted file mode 100644 index 9cdcb0aa..00000000 --- a/MinecraftClient/Resources/containers/ContainerType.Generic_9x3.txt +++ /dev/null @@ -1,22 +0,0 @@ -╔═════════════════════════════════════╗ -║ Container ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ Inventory ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ 1 2 3 4 5 6 7 8 9 ║ -╚═════════════════════════════════════╝ \ No newline at end of file diff --git a/MinecraftClient/Resources/containers/ContainerType.Generic_9x6.txt b/MinecraftClient/Resources/containers/ContainerType.Generic_9x6.txt deleted file mode 100644 index 5f759219..00000000 --- a/MinecraftClient/Resources/containers/ContainerType.Generic_9x6.txt +++ /dev/null @@ -1,28 +0,0 @@ -╔═════════════════════════════════════╗ -║ Container ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║45 ║46 ║47 ║48 ║49 ║50 ║51 ║52 ║53 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ Inventory ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║54 ║55 ║56 ║57 ║58 ║59 ║60 ║61 ║62 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║63 ║64 ║65 ║66 ║67 ║68 ║69 ║70 ║71 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║72 ║73 ║74 ║75 ║76 ║77 ║78 ║79 ║80 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║81 ║82 ║83 ║84 ║85 ║86 ║87 ║88 ║89 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ 1 2 3 4 5 6 7 8 9 ║ -╚═════════════════════════════════════╝ \ No newline at end of file diff --git a/MinecraftClient/Resources/containers/ContainerType.Grindstone.txt b/MinecraftClient/Resources/containers/ContainerType.Grindstone.txt deleted file mode 100644 index f70373e9..00000000 --- a/MinecraftClient/Resources/containers/ContainerType.Grindstone.txt +++ /dev/null @@ -1,26 +0,0 @@ -╔═════════════════════════════════════╗ -║ Repair & Disenchant ║ -║ ╔═════════╗ ║ -║ ║ ╔═══╗ ║ ║ -║ ╔══║ ║ 0 ║ ║══╗ ║ -║ ║ ║ ╚═══╝ ║ ║ ║ -║ ║ ║ ╔═══╗ ║ ║ ╔═══╗ ║ -║ ║ ║ ║ 1 ║ ║ ║ ━━▶ ║ 2 ║ ║ -║ ║ ║ ╚═══╝ ║ ║ ╚═══╝ ║ -║ ║ ╠═════════╣ ║ ║ -║ ║ ║ ║ ║ ║ -║ ╚══╝ ╚══╝ ║ -║ ║ -║ Inventory ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║ 3 ║ 4 ║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║12 ║13 ║14 ║15 ║16 ║17 ║18 ║19 ║20 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║21 ║22 ║23 ║24 ║25 ║26 ║27 ║38 ║29 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║30 ║31 ║32 ║33 ║34 ║35 ║36 ║37 ║38 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ 1 2 3 4 5 6 7 8 9 ║ -╚═════════════════════════════════════╝ \ No newline at end of file diff --git a/MinecraftClient/Resources/containers/ContainerType.Hopper.txt b/MinecraftClient/Resources/containers/ContainerType.Hopper.txt deleted file mode 100644 index c14263a6..00000000 --- a/MinecraftClient/Resources/containers/ContainerType.Hopper.txt +++ /dev/null @@ -1,18 +0,0 @@ -╔═════════════════════════════════════╗ -║ Container ║ -║ ╔═══╦═══╦═══╦═══╦═══╗ ║ -║ ║ 0 ║ 1 ║ 2 ║ 3 ║ 4 ║ ║ -║ ╚═══╩═══╩═══╩═══╩═══╝ ║ -║ Inventory ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║ 5 ║ 6 ║ 7 ║ 8 ║ 9 ║10 ║11 ║12 ║13 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║14 ║15 ║16 ║17 ║18 ║19 ║20 ║21 ║22 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║23 ║24 ║25 ║26 ║27 ║28 ║29 ║30 ║31 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║32 ║33 ║34 ║35 ║36 ║37 ║38 ║39 ║40 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ 1 2 3 4 5 6 7 8 9 ║ -╚═════════════════════════════════════╝ \ No newline at end of file diff --git a/MinecraftClient/Resources/containers/ContainerType.PlayerInventory.txt b/MinecraftClient/Resources/containers/ContainerType.PlayerInventory.txt deleted file mode 100644 index e8cefb1d..00000000 --- a/MinecraftClient/Resources/containers/ContainerType.PlayerInventory.txt +++ /dev/null @@ -1,22 +0,0 @@ -╔═════════════════════════════════════╗ -║╔═══╦═══════════╗ ║ -║║ 5 ║ ███ ║ ╔═══╦═══╗ ║ -║╠═══╣ ███ ║ ║ 1 ║ 2 ║ ╔═══╗║ -║║ 6 ║ ███████ ║ ╠═══╬═══╣━━▶║ 0 ║║ -║╠═══╣ ███████ ║ ║ 3 ║ 4 ║ ╚═══╝║ -║║ 7 ║ ███████ ║ ╚═══╩═══╝ ║ -║╠═══╣ ███ ╠═══╗ ║ -║║ 8 ║ ███ ║45 ║ ║ -║╚═══╩═══════════╩═══╝ ║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║ 9 ║10 ║11 ║12 ║13 ║14 ║15 ║16 ║17 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║18 ║19 ║20 ║21 ║22 ║23 ║24 ║25 ║26 ║║ -║╠═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╬═══╣║ -║║27 ║28 ║29 ║30 ║31 ║32 ║33 ║34 ║35 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║╔═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╦═══╗║ -║║36 ║37 ║38 ║39 ║40 ║41 ║42 ║43 ║44 ║║ -║╚═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╩═══╝║ -║ 1 2 3 4 5 6 7 8 9 ║ -╚═════════════════════════════════════╝ \ No newline at end of file diff --git a/MinecraftClient/Resources/lang/de.ini b/MinecraftClient/Resources/lang/de.ini deleted file mode 100644 index b8eb67895321902a570b848d2cb469205fd4bea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73092 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�Xs3L8KCqcEPC!Lyw1b`K-jT)d#Y)?4G%zK#sh} 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 P#y1F;ZG3)yuKj-jVLcj* diff --git a/MinecraftClient/Resources/lang/en.ini b/MinecraftClient/Resources/lang/en.ini deleted file mode 100644 index 11a1254a..00000000 --- a/MinecraftClient/Resources/lang/en.ini +++ /dev/null @@ -1,1032 +0,0 @@ -[mcc] -# Messages from MCC itself -mcc.help_us_translate=Help us translate MCC: {0} -mcc.run_with_default_settings=\nMCC is running with default settings. -mcc.settings_generated=§cSettings file MinecraftClient.ini has been generated. -mcc.has_update=§eNew version of MCC available: {0} -mcc.login=Login : -mcc.login_basic_io=Please type the username or email of your choice. -mcc.password=Password: -mcc.password_basic_io=Please type the password for {0}. -mcc.password_hidden=Password(invisible): {0} -mcc.offline=§8You chose to run in offline mode. -mcc.session_invalid=§8Cached session is invalid or expired. -mcc.session_valid=§8Cached session is still valid for {0}. -mcc.profile_key_invalid=§8Cached profile key needs to be refreshed. -mcc.profile_key_valid=§8Cached profile key is still valid for {0}. -mcc.connecting=Connecting to {0}... -mcc.fetching_key=Fetching profile key from Microsoft. -mcc.ip=Server IP : -mcc.use_version=§8Using Minecraft version {0} (protocol v{1}) -mcc.unknown_version=§8Unknown or not supported MC version {0}.\nSwitching to autodetection mode. -mcc.forge=Checking if server is running Forge... -mcc.forgeforce=Force-enabling Forge support. -mcc.resolve=Resolving {0}... -mcc.found=§8Found server {0}:{1} for domain {2} -mcc.not_found=§8Failed to perform SRV lookup for {0}\n{1}: {2} -mcc.retrieve=Retrieving Server Info... -mcc.restart=Restarting Minecraft Console Client... -mcc.restart_delay=Waiting {0} seconds before restarting... -mcc.server_version=Server version : -mcc.disconnected=Not connected to any server. Use '{0}help' for help. -mcc.press_exit=Or press Enter to exit Minecraft Console Client. -mcc.version_supported=Version is supported.\nLogging in... -mcc.single_cmd=§7Command §8 {0} §7 sent. -mcc.joined=Server was successfully joined.\nType '{0}quit' to leave the server. -mcc.reconnect=Waiting 5 seconds ({0} attempts left)... -mcc.disconnect.lost=Connection has been lost. -mcc.disconnect.server=Disconnected by Server : -mcc.disconnect.login=Login failed : -mcc.link=Link: {0} -mcc.player_dead_respawn=You are dead. Automatically respawning after 1 second. -mcc.player_dead=You are dead. Type '{0}respawn' to respawn. -mcc.server_offline=§8Server is in offline mode. -mcc.session=Checking Session... -mcc.session_fail=Failed to check session. -mcc.server_protocol=§8Server version : {0} (protocol v{1}) -mcc.with_forge=, with Forge -mcc.handshake=§8Handshake successful. (Server ID: {0}) -mcc.realms_available=You have access to the following Realms worlds -mcc.realms_join=Use realms: as server IP to join a Realms world -mcc.generator.generating=Generating {0} palette using the dataset: {1} -mcc.generator.done=Succesfully generated {0} palette using the dataset: {1} -mcc.invaild_config=Failed to parse the settings file, enter "{0}new" to generate a new configuration. -mcc.gen_new_config=New configuration file "{0}" is generated. - -[debug] -# Messages from MCC Debug Mode -debug.color_test=Color test: Your terminal should display {0} -debug.session_cache_ok=§8Session data has been successfully loaded from disk. -debug.session_cache_fail=§8No sessions could be loaded from disk -debug.keys_cache_ok=§8Profile keys has been successfully loaded from disk. -debug.keys_cache_fail=§8No profile keys could be loaded from disk -debug.session_id=Success. (session ID: {0}) -debug.crypto=§8Crypto keys & hash generated. -debug.request=§8Performing request to {0} - -[error] -# Error messages from MCC -error.ping=Failed to ping this IP. -error.unsupported=Cannot connect to the server : This version is not supported ! -error.determine=Failed to determine server version. -error.forgeforce=Cannot force Forge support for this Minecraft version! -error.login=Login failed : -error.login.migrated=Account migrated, use e-mail as username. -error.login.server=Login servers are unavailable. Please try again later. -error.login.blocked=Incorrect username/password, blacklisted IP or too many logins. -error.login.response=Invalid server response. -error.login.premium=User not premium. -error.login.network=Network error. -error.login.ssl=SSL Error. -error.login.unknown=Unknown Error. -error.login.cancel=User cancelled. -error.login_failed=Failed to login to this server. -error.join=An error occured when attempting to join this server. -error.connect=Failed to connect to this IP. -error.timeout=Connection Timeout -error.unexpect_response=§8Unexpected response from the server (is that a Minecraft server?) -error.invalid_response=§8Invalid response to Handshake packet -error.invalid_encrypt=§8Invalid response to StartEncryption packet -error.version_different=§8Server reports a different version than manually set. Login may not work. -error.no_version_report=§8Server does not report its protocol version, autodetection will not work. -error.connection_timeout=§8A timeout occured while attempting to connect to this IP. -error.forge=§8Forge Login Handshake did not complete successfully -error.forge_encrypt=§8Forge StartEncryption Handshake did not complete successfully -error.setting.argument_syntax={0}: Invalid syntax, expecting --argname=value or --section.argname=value -error.http_code=§8Got error code from server: {0} -error.auth=§8Got error code from server while refreshing authentication: {0} -error.realms.ip_error=Cannot retrieve the server IP of your Realms world -error.realms.access_denied=This Realms world does not exist or access was denied -error.realms.server_unavailable=Realms server may require some time to start up. Please retry again later. -error.realms.server_id=Invalid or unknown Realms server ID. -error.realms.disabled=Trying to join a Realms world but Realms support is disabled in config -error.missing.argument=You are missing argument {0} -error.usage=Usage: -error.generator.invalid=Invalid usage of the generator command! -error.generator.path=Invalid data path provided! (The path either does not exists or you have made a typo) -error.generator.json=The provided path must be a path to a file that is in .json format! -error.terrain_not_enabled=This feature requires Terrain And Movements to be enabled in order to work! -error.inventoryhandling_not_enabled=This feature requires Inventory Handling to be enabled in order to work! - -[internal command] -# MCC internal help command -icmd.help=help : show brief help about a command. -icmd.unknown=Unknown command '{0}'. Use 'help' for command list. -icmd.list=help . Available commands: {0}. For server help, use '{1}send /help' instead. -icmd.error=OnInternalCommand: Got error from {0}: {1} - -[exception] -# Exception messages threw by MCC -exception.user_logout=User-initiated logout should be done by calling Disconnect() -exception.unknown_direction=Unknown direction -exception.palette.block=Please update block types handling for this Minecraft version. See Material.cs -exception.palette.entity=Please update entity types handling for this Minecraft version. See EntityType.cs -exception.palette.item=Please update item types handling for this Minecraft version. See ItemType.cs -exception.palette.packet=Please update packet type palette for this Minecraft version. See PacketTypePalette.cs -exception.packet_process=Failed to process incoming packet of type {0}. (PacketID: {1}, Protocol: {2}, LoginPhase: {3}, InnerException: {4}). -exception.version_unsupport=The protocol version no.{0} is not supported. -exception.chatbot.init=ChatBot methods should NOT be called in the constructor as API handler is not initialized yet. Override Initialize() or AfterGameJoined() instead to perform initialization tasks. -exception.csrunner.invalid_head=The provided script does not have a valid MCCScript header - -[chatbot] -# ChatBot API -chatbot.reconnect=[{0}] Disconnecting and Reconnecting to the Server - -[filemonitor] -# FileMonitor -filemonitor.init=§8[{0}] Initializing FileSystemWatcher for file: {1} -filemonitor.fail=§8[{0}] Failed to initialize FileSystemWatcher, retrying using Polling - -[extra] -# Inventory, Terrain & Movements, Entity related messages -# Terrain & Movements -extra.terrainandmovement_enabled=Terrain and Movements is now enabled. -extra.terrainandmovement_disabled=§cTerrain & Movements currently not handled for that MC version. -extra.terrainandmovement_required=Please enable Terrain and Movements in the config file first. -# Inventory -extra.inventory_enabled=Inventory handling is now enabled. -extra.inventory_disabled=§cInventories are currently not handled for that MC version. -extra.inventory_required=Please enable InventoryHandling in the config file first. -extra.inventory_interact=Use /inventory to interact with it. -extra.inventory_open=Inventory # {0} opened: {1} -extra.inventory_close=Inventory # {0} closed. -# Entity -extra.entity_disabled=§cEntities are currently not handled for that MC version. -extra.entity_required=Please enable EntityHandling in the config file first. - -# Enchantments -Enchantment.enchantments_available=Enchantments available -Enchantment.tops_slot=Top slot -Enchantment.middle_slot=Middle slot -Enchantment.bottom_slot=Bottom slot -Enchantment.levels=Levels - -[forge] -# Messages from Forge handler -forge.version=§8Forge protocol version : {0} -forge.send_mod=§8Sending falsified mod list to server... -forge.accept=§8Accepting server mod list... -forge.registry=§8Received registry with {0} entries -forge.registry_2=§8Received registry {0} with {1} entries -forge.accept_registry=§8Accepting server registries... -forge.complete=Forge server connection complete! -forge.with_mod=§8Server is running Forge with {0} mods. -forge.no_mod=§8Server is running Forge without mods. -forge.mod_list=§8Mod list: -# FML2 -forge.fml2.mod=§8Received FML2 Server Mod List -forge.fml2.mod_send=§8Sending back FML2 Client Mod List -forge.fml2.registry=§8Acknowledging FML2 Server Registry: {0} -forge.fml2.config=§8Acknowledging FML2 Server Config: {0} -forge.fml2.unknown=§8Got Unknown FML2 Handshake message no. {0} -forge.fml2.unknown_channel=§8Ignoring Unknown FML2 LoginMessage channel: {0} - -[cache] -# Session Cache -cache.loading=§8Loading Minecraft profiles: {0} -cache.loaded=§8Loaded session: {0}:{1} -cache.converting=§8Converting session cache from disk: {0} -cache.read_fail=§8Failed to read serialized session cache from disk: {0} -cache.malformed=§8Got malformed data while reading serialized session cache from disk: {0} -cache.loading_session=§8Loading session cache from disk: {0} -cache.ignore_string=§8Ignoring session token string '{0}': {1} -cache.ignore_line=§8Ignoring invalid session token line: {0} -cache.read_fail_plain=§8Failed to read session cache from disk: {0} -cache.saving=§8Saving session cache to disk -cache.save_fail=§8Failed to write session cache to disk: {0} -# Profile Key Cache -cache.loading_keys=§8Loading profile key cache from disk: {0} -cache.loaded_keys=§8Loaded profile key, it will be refresh at {0} -cache.ignore_string_keys=§8Ignoring profile key token string '{0}': {1} -cache.ignore_line_keys=§8Ignoring invalid profile key token line: {0} -cache.read_fail_plain_keys=§8Failed to read profile key cache from disk: {0} -cache.saving_keys=§8Saving profile key cache to disk -cache.save_fail_keys=§8Failed to write profile key cache to disk: {0} - -[proxy] -proxy.connected=§8Connected to proxy {0}:{1} - -[chat] -# Chat Parser -chat.download=§8Downloading '{0}.lang' from Mojang servers... -chat.request=§8Performing request to {0} -chat.done=§8Done. File saved as '{0}' -chat.fail=§8Failed to download the file. -chat.from_dir=§8Defaulting to en_GB.lang from your Minecraft directory. -chat.loaded=§8Translations file loaded. -chat.not_found=§8Translations file not found: '{0}'\nSome messages won't be properly printed without this file. -chat.message_chain_broken=Player {0}'s message chain is broken! - -[general] -# General message/information (i.e. Done) -general.done=Done -general.fail=Fail -general.bot_unload=This bot will be unloaded. -general.available_cmd=Available commands: {0} - - -[cmd] -# Commands. Naming style: cmd.. - -# Animation -cmd.animation.desc=Swing your arm. - -# Bots -cmd.bots.desc=List bots, unload a bot or all bots. -cmd.bots.list=Loaded bots -cmd.bots.notfound=Bot {0} is not loaded, check if you have made a typo! -cmd.bots.noloaded=No bots loaded! -cmd.bots.unloaded=Successfully unloaded bot: {0} -cmd.bots.unloaded_all=Successfully unloaded all bots! - -# ChangeSlot -cmd.changeSlot.desc=Change slot in hotbar -cmd.changeSlot.nan=Could not change slot: Not a Number -cmd.changeSlot.changed=Changed to slot {0} -cmd.changeSlot.fail=Could not change slot - -# Chunk -cmd.chunk.desc=Displays the chunk loading status.\nChange EnableEmoji=false in the settings if the display is confusing. -cmd.chunk.current=Current location:{0}, chunk: ({1}, {2}). -cmd.chunk.marked=Marked location: -cmd.chunk.chunk_pos=chunk: ({0}, {1}). -cmd.chunk.outside=§x§0Since the marked chunk is outside the graph, it will not be displayed!§r -cmd.chunk.icon=Player:{0}, MarkedChunk:{1}, NotReceived:{2}, Loading:{3}, Loaded:{4} -cmd.chunk.for_debug=§x§0This command is used for debugging, make sure you know what you are doing.§r - -# Connect -cmd.connect.desc=connect to the specified server. -cmd.connect.unknown=Unknown account '{0}'. -cmd.connect.invalid_ip=Invalid server IP '{0}'. - -# Debug -cmd.debug.desc=toggle debug messages. -cmd.debug.state_on=Debug messages are now ON -cmd.debug.state_off=Debug messages are now OFF - -# Dig -cmd.dig.desc=Attempt to break a block -cmd.dig.too_far=You are too far away from this block. -cmd.dig.no_block=No block at this location (Air) -cmd.dig.dig=Attempting to dig block at {0} {1} {2} ({3}) -cmd.dig.fail=Failed to start digging block. - -# Enchantment Command - -cmd.enchant.desc=Enchant an item when you have the Enchantment table opened and the list of enchants recieved. -cmd.enchant.invalid_slot=Invalid slot provided (Available: top, middle, bottom)! -cmd.enchant.enchanting_table_not_opened=You must open a an enchanting table in order to use this option! -cmd.enchant.clicked=Sent a click to the server, if you have enough levels and if you have placed the items in the correct slots it should enchant! -cmd.enchant.not_clicked=Could not click! -cmd.enchant.enchanting_no_item=You must put an item inside the enchanting table in slot 0! -cmd.enchant.enchanting_no_lapis=You must put at least 3 lapis lazuli inside the enchanting table in slot 1! -cmd.enchant.no_enchantments=You must first put an item to enchant to the enchanting table in order to get enchantments from the server, then you can execute this command! -cmd.enchant.no_levels=You do not have enouhg levels to enchant! (Your current level is {0}, you need to be level {1}). - -# Entitycmd -cmd.entityCmd.attacked=Entity attacked -cmd.entityCmd.used=Entity used -cmd.entityCmd.not_found=Entity not found - -cmd.entityCmd.entity=Entity -cmd.entityCmd.entities=Entities -cmd.entityCmd.nickname=Nickname -cmd.entityCmd.customname=Custom Name -cmd.entityCmd.latency=Latency -cmd.entityCmd.item=Item -cmd.entityCmd.equipment=Equipment -cmd.entityCmd.mainhand=Main Hand -cmd.entityCmd.offhane=Off Hand -cmd.entityCmd.helmet=Helmet -cmd.entityCmd.chestplate=Chestplate -cmd.entityCmd.leggings=Leggings -cmd.entityCmd.boots=Boots -cmd.entityCmd.pose=Pose -cmd.entityCmd.health=Health -cmd.entityCmd.distance=Distance -cmd.entityCmd.location=Location -cmd.entityCmd.type=Type - -# Exec If -cmd.execif.desc=Allows you to execute a command if a condition is met. (You can use variables from MinecraftClient.ini and /set command, as well as CSharp expressions) -cmd.execif.executed=The condition '{0}' was met, executed command '{1}' with result '{2}'. -cmd.execif.executed_no_output=The condition '{0}' was met, executed command '{1}', no result was returned. -cmd.execif.error_occured=An error has occured while executing the command: {0} -cmd.execif.error=Error: {0} - -# Exec Multi -cmd.execmulti.desc=Execute multiple commands one after another -cmd.execmulti.executed=Executed the command '{0}' with {1} -cmd.execmulti.result=result '{0}'! -cmd.execmulti.no_result=no result! - -# Exit -cmd.exit.desc=disconnect from the server. - -# Health -cmd.health.desc=Display Health and Food saturation. -cmd.health.response=Health: {0}, Saturation: {1}, Level: {2}, TotalExperience: {3} - -# Inventory -cmd.inventory.desc=Inventory command -cmd.inventory.creative_done=Requested {0} x{1} in slot #{2} -cmd.inventory.creative_delete=Requested to clear slot #{0} -cmd.inventory.creative_fail=Failed to request Creative action -cmd.inventory.need_creative=You must be in Creative gamemode -cmd.inventory.container_not_found=Cannot find container, please retry with explicit ID -cmd.inventory.close=Closing Inventoy #{0} -cmd.inventory.close_fail=Failed to close Inventory #{0} -cmd.inventory.not_exist=Inventory #{0} do not exist -cmd.inventory.inventory=Inventory -cmd.inventory.inventories=Inventories -cmd.inventory.inventories_available=Available Inventories -cmd.inventory.hotbar=Your selected hotbar is {0} -cmd.inventory.damage=Damage -cmd.inventory.left=Left -cmd.inventory.right=Right -cmd.inventory.middle=Middle -cmd.inventory.clicking={0} clicking slot {1} in window #{2} -cmd.inventory.shiftclick=Shift clicking slot {0} in window #{1} -cmd.inventory.shiftclick_fail=Shift click failed, this may be because this container type is not supported -cmd.inventory.no_item=No item in slot #{0} -cmd.inventory.drop=Dropped 1 item from slot #{0} -cmd.inventory.drop_stack=Dropped whole item stack from slot #{0} -# Inventory Help -cmd.inventory.help.basic=Basic usage -cmd.inventory.help.available=Available actions -cmd.inventory.help.help={0}\nUse '/inventory help ' for action help.\n'player' and 'container' can be simplified to 'p' and 'c'.\nNote that parameters in '[]' are optional. -cmd.inventory.help.usage=Usage -cmd.inventory.help.list=List your inventory. -cmd.inventory.help.close=Close an opened container. -cmd.inventory.help.click=Click on an item. -cmd.inventory.help.shiftclick=Shift click an item. -cmd.inventory.help.drop=Drop an item from inventory. -cmd.inventory.help.creativegive=Give item in creative mode. -cmd.inventory.help.creativedelete=Clear slot in creative mode. -cmd.inventory.help.inventories=List avaliable inventories -cmd.inventory.help.search=Search for an item in avaliable Inventories -cmd.inventory.help.unknown=Unknown action. -cmd.inventory.found_items=Found items -cmd.inventory.no_found_items=Could not find the specified item in any of avaliable Inventories! - -# Leave bed -cmd.bed.desc=Used to sleep in or leave a bed. -cmd.bed.leaving=Sending a command to leave a bed to the server. -cmd.bed.trying_to_use=Trying to sleep in a bed on location (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). Result: {3} -cmd.bed.in=Succesfully laid in bed! -cmd.bed.not_in=Could not lay in bed. Are you trying to sleep in a bed? (PS: You must use the head block coordinates of the bed) -cmd.bed.not_a_bed=The block on (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) is not a bed! -cmd.bed.searching=Searching for a bed in radius of {0}... -cmd.bed.bed_not_found=Could not find a bed! -cmd.bed.found_a_bed_at=Found a bet at (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}). -cmd.bed.cant_reach_safely=Can not reach the bed safely! -cmd.bed.moving=Moving to (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) where the bed is located. -cmd.bed.failed_to_reach_in_time=Failed to reach the bed position (X: {0:0.0}, Y: {1:0.0}, Z: {2:0.0}) in time (30 seconds). Giving up! - -# Block info -cmd.blockinfo.desc=Reports the type of the block on the provided coordinates. (Use -s to report blocks around the target block). -cmd.blockinfo.Positive=Positive -cmd.blockinfo.Negative=Negative -cmd.blockinfo.BlockType=Block type -cmd.blockinfo.BlocksAround=Blocks around - -# List -cmd.list.desc=get the player list. -cmd.list.players=PlayerList: {0} - -# Log -cmd.log.desc=log some text to the console. - -# Look -cmd.look.desc=look at direction or coordinates. -cmd.look.unknown=Unknown direction '{0}' -cmd.look.at=Looking at yaw: {0} pitch: {1} -cmd.look.block=Looking at {0} -cmd.look.inspection=The block currently intersecting the line of sight is {0} ({1:0}, {2:0}, {3:0}), distance is {4:0.0}({5:0.0}). -cmd.look.noinspection=There is no block within {0} meters that intersects with the line of sight. - -# Move -cmd.move.desc=walk or start walking. -cmd.move.enable=Enabling Terrain and Movements on next server login, respawn or world change. -cmd.move.disable=Disabling Terrain and Movements. -cmd.move.moving=Moving {0} -cmd.move.dir_fail=Cannot move in that direction. -cmd.move.walk=Walking from {1} to {0} -cmd.move.fail=Failed to compute path to {0} -cmd.move.suggestforce=Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements. -cmd.move.gravity.enabled=Gravity is enabled. -cmd.move.gravity.disabled=Gravity is disabled. -cmd.move.chunk_loading_status=Chunk loading status: {0:P} - {1} out of {2} load completed. -cmd.move.chunk_not_loaded=The chunk where the target location resides has not yet been loaded.\nYou can use "/chunk status {0:0.0} {1:0.0} {2:0.0}" to check the chunk loading status. - -# Reco -cmd.reco.desc=restart and reconnect to the server. - -# Reload -cmd.reload.started=Reloading settings... -cmd.reload.warning1=This command will NOT affect certain settings which are used before connecting to a server! -cmd.reload.warning2=Some settings passed through the command line parameters might get overriden! -cmd.reload.warning3=You also might need to reconnect for some settings to take effect. -cmd.reload.warning4=Replay Chat Bot will not be hard reloaded due to technical limitations! -cmd.reload.finished=Reloaded Settings! -cmd.reload.desc=Reloads MCC settings. - -# Respawn -cmd.respawn.desc=Use this to respawn if you are dead. -cmd.respawn.done=You have respawned. - -# Script -cmd.script.desc=run a script file. - -# Send -cmd.send.desc=send a chat message or command. - -# Set -cmd.set.desc=set a custom %variable%. -cmd.set.format=variable name must be A-Za-z0-9. - -# SetRnd -cmd.setrnd.desc=set a custom %variable% randomly to a given value. -cmd.setrndnum.format=setrnd variable -7to17 -cmd.setrndstr.format=setrnd variable string1 "\"string2\" string3" - -# Sneak -cmd.sneak.desc=Toggles sneaking -cmd.sneak.on=You are sneaking now -cmd.sneak.off=You are not sneaking anymore - -# DropItem -cmd.dropItem.desc=Drop specified type of items from player inventory or opened container -cmd.dropItem.dropped=Dropped all {0} from inventory #{1} -cmd.dropItem.unknown_item=Unknown item {0} - -# Tps -cmd.tps.desc=Display server current tps (tick per second). May not be accurate -cmd.tps.current=Current tps - -# Useblock -cmd.useblock.desc=Place a block or open chest -cmd.useblock.use=Useblock at ({0:0.0}, {1:0.0}, {2:0.0}) {3}. - -# Useitem -cmd.useitem.desc=Use (left click) an item on the hand -cmd.useitem.use=Used an item - - -[bot] -# ChatBots. Naming style: bot.. - -# Alerts -botname.Alerts=Alerts -bot.alerts.start_rain=§cWeather change: It is raining now.§r -bot.alerts.end_rain=§cWeather change: It is no longer raining.§r -bot.alerts.start_thunderstorm=§cWeather change: It is a thunderstorm.§r -bot.alerts.end_thunderstorm=§cWeather change: It is no longer a thunderstorm.§r - -# Anti AFK -botname.AntiAFK=AntiAFK -bot.antiafk.not_using_terrain_handling=The terrain handling is not enabled in the settings of the client, enable it if you want to use it with this bot. Using alternative (command) method. -bot.antiafk.swapping=The time range begins with a bigger value, swapped them around. -bot.antiafk.invalid_walk_range=Invalid walk range provided, must be a positive integer greater than 0, using default value of 5! - -# AutoAttack -botname.AutoAttack=AutoAttack -bot.autoAttack.invalidcooldown=Attack cooldown value cannot be smaller than 0. - -# AutoCraft -botname.AutoCraft=AutoCraft -bot.autoCraft.cmd=Auto-crafting ChatBot command -bot.autoCraft.alias=Auto-crafting ChatBot command alias -bot.autoCraft.cmd.list=Total {0} recipes loaded: {1} -bot.autoCraft.cmd.resetcfg=Resetting your config to default -bot.autoCraft.recipe_not_exist=Specified recipe name does not exist. Check your config file. -bot.autoCraft.no_recipe_name=Please specify the recipe name you want to craft. -bot.autoCraft.stop=AutoCraft stopped -bot.autoCraft.available_cmd=Available commands: {0}. Use /autocraft help for more information. You may use /ac as command alias. -bot.autoCraft.help.load=Load the config file. -bot.autoCraft.help.list=List available recipes. -bot.autoCraft.help.reload=Reload the config file. -bot.autoCraft.help.resetcfg=Write the default example config to default location. -bot.autoCraft.help.start=Start the crafting. Usage: /autocraft start -bot.autoCraft.help.stop=Stop the current running crafting process -bot.autoCraft.help.help=Get the command description. Usage: /autocraft help -bot.autoCraft.loaded=Successfully loaded -bot.autoCraft.start=Starting AutoCraft: {0} -bot.autoCraft.start_fail=AutoCraft cannot be started. Check your available materials for crafting {0} -bot.autoCraft.table_not_found=table not found -bot.autoCraft.close_inventory=Inventory #{0} was closed by AutoCraft -bot.autoCraft.missing_material=Missing material: {0} -bot.autoCraft.aborted=Crafting aborted! Check your available materials. -bot.autoCraft.craft_fail=Crafting failed! Waiting for more materials -bot.autoCraft.timeout=Action timeout! Reason: {0} -bot.autoCraft.error.config=Error while parsing config: {0} -bot.autoCraft.exception.name_miss=Missing recipe name while parsing a recipe -bot.autoCraft.exception.duplicate=Duplicate recipe name specified: {0} -bot.autoCraft.debug.no_config=No config found. Writing a new one. -bot.autocraft.invaild_slots=The number of slots does not match and has been adjusted automatically. -bot.autocraft.invaild_invaild_result=Invalid result item! - -# AutoDig -botname.AutoDig=AutoDig -bot.autodig.start_delay=Digging will start in {0:0.0} second(s). -bot.autodig.dig_timeout=Digging block timeout, retry. -bot.autodig.not_allow=The block currently pointed to is not in the allowed list. -bot.autodig.cmd=Auto-digging ChatBot command -bot.autodig.available_cmd=Available commands: {0}. Use /digbot help for more information. -bot.autodig.start=Automatic digging has started. -bot.autodig.stop=Auto-digging has been stopped. -bot.autodig.help.start=Start the automatic digging bot. -bot.autodig.help.stop=Deactivate the automatic digging bot. -bot.autodig.help.help=Get the command description. Usage: /digbot help - -# AutoDrop -botname.AutoDrop=AutoDrop -bot.autoDrop.cmd=AutoDrop ChatBot command -bot.autoDrop.alias=AutoDrop ChatBot command alias -bot.autoDrop.on=AutoDrop enabled -bot.autoDrop.off=AutoDrop disabled -bot.autoDrop.added=Added item {0} -bot.autoDrop.incorrect_name=Incorrect item name {0}. Please try again. -bot.autoDrop.removed=Removed item {0} -bot.autoDrop.not_in_list=Item not in the list -bot.autoDrop.no_item=No item in the list -bot.autoDrop.list=Total {0} in the list:\n {1} -bot.autoDrop.switched=Switched to {0} mode. -bot.autoDrop.unknown_mode=Unknwon mode. Available modes: Include, Exclude, Everything -bot.autoDrop.no_mode=Cannot read drop mode from config. Using include mode. -bot.autoDrop.no_inventory=Cannot find inventory {0}! - -# AutoEat -botname.AutoEat=AutoEat - -# AutoFish -botname.AutoFishing=AutoFishing -bot.autoFish.no_inv_handle=Inventory handling is not enabled. Cannot check rod durability and switch rods. -bot.autoFish.start_at=Fishing will start in {0:0.0} second(s). -bot.autoFish.throw=Casting successfully. -bot.autoFish.caught=Retract the fishing rod. (Count: {0}) -bot.autoFish.caught_at=Retract the fishing rod at ({0:0.0},{1:0.0},{2:0.0})! (Count: {3}) -bot.autoFish.got=Fishing got {0} -bot.autoFish.no_rod=Current fishing rod is not available. Maybe broken or low durability? -bot.autoFish.despawn=Fish floating despawn, will re-cast. -bot.autoFish.fishing_timeout=Fishing timeout, will soon re-cast. -bot.autoFish.cast_timeout=Casting timeout and will soon retry. (Timeout increased to {0:0.0} sec). -bot.autoFish.update_lookat=Update yaw = {0:0.00}, pitch = {1:0.00}. -bot.autoFish.switch=Switch to the rod in slot {0}, durability {1}/64. -bot.autoFish.status_info=All items obtained from fishing (not entirely accurate): -# AutoFish cmd -bot.autoFish.cmd=Auto-Fishing ChatBot command -bot.autoFish.available_cmd=Available commands: {0}. Use /fish help for more information. -bot.autoFish.start=Start auto-fishing. -bot.autoFish.stop=Stop auto-fishing. -bot.autoFish.status_clear=The record of the obtained items has been cleared. -bot.autoFish.help.start=Start auto-fishing. -bot.autoFish.help.stop=Stop auto-fishing. -bot.autoFish.help.status=List all obtained items. Or use "/fish status clear" to clear the list. -bot.autoFish.help.help=Get the command description. Usage: /fish help - -# AutoRelog -botname.AutoRelog=AutoRelog -bot.autoRelog.launch=Launching with {0} reconnection attempts -bot.autoRelog.no_kick_msg=Initializing without a kick message file -bot.autoRelog.loading=Loading messages from file: {0} -bot.autoRelog.loaded=Loaded message: {0} -bot.autoRelog.not_found=File not found: {0} -bot.autoRelog.curr_dir=Current directory was: {0} -bot.autoRelog.ignore_user_logout=Disconnection initiated by User or MCC bot. Ignoring. -bot.autoRelog.disconnect_msg=Got disconnected with message: {0} -bot.autoRelog.reconnect_always=Ignoring kick message, reconnecting anyway. -bot.autoRelog.reconnect=Message contains '{0}'. Reconnecting. -bot.autoRelog.reconnect_ignore=Message not containing any defined keywords. Ignoring. -bot.autoRelog.wait=Waiting {0:0.000} seconds before reconnecting... - -# AutoRespond -botname.AutoRespond=AutoRespond -bot.autoRespond.loading=Loading matches from '{0}' -bot.autoRespond.file_not_found=File not found: '{0}' -bot.autoRespond.loaded_match=Loaded match:\n{0} -bot.autoRespond.no_trigger=This match will never trigger:\n{0} -bot.autoRespond.no_action=No action for match:\n{0} -bot.autoRespond.match_run=Running action: {0} -bot.autoRespond.match=match: {0}\nregex: {1}\naction: {2}\nactionPrivate: {3}\nactionOther: {4}\nownersOnly: {5}\ncooldown: {6} - -# ChatLog -botname.ChatLog=ChatLog -bot.chatLog.invalid_file=Path '{0}' contains invalid characters. - -# DiscordBridge -botname.DiscordBridge=DiscordBridge -bot.DiscordBridge.command_executed=The command was executed with the result -bot.DiscordBridge.connected=Succesfully connected with MCC! -bot.DiscordBridge.missing_token=Please provide a valid token! -bot.DiscordBridge.guild_not_found=The provided guild/server with an id '{0}' has not been found! -bot.DiscordBridge.channel_not_found=The provided channel with an id '{0}' has not been found! -bot.DiscordBridge.unknown_error=An unknown error has occured! -bot.DiscordBridge.canceled_sending=Sending message to Discord was canceled due an error occuring. For more info enable Debug. -bot.DiscordBridge.desc=This command allows you to specify in the which direction the messages will be relayed via the Discord Bridge chat bot. -bot.DiscordBridge.invalid_direction=Invalid direction provided! Available directions: both|b, minecraft|mc, discord|dsc. Example: "dscbridge direction mc" -bot.DiscordBridge.direction=Direction of the Discord Brdige has been switched to '{0}'! -bot.DiscordBridge.direction.both=Both -bot.DiscordBridge.direction.minecraft=Minecraft -bot.DiscordBridge.direction.discord=Discord - -# Farmer -botname.Farmer=Farmer -bot.farmer.desc=Farming bot -bot.farmer.not_implemented=Not implemented bellow 1.13! -bot.farmer.already_stopped=The bot has already stopped farming! -bot.farmer.stopping=Stoping farming, this might take a second... -bot.farmer.stopped=Stopped farming! -bot.farmer.already_running=The bot is already farming! -bot.farmer.invalid_crop_type=Invalid crop type provided (Types which you can use: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat)! -bot.farmer.warining_invalid_parameter=Invalid parameter "{0}" provided (Use format: "key:value")! -bot.farmer.invalid_radius=Invalid radius provided, you must provide a valid integer number greater than 0! -bot.farmer.warining_force_unsafe=You have enabled un-safe movement, the bot might get hurt! -bot.farmer.warining_allow_teleport=You have enabled teleporting, this might get your bot account kicked and in the worst case scenario banned! Use with caution! -bot.farmer.started=Started farming! -bot.farmer.crop_type=Crop type -bot.farmer.radius=Radius -bot.farmer.needs_terrain=The Farmer bot needs Terrain Handling in order to work, please enable it! -bot.farmer.needs_inventory=The Farmer bot needs Inventory Handling in order to work, please enable it! - -# Follow player -botname.FollowPlayer=FollowPlayer -cmd.follow.desc=Makes the bot follow a specified player -cmd.follow.usage=follow [-f] (Use -f to enable un-safe walking) -cmd.follow.already_stopped=Already stopped -cmd.follow.stopping=Stopped following! -cmd.follow.invalid_name=Invalid or empty player name provided! -cmd.follow.invalid_player=The specified player is either not connected out out of the range! -cmd.follow.cant_reach_player=Can not reach the player, he is either in chunks that are not loaded, too far away or not reachable by a bot due to obstacles like gaps or water bodies! -cmd.follow.already_following=Already following {0}! -cmd.follow.switched=Switched to following {0}! -cmd.follow.started=Started following {0}! -cmd.follow.unsafe_enabled=Enabled us-safe walking (NOTE: The bot might die or get hurt!) -cmd.follow.note=NOTE: The bot is quite slow, you need to walk slowly and at a close distance for it to be able to keep up, kinda like when you make animals follow you by holding food in your hand. This is a limitation due to a pathfinding algorithm, we are working to get a better one. -cmd.follow.player_came_to_the_range=The player {0} came back to the range! -cmd.follow.resuming=Resuming to follow! -cmd.follow.player_left_the_range=The player {0} has left the range! -cmd.follow.pausing=Pausing! -cmd.follow.player_left=The player {0} left the server! -cmd.follow.stopped=Stopped! - -# HangmanGame -botname.HangmanGame=HangmanGame - -# Mailer -botname.Mailer=Mailer -bot.mailer.init=Initializing Mailer with settings: -bot.mailer.init.db= - Database File: {0} -bot.mailer.init.ignore= - Ignore List: {0} -bot.mailer.init.public= - Public Interactions: {0} -bot.mailer.init.max_mails= - Max Mails per Player: {0} -bot.mailer.init.db_size= - Max Database Size: {0} -bot.mailer.init.mail_retention= - Mail Retention: {0} - -bot.mailer.init_fail.db_size=Cannot enable Mailer: Max Database Size must be greater than zero. Please review the settings. -bot.mailer.init_fail.max_mails=Cannot enable Mailer: Max Mails per Player must be greater than zero. Please review the settings. -bot.mailer.init_fail.mail_retention=Cannot enable Mailer: Mail Retention must be greater than zero. Please review the settings. - -bot.mailer.create.db=Creating new database file: {0} -bot.mailer.create.ignore=Creating new ignore list: {0} -bot.mailer.load.db=Loading database file: {0} -bot.mailer.load.ignore=Loading ignore list: - -bot.mailer.cmd=mailer command - -bot.mailer.saving=Saving message: {0} -bot.mailer.user_ignored={0} is ignored! -bot.mailer.process_mails=Looking for mails to send @ {0} -bot.mailer.delivered=Delivered: {0} - -bot.mailer.cmd.getmails=--- Mails in database ---\n{0} -bot.mailer.cmd.getignored=--- Ignore list ---\n{0} -bot.mailer.cmd.ignore.added=Added {0} to the ignore list! -bot.mailer.cmd.ignore.removed=Removed {0} from the ignore list! -bot.mailer.cmd.ignore.invalid=Missing or invalid name. Usage: {0} -bot.mailer.cmd.help=See usage - -# Maps -botname.Map=Map -bot.map.cmd.desc=Render maps (item maps) -bot.map.cmd.not_found=A map with id '{0}' does not exists! -bot.map.cmd.invalid_id=Invalid ID provided, must be a number! -bot.map.received=The list of received maps from the server: -bot.map.no_maps=No maps received! -bot.map.received_map=Received a new Map, with Id: {0} -bot.map.rendered=Succesfully rendered a map with id '{0}' to: '{1}' -bot.map.failed_to_render=Failed to render the map with id: '{0}' -bot.map.list_item=- Map id: {0} (Last Updated: {1}) -bot.map.scale=The size of the map is reduced from ({0}x{1}) to ({2}x{3}) due to the size limitation of the current terminal. -bot.map.resized_rendered_image=Resized the rendered image of the map with id: '{0}' to {1}x{1}. -bot.map.sent_to_discord=Sent a rendered image of a map with an id '{0}' to the Discord via Discord Brdige chat bot! -bot.map.sent_to_telegram=Sent a rendered image of a map with an id '{0}' to the Telegram via Telegram Bridge chat bot! - -# PlayerListLogger -botname.PlayerListLogger=PlayerListLogger - -# RemoteControl -botname.RemoteControl=RemoteControl - -# ReplayCapture -botname.ReplayCapture=ReplayCapture -bot.replayCapture.cmd=replay command -bot.replayCapture.created=Replay file created. -bot.replayCapture.stopped=Record stopped. -bot.replayCapture.restart=Record was stopped. Restart the program to start another record. - -# Script -botname.Script=Script -bot.script.not_found=§8[MCC] [{0}] Cannot find script file: {1} -bot.script.file_not_found=File not found: '{0}' -bot.script.fail=Script '{0}' failed to run ({1}). -bot.script.pm.loaded=Script '{0}' loaded. - -# ScriptScheduler -botname.ScriptScheduler=ScriptScheduler -bot.scriptScheduler.loaded_task=Loaded task:\n{0} -bot.scriptScheduler.no_trigger=This task will never trigger:\n{0} -bot.scriptScheduler.no_action=No action for task:\n{0} -bot.scriptScheduler.running_time=Time / Running action: {0} -bot.scriptScheduler.running_inverval=Interval / Running action: {0} -bot.scriptScheduler.running_login=Login / Running action: {0} -bot.scriptScheduler.task=triggeronfirstlogin: {0}\n triggeronlogin: {1}\n triggerontime: {2}\n triggeroninterval: {3}\n timevalue: {4}\n timeinterval: {5}\n action: {6} - -# TelegramBridge -botname.TelegramBridge=TelegramBridge -bot.TelegramBridge.command_executed=The command was executed with the result -bot.TelegramBridge.connected=Succesfully connected with the MCC! -bot.TelegramBridge.disconnected=Disconnected from from the MCC! -bot.TelegramBridge.missing_token=Please provide a valid bot token! -bot.TelegramBridge.missing_channel_id=[WARNING] You have not provided a Channel ID, you will ONLY get replies to commands sent from Telegram! -bot.TelegramBridge.missing_authorized_channels=[WARNING] You have not provided any Channel IDs, for "Authorized_Chat_Ids" field, anyone who finds your bot will be able to send messages and commands to it! -bot.TelegramBridge.unauthorized=**🛑 Unauthorized access! 🛑\n\nAdd the ID of this chat to "Authorized_Chat_Ids" field in the configuration file to gain access!** -bot.TelegramBridge.unknown_error=An unknown error has occured! -bot.TelegramBridge.canceled_sending=Sending message to Telegram was canceled due an error occuring. For more info enable Debug. -bot.TelegramBridge.desc=This command allows you to specify in the which direction the messages will be relayed via the Telegram Bridge chat bot. -bot.TelegramBridge.invalid_direction=Invalid direction provided! Available directions: both|b, minecraft|mc, telegram|tg|t. Example: "tgbridge direction mc" -bot.TelegramBridge.direction=Direction of the Telegram Brdige has been switched to '{0}'! -bot.TelegramBridge.direction.both=Both -bot.TelegramBridge.direction.minecraft=Minecraft -bot.TelegramBridge.direction.Telegram=Telegram - -# TestBot -botname.TestBot=TestBot -bot.testBot.told=Bot: {0} told me : {1} -bot.testBot.said=Bot: {0} said : {1} - - -[config] -config.load=Settings have been loaded from {0} -config.load.fail=§cFailed to load settings:§r -config.write.fail=§cFailed to write to settings file {0}§r -config.backup.fail=§cFailed to write to backup file {0}§r -config.saving=§aThe current setting is saved as {0} - -# Head -config.Head=Startup Config File\n# Please do not record extraneous data in this file as it will be overwritten by MCC.\n\n# New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html\n# Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download - -# Main.General -config.Main.General.account=Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup. -config.Main.General.login=The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically) -config.Main.General.server_info=Account type: "mojang" OR "microsoft". Also affects interactive login in console. -config.Main.General.method=Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once. - -# Main.Advanced -config.Main.Advanced=Make sure you understand what each setting does before changing anything! -config.Main.Advanced.language=Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239 -config.Main.Advanced.internal_cmd_char=Use "none", "slash"(/) or "backslash"(\). -config.Main.Advanced.message_cooldown=Controls the minimum interval (in seconds) between sending each message to the server. -config.Main.Advanced.bot_owners=Set the owner of the bot. /!\ Server admins can impersonate owners! -config.Main.Advanced.mc_version=Use "auto" or "1.X.X" values. Allows to skip server info retrieval. -config.Main.Advanced.mc_forge=Use "auto", "no" or "force". Force-enabling only works for MC 1.13+. -config.Main.Advanced.brand_info=Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server. -config.Main.Advanced.chatbot_log_file=Leave empty for no logfile. -config.Main.Advanced.private_msgs_cmd_name=For remote control of the bot. -config.Main.Advanced.show_system_messages=System messages for server ops. -config.Main.Advanced.show_xpbar_messages=Messages displayed above xp bar, set this to false in case of xp bar spam. -config.Main.Advanced.show_chat_links=Decode links embedded in chat messages and show them in console. -config.Main.Advanced.show_inventory_layout=Show inventory layout as ASCII art in inventory command. -config.Main.Advanced.terrain_and_movements=Uses more ram, cpu, bandwidth but allows you to move around. -config.Main.Advanced.inventory_handling=Toggle inventory handling. -config.Main.Advanced.entity_handling=Toggle entity handling. -config.Main.Advanced.session_cache=How to retain session tokens. Use "none", "memory" or "disk". -config.Main.Advanced.profilekey_cache=How to retain profile key. Use "none", "memory" or "disk". -config.Main.Advanced.resolve_srv_records=Use "no", "fast" (5s timeout), or "yes". Required for joining some servers. -config.Main.Advanced.account_list=AccountList: It allows a fast account switching without directly using the credentials\n# Usage examples: "/tell reco Player2", "/connect Player1" -config.Main.Advanced.server_list=ServerList: It allows an easier and faster server switching with short aliases instead of full server IP\n# Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias.\n# Usage examples: "/tell connect Server1", "/connect Server2" -config.Main.Advanced.player_head_icon=Only works on Windows XP-8 or Windows 10 with old console. -config.Main.Advanced.exit_on_failure=Whether to exit directly when an error occurs, for using MCC in non-interactive scripts. -config.Main.Advanced.script_cache=Cache compiled scripts for faster load on low-end devices. -config.Main.Advanced.timestamps=Prepend timestamps to chat messages. -config.Main.Advanced.auto_respawn=Toggle auto respawn if client player was dead (make sure your spawn point is safe). -config.Main.Advanced.minecraft_realms=Enable support for joining Minecraft Realms worlds. -config.Main.Advanced.move_head_while_walking=Enable head movement while walking to avoid anti-cheat triggers. -config.Main.Advanced.timeout=Customize the TCP connection timeout with the server. (in seconds) -config.Main.Advanced.enable_emoji=If turned off, the emoji will be replaced with a simpler character (for /chunk status). -config.Main.Advanced.movement_speed=A movement speed higher than 2 may be considered cheating. -config.Main.Advanced.language.invaild=The language code is invalid! -config.Main.Advanced.TerminalColorDepth=Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log. -config.Main.Advanced.MinTerminalWidth=The minimum width used when calculating the image size from the width of the terminal. -config.Main.Advanced.MinTerminalHeight=The minimum height to use when calculating the image size from the height of the terminal. - -# Signature -config.Signature=Chat signature related settings (affects minecraft 1.19+) -config.Signature.LoginWithSecureProfile=Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true" -config.Signature.SignChat=Whether to sign the chat send from MCC -config.Signature.SignMessageInCommand=Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me" -config.Signature.MarkLegallySignedMsg=Use green color block to mark chat with legitimate signatures -config.Signature.MarkModifiedMsg=Use yellow color block to mark chat that have been modified by the server. -config.Signature.MarkIllegallySignedMsg=Use red color block to mark chat without legitimate signature -config.Signature.MarkSystemMessage=Use gray color block to mark system message (always without signature) -config.Signature.ShowModifiedChat=Set to true to display messages modified by the server, false to display the original signed messages -config.Signature.ShowIllegalSignedChat=Whether to display chat and messages in commands without legal signatures - -# Logging -config.Logging=This setting affects only the messages in the console. -config.Logging.DebugMessages=Please enable this before submitting bug reports. Thanks! -config.Logging.ChatMessages=Show server chat messages. -config.Logging.InfoMessages=Informative messages. (i.e Most of the message from MCC) -config.Logging.WarningMessages=Show warning messages. -config.Logging.ErrorMessages=Show error messages. -config.Logging.ChatFilter=Regex for filtering chat message. -config.Logging.DebugFilter=Regex for filtering debug message. -config.Logging.FilterMode="disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex. -config.Logging.LogToFile=Write log messages to file. -config.Logging.LogFile=Log file name. -config.Logging.PrependTimestamp=Prepend timestamp to messages in log file. -config.Logging.SaveColorCodes=Keep color codes in the saved text.(look like "§b") - -# AppVars -config.AppVars.Variables=can be used in some other fields as %yourvar%\n# %username% and %serverip% are reserved variables. - -# Proxy -config.Proxy=Connect to a server via a proxy instead of connecting directly\n# If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy.\n# If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server.\n# /!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences! -config.Proxy.Enabled_Login=Whether to connect to the login server through a proxy. -config.Proxy.Enabled_Ingame=Whether to connect to the game server through a proxy. -config.Proxy.Server=Proxy server must allow HTTPS for login, and non-443 ports for playing. -config.Proxy.Proxy_Type=Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5". -config.Proxy.Username=Only required for password-protected proxies. -config.Proxy.Password=Only required for password-protected proxies. - -# ChatFormat -config.ChatFormat=MCC does it best to detect chat messages, but some server have unusual chat formats\n# When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format -config.ChatFormat.Builtins=MCC support for common message formats. Set "false" to avoid conflicts with custom formats. -config.ChatFormat.UserDefined=Whether to use the custom regular expressions below for detection. - -# MCSettings -config.MCSettings=Settings below are sent to the server and only affect server-side things like your skin. -config.MCSettings.Enabled=If disabled, settings below are not sent to the server. -config.MCSettings.Locale=Use any language implemented in Minecraft. -config.MCSettings.RenderDistance=Value range: [0 - 255]. -config.MCSettings.Difficulty=MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult". -config.MCSettings.ChatMode=Use "enabled", "commands", or "disabled". Allows to mute yourself... -config.MCSettings.ChatColors=Allows disabling chat colors server-side. -config.MCSettings.MainHand=MC 1.9+ main hand. "left" or "right". - -# ChatBot -config.ChatBot================================ #\n# Minecraft Console Client Bots #\n# =============================== # - -# ChatBot.Alerts -config.ChatBot.Alerts=Get alerted when specified words are detected in chat\n# Useful for moderating your server or detecting when someone is talking to you -config.ChatBot.Alerts.Beep_Enabled=Play a beep sound when a word is detected in addition to highlighting. -config.ChatBot.Alerts.Trigger_By_Words=Triggers an alert after receiving a specified keyword. -config.ChatBot.Alerts.Trigger_By_Rain=Trigger alerts when it rains and when it stops. -config.ChatBot.Alerts.Trigger_By_Thunderstorm=Triggers alerts at the beginning and end of thunderstorms. -config.ChatBot.Alerts.Matches=List of words/strings to alert you on. -config.ChatBot.Alerts.Excludes=List of words/strings to NOT alert you on. -config.ChatBot.Alerts.Log_To_File=Log alerts info a file. -config.ChatBot.Alerts.Log_File=The name of a file where alers logs will be written. - -# ChatBot.AntiAFK -config.ChatBot.AntiAfk=Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection\n# /!\ Make sure your server rules do not forbid anti-AFK mechanisms!\n# /!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5) -config.ChatBot.AntiAfk.Delay=The time interval for execution. (in seconds) -config.ChatBot.AntiAfk.Command=Command to send to the server. -config.ChatBot.AntiAfk.Use_Sneak=Whether to sneak when sending the command. -config.ChatBot.AntiAfk.Use_Terrain_Handling=Use terrain handling to enable the bot to move around. -config.ChatBot.AntiAfk.Walk_Range=The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be) -config.ChatBot.AntiAfk.Walk_Retries=How many times can the bot fail trying to move before using the command method. - -# ChatBot.AutoAttack -config.ChatBot.AutoAttack=Automatically attack hostile mobs around you\n# You need to enable Entity Handling to use this bot\n# /!\ Make sure server rules allow your planned use of AutoAttack\n# /!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES! -config.ChatBot.AutoAttack.Mode="single" or "multi". single target one mob per attack. multi target all mobs in range per attack -config.ChatBot.AutoAttack.Priority="health" or "distance". Only needed when using single mode -config.ChatBot.AutoAttack.Cooldown_Time=How long to wait between each attack. Set "Custom = false" to let MCC calculate it. -config.ChatBot.AutoAttack.Interaction=Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack). -config.ChatBot.AutoAttack.Attack_Hostile=Allow attacking hostile mobs. -config.ChatBot.AutoAttack.Attack_Passive=Allow attacking passive mobs. -config.ChatBot.AutoAttack.List_Mode=Wether to treat the entities list as a "whitelist" or as a "blacklist". -config.ChatBot.AutoAttack.Entites_List=All entity types can be found here: https://bit.ly/3Rg68lp - -# ChatBot.AutoCraft -config.ChatBot.AutoCraft=Automatically craft items in your inventory\n# See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use\n# You need to enable Inventory Handling to use this bot\n# You should also enable Terrain and Movements if you need to use a crafting table -config.ChatBot.AutoCraft.CraftingTable=Location of the crafting table if you intended to use it. Terrain and movements must be enabled. -config.ChatBot.AutoCraft.OnFailure=What to do on crafting failure, "abort" or "wait". -config.ChatBot.AutoCraft.Recipes=Recipes.Name: The name can be whatever you like and it is used to represent the recipe.\n# Recipes.Type: crafting table type: "player" or "table"\n# Recipes.Result: the resulting item\n# Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots.\n# For the naming of the items, please see:\n# https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs - -# AutoDig -config.ChatBot.AutoDig=Auto-digging blocks.\n# You need to enable Terrain Handling to use this bot\n# You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig.\n# Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead.\n# For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs -config.ChatBot.AutoDig.Auto_Tool_Switch=Automatically switch to the appropriate tool. -config.ChatBot.AutoDig.Durability_Limit=Will not use tools with less durability than this. Set to zero to disable this feature. -config.ChatBot.AutoDig.Drop_Low_Durability_Tools=Whether to drop the current tool when its durability is too low. -config.ChatBot.AutoDig.Mode="lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met. -config.ChatBot.AutoDig.Locations=The position of the blocks when using "fixedpos" or "both" mode. -config.ChatBot.AutoDig.Location_Order="distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list. -config.ChatBot.AutoDig.Auto_Start_Delay=How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start. -config.ChatBot.AutoDig.Dig_Timeout=Mining a block for more than "Dig_Timeout" seconds will be considered a timeout. -config.ChatBot.AutoDig.Log_Block_Dig=Whether to output logs when digging blocks. -config.ChatBot.AutoDig.List_Type=Wether to treat the blocks list as a "whitelist" or as a "blacklist". - -# ChatBot.AutoDrop -config.ChatBot.AutoDrop=Automatically drop items in inventory\n# You need to enable Inventory Handling to use this bot\n# See this file for an up-to-date list of item types you can use with this bot:\n# https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs -config.ChatBot.AutoDrop.Mode="include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list - -# ChatBot.AutoEat -config.ChatBot.AutoEat=Automatically eat food when your Hunger value is low\n# You need to enable Inventory Handling to use this bot - -# ChatBot.AutoFishing -config.ChatBot.AutoFishing=Automatically catch fish using a fishing rod\n# Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing\n# You can use "/fish" to control the bot manually.\n# /!\ Make sure server rules allow automated farming before using this bot -config.ChatBot.AutoFishing.Antidespawn=Keep it as false if you have not changed it before. -config.ChatBot.AutoFishing.Mainhand=Use the mainhand or the offhand to hold the rod. -config.ChatBot.AutoFishing.Auto_Start=Whether to start fishing automatically after entering a world. -config.ChatBot.AutoFishing.Cast_Delay=How soon to re-cast after successful fishing. -config.ChatBot.AutoFishing.Fishing_Delay=How long after entering the game to start fishing (seconds). -config.ChatBot.AutoFishing.Fishing_Timeout=Fishing timeout (seconds). Timeout will trigger a re-cast. -config.ChatBot.AutoFishing.Durability_Limit=Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature. -config.ChatBot.AutoFishing.Auto_Rod_Switch=Switch to a new rod from inventory after the current rod is unavailable. -config.ChatBot.AutoFishing.Stationary_Threshold=Hook movement in the X and Z axis less than this value will be considered stationary. -config.ChatBot.AutoFishing.Hook_Threshold=A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish. -config.ChatBot.AutoFishing.Log_Fish_Bobber=Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet. -config.ChatBot.AutoFishing.Enable_Move=This allows the player to change position/facing after each fish caught. -config.ChatBot.AutoFishing.Movements=It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only. - -# ChatBot.AutoRelog -config.ChatBot.AutoRelog=Automatically relog when disconnected by server, for example because the server is restating\n# /!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks -config.ChatBot.AutoRelog.Delay=The delay time before joining the server. (in seconds) -config.ChatBot.AutoRelog.Retries=Retries when failing to relog to the server. use -1 for unlimited retries. -config.ChatBot.AutoRelog.Ignore_Kick_Message=When set to true, autorelog will reconnect regardless of kick messages. -config.ChatBot.AutoRelog.Kick_Messages=If the kickout message matches any of the strings, then autorelog will be triggered. - -# ChatBot.AutoRespond -config.ChatBot.AutoRespond=Run commands or send messages automatically when a specified pattern is detected in chat\n# Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules\n# /!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam -config.ChatBot.AutoRespond.Match_Colors=Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work) - -# ChatBot.ChatLog -config.ChatBot.ChatLog=Logs chat messages in a file on disk. - -# ChatBot.DiscordBridge -config.ChatBot.DiscordBridge=This bot allows you to send and recieve messages and commands via a Discord channel.\n# For Setup you can either use the documentation or read here (Documentation has images).\n# Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge\n# Setup:\n# First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA .\n# /!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps!\n# When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe).\n# Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 .\n# Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom.\n# This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him.\n# Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode".\n# Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId".\n# Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId".\n# And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds".\n# How to use:\n# To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" .\n# To send a message, simply type it out and hit enter. -config.ChatBot.DiscordBridge.Token=Your Discord Bot token. -config.ChatBot.DiscordBridge.GuildId=The ID of a server/guild where you have invited the bot to. -config.ChatBot.DiscordBridge.ChannelId=The ID of a channel where you want to interact with the MCC using the bot. -config.ChatBot.DiscordBridge.OwnersIds=A list of IDs of people you want to be able to interact with the MCC using the bot. -config.ChatBot.DiscordBridge.MessageSendTimeout=How long to wait (in seconds) if a message can not be sent to discord before canceling the task (minimum 1 second). -config.ChatBot.DiscordBridge.Formats=Message formats\n# Words wrapped with { and } are going to be replaced during the code execution, do not change them!\n# For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time.\n# For Discord message formatting, check the following: https://bit.ly/3F8CUCm - -# ChatBot.Farmer -config.ChatBot.Farmer=Automatically farms crops for you (plants, breaks and bonemeals them).\n# Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat.\n# Usage: "/farmer start" command and "/farmer stop" command.\n# NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes.\n# or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this.\n# It is recommended to keep the farming area walled off and flat to avoid the bot jumping.\n# Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects.\n# The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s). -config.ChatBot.Farmer.Delay_Between_Tasks=Delay between tasks in seconds (Minimum 1 second) - -# ChatBot.FollowPlayer -config.ChatBot.FollowPlayer=Enabled you to make the bot follow you\n# NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you\n# It's similar to making animals follow you when you're holding food in your hand.\n# This is due to a slow pathfinding algorithm, we're working on getting a better one\n# You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite,\n# this might clog the thread for terain handling) and thus slow the bot even more.\n# /!\ Make sure server rules allow an option like this in the rules of the server before using this bot -config.ChatBot.FollowPlayer.Update_Limit=The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow) -config.ChatBot.FollowPlayer.Stop_At_Distance=Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop) - -# ChatBot.HangmanGame -config.ChatBot.HangmanGame=A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time.\n# You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell start\n# /!\ This bot may get a bit spammy if many players are interacting with it - -# ChatBot.Mailer -config.ChatBot.Mailer=Relay messages between players and servers, like a mail plugin\n# This bot can store messages when the recipients are offline, and send them when they join the server\n# /!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins - -# ChatBot.Map -config.ChatBot.Map=Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot)\n# This is useful for solving captchas which use maps\n# The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled.\n# NOTE:\n# If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console.\n# /!\ Make sure server rules allow bots to be used on the server, or you risk being punished. -config.ChatBot.Map.Render_In_Console=Whether to render the map in the console. -config.ChatBot.Map.Save_To_File=Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge). -config.ChatBot.Map.Auto_Render_On_Update=Automatically render the map once it is received or updated from/by the server -config.ChatBot.Map.Delete_All_On_Unload=Delete all rendered maps on unload/reload or when you launch the MCC again. -config.ChatBot.Map.Notify_On_First_Update=Get a notification when you have gotten a map from the server for the first time -config.ChatBot.Map.Resize_To=The size that a rendered image should be resized to, in pixels (eg. 512). -config.ChatBot.Map.Rasize_Rendered_Image=Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord. -config.ChatBot.Map.Send_Rendered_To_Bridges=Send a rendered map (saved to a file) to a Discord or a Telegram channel via the Discord or Telegram Bride chat bot (The Discord/Telegram Bridge chat bot must be enabled and configured!)\n# You need to enable Save_To_File in order for this to work.\n# We also recommend turning on resizing. - -# ChatBot.PlayerListLogger -config.ChatBot.PlayerListLogger=Log the list of players periodically into a textual file. -config.ChatBot.PlayerListLogger.Delay=(In seconds) - -# ChatBot.RemoteControl -config.ChatBot.RemoteControl=Send MCC console commands to your bot through server PMs (/tell)\n# You need to have ChatFormat working correctly and add yourself in botowners to use the bot\n# /!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins - -# ChatBot.ReplayCapture -config.ChatBot.ReplayCapture=Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/)\n# Please note that due to technical limitations, the client player (you) will not be shown in the replay file\n# /!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT! -config.ChatBot.ReplayCapture.Backup_Interval=How long should replay file be auto-saved, in seconds. Use -1 to disable. - -# ChatBot.ScriptScheduler -config.ChatBot.ScriptScheduler=Schedule commands and scripts to launch on various events such as server join, date/time or time interval\n# See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info - -# ChatBot.TelegramBridge -config.ChatBot.TelegramBridge=This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel.\n# /!\ NOTE: You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel.\n#-----------------------------------------------------------\n# Setup:\n# First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather\n# Click on "Start" button and read the bot reply, then type "/newbot", the Botfather will guide you through the bot creation.\n# Once you create the bot, copy the API key that you have gotten, and put it into the "Token" field of "ChatBot.TelegramBridge" section (this section).\n# /!\ Do not share this token with anyone else as it will give them the control over your bot. Save it securely.\n# Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it.\n# Click on "Start" button and type and send the following command ".chatid" to obtain the chat id. \n# Copy the chat id number (eg. 2627844670) and paste it in the "ChannelId" field and add it to the "Authorized_Chat_Ids" field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file.\n# Now you can use the bot using it's DM.\n# /!\ If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages!\n# /!\ An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string!\n#-----------------------------------------------------------\n# NOTE: If you want to recieve messages to a group channel instead, make the channel temporarely public, invite the bot to it and make it an administrator, then set the channel to private if you want.\n# Then set the "ChannelId" field to the @ of your channel (you must include the @ in the settings, eg. "@mysupersecretchannel"), this is the username you can see in the invite link of the channel.\n# /!\ Only include the username with @ prefix, do not include the rest of the link. Example if you have "https://t.me/mysupersecretchannel", the "ChannelId" will be "@mysupersecretchannel".\n# /!\ Note that you will not be able to send messages to the client from a group channel!\n#-----------------------------------------------------------\n# How to use the bot:\n# To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" .\n# To send a message, simply type it out and hit enter. -config.ChatBot.TelegramBridge.Token=Your Telegram Bot token. -config.ChatBot.TelegramBridge.ChannelId=An ID of a channel where you want to interact with the MCC using the bot. -config.ChatBot.TelegramBridge.Authorized_Chat_Ids=A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use ".chatid" bot command in Telegram. -config.ChatBot.TelegramBridge.MessageSendTimeout=How long to wait (in seconds) if a message can not be sent to Telegram before canceling the task (minimum 1 second). -config.ChatBot.TelegramBridge.Formats=Message formats\n# Words wrapped with { and } are going to be replaced during the code execution, do not change them!\n# For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time.\n# For Telegram message formatting, check the following: https://sendpulse.com/blog/telegram-text-formatting diff --git a/MinecraftClient/Resources/lang/fr.ini b/MinecraftClient/Resources/lang/fr.ini deleted file mode 100644 index 307b70fd060c8c6c634238cdad249f9dd304862c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75050 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 diff --git a/MinecraftClient/Resources/lang/ru.ini b/MinecraftClient/Resources/lang/ru.ini deleted file mode 100644 index 617a888e6893977c3bdda27378ccd5f734dd7c14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72174 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 N6zlY^rk@XN{(mlk$Oixb diff --git a/MinecraftClient/Resources/lang/tr.ini b/MinecraftClient/Resources/lang/tr.ini deleted file mode 100644 index cd2c8251f91d87a1a5a24be99eec9d0fd033fc8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150146 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 HKK%ax4+j%Y diff --git a/MinecraftClient/Scripting/CSharpRunner.cs b/MinecraftClient/Scripting/CSharpRunner.cs index 87857b5f..fa4226dd 100644 --- a/MinecraftClient/Scripting/CSharpRunner.cs +++ b/MinecraftClient/Scripting/CSharpRunner.cs @@ -31,7 +31,7 @@ namespace MinecraftClient //Script compatibility check for handling future versions differently if (lines.Length < 1 || lines[0] != "//MCCScript 1.0") throw new CSharpException(CSErrorType.InvalidScript, - new InvalidDataException(Translations.Get("exception.csrunner.invalid_head"))); + new InvalidDataException(Translations.exception_csrunner_invalid_head)); //Script hash for determining if it was previously compiled ulong scriptHash = QuickHash(lines); diff --git a/MinecraftClient/Scripting/ChatBot.cs b/MinecraftClient/Scripting/ChatBot.cs index e8ec7cff..06f76a04 100644 --- a/MinecraftClient/Scripting/ChatBot.cs +++ b/MinecraftClient/Scripting/ChatBot.cs @@ -51,7 +51,7 @@ namespace MinecraftClient return master.Handler; if (_handler != null) return _handler; - throw new InvalidOperationException(Translations.Get("exception.chatbot.init")); + throw new InvalidOperationException(Translations.exception_chatbot_init); } } @@ -843,7 +843,7 @@ namespace MinecraftClient /// Log text to write protected void LogToConsole(object? text) { - string botName = Translations.GetOrNull("botname." + GetType().Name) ?? GetType().Name; + string botName = Translations.ResourceManager.GetString("botname." + GetType().Name) ?? GetType().Name; if (_handler == null || master == null) ConsoleIO.WriteLogLine(String.Format("[{0}] {1}", botName, text)); else @@ -864,8 +864,9 @@ namespace MinecraftClient } } - protected static void LogToConsole(string botName, object? text) + protected static void LogToConsole(string originBotName, object? text) { + string botName = Translations.ResourceManager.GetString(originBotName) ?? originBotName; ConsoleIO.WriteLogLine(String.Format("[{0}] {1}", botName, text)); string logfile = Settings.Config.AppVar.ExpandVars(Config.Main.Advanced.ChatbotLogFile); @@ -900,7 +901,7 @@ namespace MinecraftClient /// protected void LogToConsoleTranslated(string key, params object[] args) { - LogToConsole(Translations.TryGet(key, args)); + LogToConsole(string.Format(Translations.ResourceManager.GetString(key) ?? key, args)); } ///

@@ -910,7 +911,7 @@ namespace MinecraftClient /// protected void LogDebugToConsoleTranslated(string key, params object?[] args) { - LogDebugToConsole(Translations.TryGet(key, args)); + LogDebugToConsole(string.Format(Translations.ResourceManager.GetString(key) ?? key, args)); } /// @@ -923,8 +924,8 @@ namespace MinecraftClient { if (Settings.Config.Logging.DebugMessages) { - string botName = Translations.GetOrNull("botname." + GetType().Name) ?? GetType().Name; - ConsoleIO.WriteLogLine(Translations.Get("chatbot.reconnect", botName)); + string botName = Translations.ResourceManager.GetString("botname." + GetType().Name) ?? GetType().Name; + ConsoleIO.WriteLogLine(string.Format(Translations.chatbot_reconnect, botName)); } McClient.ReconnectionAttemptsLeft = ExtraAttempts; Program.Restart(delaySeconds); diff --git a/MinecraftClient/Settings.cs b/MinecraftClient/Settings.cs index 39e4795a..514beb95 100644 --- a/MinecraftClient/Settings.cs +++ b/MinecraftClient/Settings.cs @@ -1,11 +1,13 @@ using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; +using System.Globalization; using System.IO; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Text.RegularExpressions; +using System.Threading; using MinecraftClient.Protocol; using MinecraftClient.Proxy; using Tomlet; @@ -33,7 +35,7 @@ namespace MinecraftClient public static string TranslationsFile_Website_Index = "https://piston-meta.mojang.com/v1/packages/b5c7548ddb9e584e84a5f762da5b78211c715a63/1.19.json"; public static string TranslationsFile_Website_Download = "http://resources.download.minecraft.net"; - public const string TranslationDocUrl = "https://mccteam.github.io/guide/contibuting.html#translations"; + public const string TranslationProjectUrl = "https://crwd.in/minecraft-console-client"; public const string GithubReleaseUrl = "https://github.com/MCCTeam/Minecraft-Console-Client/releases"; public const string GithubLatestReleaseUrl = GithubReleaseUrl + "/latest"; @@ -125,14 +127,18 @@ namespace MinecraftClient public static Tuple LoadFromFile(string filepath) { + Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; TomlDocument document; try { document = TomlParser.ParseFile(filepath); + Thread.CurrentThread.CurrentCulture = Program.ActualCulture; + Config = TomletMain.To(document); } catch (Exception ex) { + Thread.CurrentThread.CurrentCulture = Program.ActualCulture; try { // The old configuration file has been backed up as A. @@ -141,14 +147,13 @@ namespace MinecraftClient { string newFilePath = Path.ChangeExtension(filepath, ".backup.ini"); File.Copy(filepath, newFilePath, true); - ConsoleIO.WriteLineFormatted("§cPlease use the newly generated MinecraftClient.ini"); - ConsoleIO.WriteLineFormatted("§cThe old MinecraftClient.ini has been backed up as " + newFilePath); - ConsoleIO.WriteLine(Translations.GetOrNull("mcc.run_with_default_settings") ?? "\nMCC is running with default settings."); + ConsoleIO.WriteLineFormatted("§c" + Translations.mcc_use_new_config); + ConsoleIO.WriteLineFormatted("§c" + string.Format(Translations.mcc_backup_old_config, newFilePath)); return new(false, true); } } catch { } - ConsoleIO.WriteLineFormatted(Translations.GetOrNull("config.load.fail") ?? "§cFailed to load settings:§r"); + ConsoleIO.WriteLineFormatted(Translations.config_load_fail); ConsoleIO.WriteLine(ex.GetFullMessage()); return new(false, false); } @@ -157,7 +162,9 @@ namespace MinecraftClient public static void WriteToFile(string filepath, bool backupOldFile) { + Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; string tomlString = TomletMain.TomlStringFrom(Config); + Thread.CurrentThread.CurrentCulture = Program.ActualCulture; string[] tomlList = tomlString.Split('\n'); StringBuilder newConfig = new(); @@ -169,7 +176,11 @@ namespace MinecraftClient string config = matchComment.Groups[1].Value, comment = matchComment.Groups[2].Value; if (config.Length > 0) newConfig.Append(config).Append(' ', Math.Max(1, CommentsAlignPosition - config.Length) - 1); - newConfig.Append("# ").AppendLine(Translations.TryGet(comment).ReplaceLineEndings()); + string? comment_trans = Translations.ResourceManager.GetString(comment); + if (string.IsNullOrEmpty(comment_trans)) + newConfig.Append("# ").AppendLine(comment.ReplaceLineEndings()); + else + newConfig.Append("# ").AppendLine(comment_trans.Replace("\n", "\n# ").ReplaceLineEndings()); } else { @@ -200,7 +211,7 @@ namespace MinecraftClient catch (Exception ex) { backupSuccessed = false; - ConsoleIO.WriteLineFormatted(Translations.TryGet("config.backup.fail", backupFilePath)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.config_backup_fail, backupFilePath)); ConsoleIO.WriteLine(ex.Message); } } @@ -210,7 +221,7 @@ namespace MinecraftClient try { File.WriteAllBytes(filepath, newConfigByte); } catch (Exception ex) { - ConsoleIO.WriteLineFormatted(Translations.TryGet("config.write.fail", filepath)); + ConsoleIO.WriteLineFormatted(string.Format(Translations.config_write_fail, filepath)); ConsoleIO.WriteLine(ex.Message); } } @@ -232,13 +243,13 @@ namespace MinecraftClient { //Load settings as --setting=value and --section.setting=value if (!argument.Contains('=')) - throw new ArgumentException(Translations.Get("error.setting.argument_syntax", argument)); + throw new ArgumentException(string.Format(Translations.error_setting_argument_syntax, argument)); throw new NotImplementedException(); } else if (argument.StartsWith("-") && argument.Length > 1) { //Keep single dash arguments as unsupported for now (future use) - throw new ArgumentException(Translations.Get("error.setting.argument_syntax", argument)); + throw new ArgumentException(string.Format(Translations.error_setting_argument_syntax, argument)); } else { @@ -375,12 +386,22 @@ namespace MinecraftClient if (Advanced.MovementSpeed < 1) Advanced.MovementSpeed = 1; + if (!Advanced.LoadMccTranslation) + { + CultureInfo culture = CultureInfo.CreateSpecificCulture("en_gb"); + CultureInfo.DefaultThreadCurrentCulture = culture; + CultureInfo.DefaultThreadCurrentUICulture = culture; + Program.ActualCulture = culture; + Thread.CurrentThread.CurrentCulture = culture; + Thread.CurrentThread.CurrentUICulture = culture; + } + Advanced.Language = Regex.Replace(Advanced.Language, @"[^-^_^\w^*\d]", string.Empty).Replace('-', '_'); Advanced.Language = ToLowerIfNeed(Advanced.Language); if (!AvailableLang.Contains(Advanced.Language)) { - Advanced.Language = Translations.GetTranslationPriority().Item1; - ConsoleIO.WriteLogLine("[Settings] " + (Translations.GetOrNull("config.Main.Advanced.language.invaild") ?? "The language code is invalid.")); + Advanced.Language = GetDefaultGameLanguage(); + ConsoleIO.WriteLogLine("[Settings] " + Translations.config_Main_Advanced_language_invaild); } if (!string.IsNullOrWhiteSpace(General.Server.Host)) @@ -436,6 +457,9 @@ namespace MinecraftClient [TomlInlineComment("$config.Main.Advanced.language$")] public string Language = "en_gb"; + [TomlInlineComment("$config.Main.Advanced.LoadMccTrans$")] + public bool LoadMccTranslation = true; + // [TomlInlineComment("$config.Main.Advanced.console_title$")] public string ConsoleTitle = "%username%@%serverip% - Minecraft Console Client"; @@ -1173,6 +1197,426 @@ namespace MinecraftClient } } + public static string GetDefaultGameLanguage() + { + string gameLanguage = "en_gb"; + string systemLanguage = string.IsNullOrWhiteSpace(Program.ActualCulture.Name) + ? Program.ActualCulture.Parent.Name + : Program.ActualCulture.Name; + switch (systemLanguage) + { + case "af": + case "af-ZA": + gameLanguage = "af_za"; + break; + case "ar": + case "ar-AE": + case "ar-BH": + case "ar-DZ": + case "ar-EG": + case "ar-IQ": + case "ar-JO": + case "ar-KW": + case "ar-LB": + case "ar-LY": + case "ar-MA": + case "ar-OM": + case "ar-QA": + case "ar-SA": + case "ar-SY": + case "ar-TN": + case "ar-YE": + gameLanguage = "ar_sa"; + break; + case "az": + case "az-Cyrl-AZ": + case "az-Latn-AZ": + gameLanguage = "az_az"; + break; + case "be": + case "be-BY": + gameLanguage = "be_by"; + break; + case "bg": + case "bg-BG": + gameLanguage = "bg_bg"; + break; + case "bs-Latn-BA": + gameLanguage = "bs_ba"; + break; + case "ca": + case "ca-ES": + gameLanguage = "ca_es"; + break; + case "cs": + case "cs-CZ": + gameLanguage = "cs_cz"; + break; + case "cy-GB": + gameLanguage = "cy_gb"; + break; + case "da": + case "da-DK": + gameLanguage = "da_dk"; + break; + case "de": + case "de-DE": + case "de-LI": + case "de-LU": + gameLanguage = "de_de"; + break; + case "de-AT": + gameLanguage = "de_at"; + break; + case "de-CH": + gameLanguage = "de_ch"; + break; + case "dv": + case "dv-MV": + break; + case "el": + case "el-GR": + gameLanguage = "el_gr"; + break; + case "en": + case "en-029": + case "en-BZ": + case "en-IE": + case "en-JM": + case "en-PH": + case "en-TT": + case "en-ZA": + case "en-ZW": + case "en-GB": + gameLanguage = "en_gb"; + break; + case "en-AU": + gameLanguage = "en_au"; + break; + case "en-CA": + gameLanguage = "en_ca"; + break; + case "en-US": + gameLanguage = "en_us"; + break; + case "en-NZ": + gameLanguage = "en_nz"; + break; + case "es": + case "es-BO": + case "es-CO": + case "es-CR": + case "es-DO": + case "es-ES": + case "es-GT": + case "es-HN": + case "es-NI": + case "es-PA": + case "es-PE": + case "es-PR": + case "es-PY": + case "es-SV": + gameLanguage = "es_es"; + break; + case "es-AR": + gameLanguage = "es_ar"; + break; + case "es-CL": + gameLanguage = "es_cl"; + break; + case "es-EC": + gameLanguage = "es_ec"; + break; + case "es-MX": + gameLanguage = "es_mx"; + break; + case "es-UY": + gameLanguage = "es_uy"; + break; + case "es-VE": + gameLanguage = "es_ve"; + break; + case "et": + case "et-EE": + gameLanguage = "et_ee"; + break; + case "eu": + case "eu-ES": + gameLanguage = "eu_es"; + break; + case "fa": + case "fa-IR": + gameLanguage = "fa_ir"; + break; + case "fi": + case "fi-FI": + gameLanguage = "fi_fi"; + break; + case "fo": + case "fo-FO": + gameLanguage = "fo_fo"; + break; + case "fr": + case "fr-BE": + case "fr-FR": + case "fr-CH": + case "fr-LU": + case "fr-MC": + gameLanguage = "fr_fr"; + break; + case "fr-CA": + gameLanguage = "fr_ca"; + break; + case "gl": + case "gl-ES": + gameLanguage = "gl_es"; + break; + case "gu": + case "gu-IN": + break; + case "he": + case "he-IL": + gameLanguage = "he_il"; + break; + case "hi": + case "hi-IN": + gameLanguage = "hi_in"; + break; + case "hr": + case "hr-BA": + case "hr-HR": + gameLanguage = "hr_hr"; + break; + case "hu": + case "hu-HU": + gameLanguage = "hu_hu"; + break; + case "hy": + case "hy-AM": + gameLanguage = "hy_am"; + break; + case "id": + case "id-ID": + gameLanguage = "id_id"; + break; + case "is": + case "is-IS": + gameLanguage = "is_is"; + break; + case "it": + case "it-CH": + case "it-IT": + gameLanguage = "it_it"; + break; + case "ja": + case "ja-JP": + gameLanguage = "ja_jp"; + break; + case "ka": + case "ka-GE": + gameLanguage = "ka_ge"; + break; + case "kk": + case "kk-KZ": + gameLanguage = "kk_kz"; + break; + case "kn": + case "kn-IN": + gameLanguage = "kn_in"; + break; + case "kok": + case "kok-IN": + break; + case "ko": + case "ko-KR": + gameLanguage = "ko_kr"; + break; + case "ky": + case "ky-KG": + break; + case "lt": + case "lt-LT": + gameLanguage = "lt_lt"; + break; + case "lv": + case "lv-LV": + gameLanguage = "lv_lv"; + break; + case "mi-NZ": + break; + case "mk": + case "mk-MK": + gameLanguage = "mk_mk"; + break; + case "mn": + case "mn-MN": + gameLanguage = "mn_mn"; + break; + case "mr": + case "mr-IN": + break; + case "ms": + case "ms-BN": + case "ms-MY": + gameLanguage = "ms_my"; + break; + case "mt-MT": + gameLanguage = "mt_mt"; + break; + case "nb-NO": + break; + case "nl": + case "nl-NL": + gameLanguage = "nl_nl"; + break; + case "nl-BE": + gameLanguage = "nl_be"; + break; + case "nn-NO": + gameLanguage = "nn_no"; + break; + case "no": + gameLanguage = "no_no‌"; + break; + case "ns-ZA": + break; + case "pa": + case "pa-IN": + break; + case "pl": + case "pl-PL": + gameLanguage = "pl_pl‌"; + break; + case "pt": + case "pt-PT": + gameLanguage = "pt_pt‌"; + break; + case "pt-BR": + gameLanguage = "pt_br‌"; + break; + case "quz-BO": + break; + case "quz-EC": + break; + case "quz-PE": + break; + case "ro": + case "ro-RO": + gameLanguage = "ro_ro‌"; + break; + case "ru": + case "ru-RU": + gameLanguage = "ru_ru"; + break; + case "sa": + case "sa-IN": + break; + case "se-FI": + case "se-NO": + case "se-SE": + gameLanguage = "se_no"; + break; + case "sk": + case "sk-SK": + gameLanguage = "sk_sk"; + break; + case "sl": + case "sl-SI": + gameLanguage = "sl_si"; + break; + case "sma-NO": + break; + case "sma-SE": + break; + case "smj-NO": + break; + case "smj-SE": + break; + case "smn-FI": + break; + case "sms-FI": + break; + case "sq": + case "sq-AL": + gameLanguage = "sq_al"; + break; + case "sr": + case "sr-Cyrl-BA": + case "sr-Cyrl-CS": + case "sr-Latn-BA": + case "sr-Latn-CS": + gameLanguage = "sr_sp"; + break; + case "sv": + case "sv-FI": + case "sv-SE": + gameLanguage = "sv_se"; + break; + case "sw": + case "sw-KE": + break; + case "syr": + case "syr-SY": + break; + case "ta": + case "ta-IN": + gameLanguage = "ta_in"; + break; + case "te": + case "te-IN": + break; + case "th": + case "th-TH": + gameLanguage = "th_th"; + break; + case "tn-ZA": + break; + case "tr": + case "tr-TR": + gameLanguage = "tr_tr"; + break; + case "tt": + case "tt-RU": + gameLanguage = "tt_ru"; + break; + case "uk": + case "uk-UA": + gameLanguage = "uk_ua"; + break; + case "ur": + case "ur-PK": + break; + case "uz": + case "uz-Cyrl-UZ": + case "uz-Latn-UZ": + break; + case "vi": + case "vi-VN": + gameLanguage = "vi_vn"; + break; + case "xh-ZA": + break; + case "zh-Hans": /* CurrentCulture.Parent.Name */ + case "zh": + case "zh-CN": + case "zh-CHS": + case "zh-SG": + gameLanguage = "zh_cn"; + break; + case "zh-Hant": /* CurrentCulture.Parent.Name */ + case "zh-HK": + case "zh-CHT": + case "zh-MO": + gameLanguage = "zh_hk"; + break; + case "zh-TW": + gameLanguage = "zh_tw"; + break; + case "zu-ZA": + break; + } + return gameLanguage; + } [MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)] public static string ToLowerIfNeed(string str) diff --git a/MinecraftClient/Translations.cs b/MinecraftClient/Translations.cs deleted file mode 100644 index 64ac42ee..00000000 --- a/MinecraftClient/Translations.cs +++ /dev/null @@ -1,771 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Text; -using System.Text.RegularExpressions; - -namespace MinecraftClient -{ - /// - /// Allows to localize MinecraftClient in different languages - /// - /// - /// By ORelio (c) 2015-2018 - CDDL 1.0 - /// - public static class Translations - { - private static Dictionary translations; - private static readonly string translationFilePath = "lang" + Path.DirectorySeparatorChar + "mcc"; - private static readonly Regex translationKeyRegex = new(@"\(\[(.*?)\]\)", RegexOptions.Compiled); // Extract string inside ([ ]) - - /// - /// Return a tranlation for the requested text. Support string formatting - /// - /// text identifier - /// returns translation for this identifier - public static string Get(string msgName, params object?[] args) - { - if (translations.ContainsKey(msgName)) - { - if (args.Length > 0) - return string.Format(translations[msgName], args); - else - return translations[msgName]; - } - return msgName.ToUpper(); - } - - /// - /// Return a tranlation for the requested text. Support string formatting. If not found, return the original text - /// - /// text identifier - /// - /// Translated text or original text if not found - /// Useful when not sure msgName is a translation mapping key or a normal text - public static string TryGet(string msgName, params object?[] args) - { - if (translations.ContainsKey(msgName)) - return Get(msgName, args); - else - return msgName; - } - - /// - /// Return a tranlation for the requested text. Support string formatting. If not found, return the original text - /// - /// text identifier - /// - /// Translated text or original text if not found - /// Useful when not sure msgName is a translation mapping key or a normal text - public static string? GetOrNull(string msgName, params object?[] args) - { - if (translations.ContainsKey(msgName)) - return Get(msgName, args); - else - return null; - } - - /// - /// Replace the translation key inside a sentence to translated text. Wrap the key in ([translation.key]) - /// - /// - /// e.g. I only want to replace ([this]) - /// would only translate "this" without touching other words. - /// - /// Sentence for replace - /// - /// Translated sentence - public static string Replace(string msg, params object[] args) - { - string translated = translationKeyRegex.Replace(msg, new MatchEvaluator(ReplaceKey)); - if (args.Length > 0) - return string.Format(translated, args); - else return translated; - } - - private static string ReplaceKey(Match m) - { - return Get(m.Groups[1].Value); - } - - /// - /// Initialize translations depending on system language. - /// English is the default for all unknown system languages. - /// - static Translations() - { - string[] engLang = DefaultConfigResource.Translation_en.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None); // use embedded translations - translations = ParseTranslationContent(engLang); - } - - public static Tuple GetTranslationPriority() - { - string gameLanguage = "en_gb"; - List name = new(); - - string systemLanguage = string.IsNullOrWhiteSpace(Program.ActualCulture.Name) - ? Program.ActualCulture.Parent.Name - : Program.ActualCulture.Name; - - switch (systemLanguage) - { - case "af": - case "af-ZA": - gameLanguage = "af_za"; - break; - case "ar": - case "ar-AE": - case "ar-BH": - case "ar-DZ": - case "ar-EG": - case "ar-IQ": - case "ar-JO": - case "ar-KW": - case "ar-LB": - case "ar-LY": - case "ar-MA": - case "ar-OM": - case "ar-QA": - case "ar-SA": - case "ar-SY": - case "ar-TN": - case "ar-YE": - gameLanguage = "ar_sa"; - break; - case "az": - case "az-Cyrl-AZ": - case "az-Latn-AZ": - gameLanguage = "az_az"; - break; - case "be": - case "be-BY": - gameLanguage = "be_by"; - break; - case "bg": - case "bg-BG": - gameLanguage = "bg_bg"; - break; - case "bs-Latn-BA": - gameLanguage = "bs_ba"; - break; - case "ca": - case "ca-ES": - gameLanguage = "ca_es"; - break; - case "cs": - case "cs-CZ": - gameLanguage = "cs_cz"; - break; - case "cy-GB": - gameLanguage = "cy_gb"; - break; - case "da": - case "da-DK": - gameLanguage = "da_dk"; - break; - case "de": - case "de-DE": - case "de-LI": - case "de-LU": - gameLanguage = "de_de"; - name.Add("de"); - break; - case "de-AT": - gameLanguage = "de_at"; - name.Add("de"); - break; - case "de-CH": - gameLanguage = "de_ch"; - name.Add("de"); - break; - case "dv": - case "dv-MV": - break; - case "el": - case "el-GR": - gameLanguage = "el_gr"; - break; - case "en": - case "en-029": - case "en-BZ": - case "en-IE": - case "en-JM": - case "en-PH": - case "en-TT": - case "en-ZA": - case "en-ZW": - case "en-GB": - gameLanguage = "en_gb"; - break; - case "en-AU": - gameLanguage = "en_au"; - break; - case "en-CA": - gameLanguage = "en_ca"; - break; - case "en-US": - gameLanguage = "en_us"; - break; - case "en-NZ": - gameLanguage = "en_nz"; - break; - case "es": - case "es-BO": - case "es-CO": - case "es-CR": - case "es-DO": - case "es-ES": - case "es-GT": - case "es-HN": - case "es-NI": - case "es-PA": - case "es-PE": - case "es-PR": - case "es-PY": - case "es-SV": - gameLanguage = "es_es"; - break; - case "es-AR": - gameLanguage = "es_ar"; - break; - case "es-CL": - gameLanguage = "es_cl"; - break; - case "es-EC": - gameLanguage = "es_ec"; - break; - case "es-MX": - gameLanguage = "es_mx"; - break; - case "es-UY": - gameLanguage = "es_uy"; - break; - case "es-VE": - gameLanguage = "es_ve"; - break; - case "et": - case "et-EE": - gameLanguage = "et_ee"; - break; - case "eu": - case "eu-ES": - gameLanguage = "eu_es"; - break; - case "fa": - case "fa-IR": - gameLanguage = "fa_ir"; - break; - case "fi": - case "fi-FI": - gameLanguage = "fi_fi"; - break; - case "fo": - case "fo-FO": - gameLanguage = "fo_fo"; - break; - case "fr": - case "fr-BE": - case "fr-FR": - case "fr-CH": - case "fr-LU": - case "fr-MC": - gameLanguage = "fr_fr"; - name.Add("fr"); - break; - case "fr-CA": - gameLanguage = "fr_ca"; - name.Add("fr"); - break; - case "gl": - case "gl-ES": - gameLanguage = "gl_es"; - break; - case "gu": - case "gu-IN": - break; - case "he": - case "he-IL": - gameLanguage = "he_il"; - break; - case "hi": - case "hi-IN": - gameLanguage = "hi_in"; - break; - case "hr": - case "hr-BA": - case "hr-HR": - gameLanguage = "hr_hr"; - break; - case "hu": - case "hu-HU": - gameLanguage = "hu_hu"; - break; - case "hy": - case "hy-AM": - gameLanguage = "hy_am"; - break; - case "id": - case "id-ID": - gameLanguage = "id_id"; - break; - case "is": - case "is-IS": - gameLanguage = "is_is"; - break; - case "it": - case "it-CH": - case "it-IT": - gameLanguage = "it_it"; - break; - case "ja": - case "ja-JP": - gameLanguage = "ja_jp"; - break; - case "ka": - case "ka-GE": - gameLanguage = "ka_ge"; - break; - case "kk": - case "kk-KZ": - gameLanguage = "kk_kz"; - break; - case "kn": - case "kn-IN": - gameLanguage = "kn_in"; - break; - case "kok": - case "kok-IN": - break; - case "ko": - case "ko-KR": - gameLanguage = "ko_kr"; - break; - case "ky": - case "ky-KG": - break; - case "lt": - case "lt-LT": - gameLanguage = "lt_lt"; - break; - case "lv": - case "lv-LV": - gameLanguage = "lv_lv"; - break; - case "mi-NZ": - break; - case "mk": - case "mk-MK": - gameLanguage = "mk_mk"; - break; - case "mn": - case "mn-MN": - gameLanguage = "mn_mn"; - break; - case "mr": - case "mr-IN": - break; - case "ms": - case "ms-BN": - case "ms-MY": - gameLanguage = "ms_my"; - break; - case "mt-MT": - gameLanguage = "mt_mt"; - break; - case "nb-NO": - break; - case "nl": - case "nl-NL": - gameLanguage = "nl_nl"; - break; - case "nl-BE": - gameLanguage = "nl_be"; - break; - case "nn-NO": - gameLanguage = "nn_no"; - break; - case "no": - gameLanguage = "no_no‌"; - break; - case "ns-ZA": - break; - case "pa": - case "pa-IN": - break; - case "pl": - case "pl-PL": - gameLanguage = "pl_pl‌"; - break; - case "pt": - case "pt-PT": - gameLanguage = "pt_pt‌"; - break; - case "pt-BR": - gameLanguage = "pt_br‌"; - break; - case "quz-BO": - break; - case "quz-EC": - break; - case "quz-PE": - break; - case "ro": - case "ro-RO": - gameLanguage = "ro_ro‌"; - break; - case "ru": - case "ru-RU": - gameLanguage = "ru_ru"; - name.Add("ru"); - break; - case "sa": - case "sa-IN": - break; - case "se-FI": - case "se-NO": - case "se-SE": - gameLanguage = "se_no"; - break; - case "sk": - case "sk-SK": - gameLanguage = "sk_sk"; - break; - case "sl": - case "sl-SI": - gameLanguage = "sl_si"; - break; - case "sma-NO": - break; - case "sma-SE": - break; - case "smj-NO": - break; - case "smj-SE": - break; - case "smn-FI": - break; - case "sms-FI": - break; - case "sq": - case "sq-AL": - gameLanguage = "sq_al"; - break; - case "sr": - case "sr-Cyrl-BA": - case "sr-Cyrl-CS": - case "sr-Latn-BA": - case "sr-Latn-CS": - gameLanguage = "sr_sp"; - break; - case "sv": - case "sv-FI": - case "sv-SE": - gameLanguage = "sv_se"; - break; - case "sw": - case "sw-KE": - break; - case "syr": - case "syr-SY": - break; - case "ta": - case "ta-IN": - gameLanguage = "ta_in"; - break; - case "te": - case "te-IN": - break; - case "th": - case "th-TH": - gameLanguage = "th_th"; - break; - case "tn-ZA": - break; - case "tr": - case "tr-TR": - gameLanguage = "tr_tr"; - name.Add("tr"); - break; - case "tt": - case "tt-RU": - gameLanguage = "tt_ru"; - break; - case "uk": - case "uk-UA": - gameLanguage = "uk_ua"; - break; - case "ur": - case "ur-PK": - break; - case "uz": - case "uz-Cyrl-UZ": - case "uz-Latn-UZ": - break; - case "vi": - case "vi-VN": - gameLanguage = "vi_vn"; - name.Add("vi"); - break; - case "xh-ZA": - break; - case "zh-Hans": /* CurrentCulture.Parent.Name */ - case "zh": - case "zh-CN": - case "zh-CHS": - case "zh-SG": - gameLanguage = "zh_cn"; - name.Add("zh_Hans"); - name.Add("zh_Hant"); - break; - case "zh-Hant": /* CurrentCulture.Parent.Name */ - case "zh-HK": - case "zh-CHT": - case "zh-MO": - gameLanguage = "zh_hk"; - name.Add("zh_Hant"); - name.Add("zh_Hans"); - break; - case "zh-TW": - gameLanguage = "zh_tw"; - name.Add("zh_Hant"); - name.Add("zh_Hans"); - break; - case "zu-ZA": - break; - } - - name.Add("en"); - - return new(gameLanguage, name.ToArray()); - } - - public static string[] GetTranslationPriority(string gameLanguage) - { - List name = new(); - - switch (gameLanguage) - { - case "de_at": - case "de_ch": - case "de_de": - name.Add("de"); - break; - case "en_au": - case "en_ca": - case "en_gb": - case "en_nz": - case "en_pt": - case "en_ud": - case "en_us": - break; - case "fr_ca": - case "fr_fr": - name.Add("fr"); - break; - case "ru_ru": - name.Add("ru"); - break; - case "tr_tr": - name.Add("tr"); - break; - case "vi_vn": - name.Add("vi"); - break; - case "zh_cn": - name.Add("zh_Hans"); - name.Add("zh_Hant"); - break; - case "zh_hk": - case "zh_tw": - name.Add("zh_Hant"); - name.Add("zh_Hans"); - break; - } - - name.Add("en"); - - return name.ToArray(); - } - - /// - /// Load translation files - /// - public static void LoadTranslationFile(string[] languageList) - { - translations = new(); - - /* - * External translation files - * These files are loaded from the installation directory as: - * Lang/abc.ini, e.g. Lang/eng.ini which is the default language file - * Useful for adding new translations of fixing typos without recompiling - */ - string baseDir = AppDomain.CurrentDomain.BaseDirectory; - string langDir = baseDir + ((baseDir.EndsWith(Path.DirectorySeparatorChar) ? String.Empty : Path.DirectorySeparatorChar) + - translationFilePath + Path.DirectorySeparatorChar); - - foreach (string lang in languageList) - { - bool fileLoaded = false; - string langFileName = string.Format("{0}{1}.ini", langDir, lang); - - if (File.Exists(langFileName)) // Language set in ini config - { - fileLoaded = true; - Dictionary trans = ParseTranslationContent(File.ReadAllLines(langFileName)); - foreach ((string key, string value) in trans) - if (!string.IsNullOrWhiteSpace(value) && !translations.ContainsKey(key)) - translations.Add(key, value); - } - - string? resourseLangFile = DefaultConfigResource.ResourceManager.GetString("Translation_" + lang); - if (resourseLangFile != null) - { - fileLoaded = true; - Dictionary trans = ParseTranslationContent(resourseLangFile.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None)); - foreach ((string key, string value) in trans) - if (!string.IsNullOrWhiteSpace(value) && !translations.ContainsKey(key)) - translations.Add(key, value); - } - - if (!fileLoaded) - { - if (Settings.Config.Logging.DebugMessages) - ConsoleIO.WriteLogLine("[Translations] No translation file found for " + lang + ". (Looked '" + langFileName + "'"); - } - } - } - - /// - /// Parse the given array to translation map - /// - /// Content of the translation file (in ini format) - private static Dictionary ParseTranslationContent(string[] content) - { - Dictionary translations = new(); - foreach (string lineRaw in content) - { - string line = lineRaw.Trim(); - if (line.Length < 3) - continue; - if (!char.IsLetterOrDigit(line[0])) // ignore comment line started with # - continue; - - int index = line.IndexOf('='); - if (index != -1 && line.Length > (index + 1)) - translations[line[..index]] = line[(index + 1)..].Replace("\\n", "\n"); - } - return translations; - } - - public static void TrimAllTranslations() - { - string[] transEn = DefaultConfigResource.ResourceManager.GetString("Translation_en")! - .Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None); - - foreach (string lang in new string[] { "de", "fr", "ru", "tr", "vi", "zh-Hans", "zh-Hant" }) - { - Dictionary trans = ParseTranslationContent( - DefaultConfigResource.ResourceManager.GetString("Translation_" + lang.Replace('-', '_'), System.Globalization.CultureInfo.InvariantCulture)! - .Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None) - ); - string fileName = AppDomain.CurrentDomain.BaseDirectory + Path.DirectorySeparatorChar + translationFilePath + Path.DirectorySeparatorChar + lang + ".ini"; - if (File.Exists(fileName)) - { - string backupFilePath = Path.ChangeExtension(fileName, ".backup.ini"); - try - { - File.Copy(fileName, backupFilePath, true); - File.Delete(fileName); - } - catch (Exception ex) - { - ConsoleIO.WriteLineFormatted(Translations.TryGet("config.backup.fail", backupFilePath)); - ConsoleIO.WriteLine(ex.Message); - return; - } - } - StringBuilder sb = new(); - int total = 0, translated = 0; - int total_char = 0, translated_char = 0; - for (int i = 0; i < transEn.Length; ++i) - { - string line = transEn[i].Trim(); - int index = transEn[i].IndexOf('='); - if (line.Length < 3 || !char.IsLetterOrDigit(line[0]) || index == -1 || line.Length <= (index + 1)) - { - sb.Append(line); - } - else - { - int en_value_len = line.Length - index; - string key = line[..index]; - sb.Append(key).Append('='); - if (trans.TryGetValue(key, out string? value)) - { - sb.Append(value.Replace("\n", "\\n")); - ++translated; - translated_char += en_value_len; - } - ++total; - total_char += en_value_len; - } - sb.AppendLine(); - } - File.WriteAllText(fileName, sb.ToString(), Encoding.Unicode); - ConsoleIO.WriteLine(string.Format("Language {0}: Translated {1} of {2}, {3:0.00}%", lang, translated, total, 100.0 * translated_char / total_char)); - } - } - - #region Console writing method wrapper - - /// - /// Translate the key and write the result to the standard output, without newline character - /// - /// Translation key - public static void Write(string key) - { - ConsoleIO.WriteLine(Get(key)); - } - - /// - /// Translate the key and write a Minecraft-Like formatted string to the standard output, using §c color codes - /// See minecraft.gamepedia.com/Classic_server_protocol#Color_Codes for more info - /// - /// Translation key - /// If false, space are printed instead of newlines - /// - /// If false, no timestamp is prepended. - /// If true, "hh-mm-ss" timestamp will be prepended. - /// If unspecified, value is retrieved from EnableTimestamps. - /// - public static void WriteLineFormatted(string key, bool acceptnewlines = true, bool? displayTimestamp = null) - { - ConsoleIO.WriteLineFormatted(Get(key), acceptnewlines, displayTimestamp); - } - - /// - /// Translate the key, format the result and write it to the standard output with a trailing newline. Support string formatting - /// - /// Translation key - /// - public static void WriteLine(string key, params object[] args) - { - if (args.Length > 0) - ConsoleIO.WriteLine(string.Format(Get(key), args)); - else ConsoleIO.WriteLine(Get(key)); - } - - /// - /// Translate the key and write the result with a prefixed log line. Prefix is set in LogPrefix. - /// - /// Translation key - /// Allow line breaks - public static void WriteLogLine(string key, bool acceptnewlines = true) - { - ConsoleIO.WriteLogLine(Get(key), acceptnewlines); - } - - #endregion - } -} \ No newline at end of file diff --git a/MinecraftClient/config/ChatBots/MineCube.cs b/MinecraftClient/config/ChatBots/MineCube.cs index d53c84ab..43f1e20d 100644 --- a/MinecraftClient/config/ChatBots/MineCube.cs +++ b/MinecraftClient/config/ChatBots/MineCube.cs @@ -18,7 +18,7 @@ class MineCube : ChatBot { if (!GetTerrainEnabled()) { - LogToConsole(Translations.Get("extra.terrainandmovement_required")); + LogToConsole(Translations.extra_terrainandmovement_required); UnloadBot(); return; } diff --git a/README-nl.md b/README-nl.md deleted file mode 100644 index 60b96309..00000000 --- a/README-nl.md +++ /dev/null @@ -1,54 +0,0 @@ -Minecraft Console Client -======================== - -[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) - -Minecraft Console Client (MCC) is een simpele app waarmee je Minecraft servers kan joinen, command sturen en berichten ontvangen op een snelle en makkelijke manier zonder Minecraft echt hoeven te openen. Het biedt ook verschillende geautomatiseerde functies die je kan aanzetten voor administratie en andere dingen. - -## Download 🔽 - -Verkrijg [hier](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) de laatste ontwikkelde binaire versie. -De exe file is een .NET binary die ook werkt op Mac en Linux. - -## Hoe Te Gebruiken 📚 - -Bekijk [hier](MinecraftClient/config/) een voorbeeld van de configuratie bestand, deze bevat uitleg om het te gebruiken. Daarnaats kan je de [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) lezen. - -## Hulp Krijgen 🙋 - -Bekijk de [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) en de bestaande [discussies](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Misschien is je vraag daar al beantwoord. Als dat niet zo is open dan een [nieuwe discussie](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) en stel je vraag. Als je een bug vind, rapporteer dat bij de [problemen](https://github.com/MCCTeam/Minecraft-Console-Client/issues) sectie. - -## Steentje bijdragen ❤️ - -We zijn een kleine community, dus we hebben hulp nodig bij het implementeren van verbeteringen voor de nieuwe Minecraft-versies, het oplossen van bugs en het uitbreiden van het project. We zijn altijd op zoek naar gemotiveerde mensen om een steentje bij te dragen. Als je het gevoel hebt dat jij de persoon bent die wij zoeken, kijk dan eens naar de [problemen](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) sectie :) - -## Hoe draag je bij 📝 - -Als je graag mee wilt helpen aan Minecraft Console Client, geweldig! Fork de repository en dien een pull request in op de *Master* branch. MCC gebruikt de *master* branch voor de stabiel versies (dus we gebruiken de *Indev* branch niet meer). - -![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") - -## Minecraft Console Client Vertalen 🌍 - -Als je de Minecraft Console Client wilt vertalen naar een andere taal, download dan het vertalings bestand via [de talen folder](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang) of fork de repository. Nadat je klaar bent met de vertaling dien je de vertaling in of stuur je ons het bestand door d.m.v. een [probleem](https://github.com/MCCTeam/Minecraft-Console-Client/issues) (voorals je nieuw bent met Git(Hub)). - -Als je het vertaalde taalbestand wilt gebruiken, plaats je het onder `lang/mcc/` map en stel je de taal in `.ini` config. Je kunt de map maken als deze niet bestaat. - -Voor de namen van het vertaalbestand, zie [dit bericht](https://github.com/MCCTeam/Minecraft-Console-Client/pull/1282#issuecomment-711150715). - -## Eigen versie bouwen 🏗️ - -Dit gedeelte is verplaatst naar onze nieuwe documentatiewebsite. -[Klik hier](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). - -## Licentie ⚖️ - -Tenzij anders aangegeven, is de code van hete MCC Team of vrijwilligers, en beschikbaar onder CDDL-1.0. De licentie en orginele autheur zijn te vinden in de kopteksten van de bronnen te vinden. -De belangrijkste punten van de CDDL-1.0 licentie zijn als volgt: - -- Je mag de gelicentieerde code in zijn geheel of gedeeltelijk gebruiken in je eigen programma's, ongeacht de licentie van het programma als geheel (of beter gezegd, als exclusief de code die u leent). Het programma zelf kan open of closed source, gratis of commercieel zijn. -- In alle gevallen echter, eventuele wijzigingen, verbeteringen of toevoegingen aan de CDDL-code (elke code waarnaar wordt verwezen in directe wijzigingen aan de CDDL-code wordt beschouwd als een toevoeging aan de CDDL-code en is dus gebonden aan deze vereiste; bijvoorbeeld een wijziging van een wiskundige functie om een snelle opzoektabel te gebruiken, maakt die tabel zelf een toevoeging aan de CDDL-code, ongeacht of het in een eigen broncodebestand staat) moet openbaar en vrij beschikbaar worden gesteld in de bron, onder de CDDL-licentie zelf. -- In elk programma (bron of binair) dat CDDL-code gebruikt, moet herkenning worden gegeven aan de bron (project of auteur) van de CDDL-code. Ook mogen wijzigingen in de CDDL-code (die als bron moet worden verspreid) geen kennisgevingen verwijderen die de afkomst van de code aangeven. - -Meer info op http://qstuff.blogspot.fr/2007/04/why-cddl.html -Volledige licentie op http://opensource.org/licenses/CDDL-1.0 diff --git a/README-sr.md b/README-sr.md deleted file mode 100644 index 8762feb9..00000000 --- a/README-sr.md +++ /dev/null @@ -1,79 +0,0 @@ - - -## **О пројекту ℹ️** - -**Minecraft Console Client (MCC)** је оптимизован **Мајнкрафт** конзолни клијент отвореног кода за **Јава** верзију игре који Вам омогућава да се повежете на било који Манјкрафт Јава сервер, да шаљете и примате поруке брзо и лако, без потребе да отварате главну Манјкрафт игру. - -## Преузимање - -Нај новију верзију клијента можете да преузмете [овде](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) - -## Корисни линкови 📚 - -- 🌐 [Документација](https://mccteam.github.io/) -- 📦 [Инсталација](https://mccteam.github.io/guide/installation.html) -- 📖 [Коришћење](https://mccteam.github.io/guide/usage.html) -- ⚙️ [Подешавање](https://mccteam.github.io/guide/configuration.html) -- 🤖 [Ботови](https://mccteam.github.io/guide/chat-bots.html) -- 📝 [Примери датотека за подешавање](MinecraftClient/config/) - -## Помоћ 🙋 - -Погледајте наш [веб сајт](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) и постојеће [дискусије](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Можда је Ваше питање већ постављено раније, ако није, можете да [поставите ново](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new). Ако пронађете проблем, можете да га пријавите у секцији [Проблеми](https://github.com/MCCTeam/Minecraft-Console-Client/issues). - -## Дискорд - -Имамо наш Дискорд сервер, [придружите нам се](https://discord.gg/sfBv4TtpC9). -Напомена: Сви разговори се воде искључиво на Енглеском. - -## Помозите нам ❤️ - -Ми смо мала заједница којој је потребна помоћ да имплементира функционалност за новије верзије игре, да поправља багове/проблеме и да побољшава пројекат. Увек смо у потрази за мотивисаном људима који би желели да раде на пројекту. Ако би сте желели да помогнете, погледајте секцију [Проблеми](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) :) - -## Допринос пројекту 📝 - -Ако желите да допринесете развоју пројекта у виду програмирања, само направите копију (Форк) репозиторијума, клонирајте га, измените шта треба и затим отворите _Pull Request_ на главној _master_ грани. -Такође погледајте наш [репозиторијум за веб сајт/документацију](https://github.com/MCCTeam/MCCTeam.github.io) ако желите да допринесете у виду побољшања документације. - -![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") - -## Превођење пројекта 🌍 - -Ako желите да преведете пројекат на други језик проверите нашу секцију у документацији: [Како ажурирати/изменити или додати превод](https://mccteam.github.io/guide/contibuting.html#translations). - -Пројекат је тренутно предевен на следће језике (сортирано по Енглеском алфабету): - * `de.ini` : Deutsch - German - * `en.ini` : English - English - * `fr.ini` : Français (France) - French - * `ru.ini` : Русский (Russkiy) - Russian - * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese - * `zh-Hans.ini` : 简体中文(中国大陆) - Chinese Simplified (China; Mandarin) - -## Прављење извршне датотеке из кода 🏗️ - -Ова секција је померена на наш вебсајт са документацијом: [Прављење извршне датотеке из кода](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). - -## Лиценца ⚖️ - -Осим ако није специфично назначено, код који су написали људи из МЦЦ Тима и људи који су допринели пројекту се води под CDDL-1.0 лиценцом. У супротном лиценца оригиналног аутора ће бити назначена у коментару на врху датотеке која садржи код. - -Главни услови CDDL-1.0 лиценце гласе: - -- Можете користити лиценцни код у целини или делимично у било ком програму који желите, без обзира на лиценцу програма у целини (или боље речено, искључујући код који позајмљујете). Сам програм може бити отвореног или затвореног кода, бесплатан или комерцијалан. -– Међутим, у свим случајевима, било које измене, побољшања или додаци CDDL кода (сваки код који се референцира у директним модификацијама CDDL кода сматра се додатком CDDL коду, па је везан овим захтевом; нпр. модификација математичке функције за коришћење табеле за брзо тражење чини ту табелу додатком CDDL коду, без обзира да ли се налази у сопственој датотеци изворног кода) мора бити јавно и слободно доступно у изворном коду, под само CDDL лиценцом . -- У било ком програму (изворном или бинарном) који користи CDDL код, мора се признати извор (било пројекат или аутор) CDDL кода. Такође, измене CDDL кода (који се мора дистрибуирати као извор) можда неће уклонити обавештења која указују на порекло кода. - - -Више информација http://qstuff.blogspot.fr/2007/04/why-cddl.html - -Цела лиценца http://opensource.org/licenses/CDDL-1.0 diff --git a/README-vi-vn.md b/README-vi-vn.md deleted file mode 100644 index f16411da..00000000 --- a/README-vi-vn.md +++ /dev/null @@ -1,53 +0,0 @@ -# Minecraft Console Client - -[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) - -Minecraft Console Client (MCC) là một ứng dụng nhẹ cho phép bạn kết nối tới bất kì máy chủ Minecraft nào, gửi lệnh và nhận tin nhắn bằng một cách nhanh và dễ dàng mà không cần phải mở Minecraft. Nó cũng cung cấp nhiều hoạt động tự động mà bạn có thể bật để quản lý và nhiều mục đích khác. - -## Tải 🔽 - -Tải binary ngay tại [đây](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest). -File exe là .NET binary nên cũng có thể chạy được trên MacOS và Linux - -## Hướng dẫn sử dụng 📚 - -Hãy xem [file cài đặt mẫu](MinecraftClient/config/) có bao gồm hướng dẫn sử dụng [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual). - -## Hỗ trợ 🙋 - -Hãy xem [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) và [Thảo luận](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Có thể câu hỏi của bạn sẽ được trả lời ở đây. Nếu không, hãy mở một [cuộc thảo luận mới](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) và hỏi câu hỏi của bạn. Nếu bạn tìm thấy lỗi, hãy báo cáo chúng ở [khu vực vấn đề](https://github.com/MCCTeam/Minecraft-Console-Client/issues). - -## Giúp đỡ chúng tôi ❤️ - -Chúng tôi là một cộng đồng nhỏ nên chúng tôi cần giúp đỡ để cài đặt cập nhật cho những phiên bản mới hơn, sửa lỗi trong ứng dụng và mở rộng kế hoạch. Chúng tôi luôn tìm kiếm những người có động lục để đóng góp. Nếu bạn nghĩ đó có thể là bạn, hãy xem phần [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) :) - -## Làm thế nào để đóng góp? 📝 - -Nếu bạn cảm thấy thích đóng góp cho Minecraft Console Client, tuyệt vời, chỉ cần fork repository này và nộp 1 cái pull request trên nhánh _Master_. MCC đang được phân phối bằng những phiên bản development (thường là ổn định) và chúng tôi không còn sử dụng nhánh _Indev_. - -![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") - -## Dịch Minecraft Console Client 🌍 - -Nếu bạn muốn dịch Minecraft Console Client bằng một ngôn ngữ khác, hãy tải file mẫu này [ở đây](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang) hoặc chỉ cần fork repository này. Khi bạn xong với việc dịch, nộp 1 cái pull request hoặc gửi cho chúng tôi tại [khu vực vấn đề](https://github.com/MCCTeam/Minecraft-Console-Client/issues). - -Để sử dụng file dịch, hãy để nó trong thư mục `lang/mcc/` và chỉnh ngôn ngữ của bạn trong file `.ini` config. Bạn có thể tạo thư mục đó nếu không có. - -Để xem hướng dẫn đặt tên, hãy xem [bình luận này](https://github.com/MCCTeam/Minecraft-Console-Client/pull/1282#issuecomment-711150715). - -## Xây từ gốc 🏗️ - -Phần này đã được chuyển đến trang web tài liệu mới của chúng tôi. -[Bấm vào đây](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). - -## License ⚖️ - -Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. -The main terms of the CDDL-1.0 license are basically the following: - -- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. -- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. -- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. - -More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html -Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README-zh-Hans.md b/README-zh-Hans.md deleted file mode 100644 index 2a65f06a..00000000 --- a/README-zh-Hans.md +++ /dev/null @@ -1,89 +0,0 @@ -
- -Logo - -# Minecraft 控制台客户端 (MCC) - -[文档](https://mccteam.github.io/) | [下载](#download) | [安装](https://mccteam.github.io/guide/installation.html) | [配置](https://mccteam.github.io/guide/configuration.html) | [使用](https://mccteam.github.io/guide/usage.html) - -[![GitHub Actions 构建状态](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord 服务器 - -
- -## **关于 ℹ️** - -**Minecraft 控制台客户端 (MCC)** 是一个轻量级、跨平台、基于文本用户界面的 Minecraft 客户端,适用于 **Java 国际版**,允许您连接到任何 Minecraft Java 国际版服务器,以快速简单的方式发送命令与接受文本消息,而无需打开 Minecraft 游戏。 - -## 下载 - -从 [Releases](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) 获取开发构建 - -## 如何使用 📚 - -- 🌐 [完整文档](https://mccteam.github.io/) -- 📦 [安装](https://mccteam.github.io/guide/installation.html) -- 📖 [使用](https://mccteam.github.io/guide/usage.html) -- ⚙️ [配置](https://mccteam.github.io/guide/configuration.html) -- 🤖 [聊天机器人](https://mccteam.github.io/guide/chat-bots.html) -- 📝 [示例配置文件](MinecraftClient/config/) - -## 获取帮助 🙋 - -查看[网站](https://mccteam.github.io/)、[README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) 以及[交流区](https://github.com/MCCTeam/Minecraft-Console-Client/discussions):也许你的问题已经在那里得到了解答。如果没有,请创建一个[新的交流帖](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new)并提出你的问题。如果你发现了一个 bug,请在 [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) 页面进行反馈。 - -## Discord - -我们创建了一个 Discord 服务器, [点击此处](https://discord.gg/sfBv4TtpC9)加入。 - -## 帮助我们 ❤️ - -我们是个较小的社区,所以我们需要帮助来实现对新 Minecraft 版本的升级、修复 bug 以及扩展项目。我们一直在寻找有动力的人来参与贡献。如果你觉得你是那个人,请查看 [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) 页面 :) - -## 如何进行贡献 📝 - -如果你希望为 Minecraft 控制台客户端做出贡献,很好,只需 fork 仓库并向 _Master_ 分支上提交一个 Pull Request 即可。如果你希望为网站 / 在线文档做出贡献,请参阅[网站的 git 仓库](https://github.com/MCCTeam/MCCTeam.github.io)。 - -![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") - -## 翻译 Minecraft 控制台客户端 (MCC) 🌍 - -请查看:[如何为MCC添加或更新翻译](https://mccteam.github.io/guide/contibuting.html#translations)。 - -MCC 现在支持这些语言(按字母顺序排列): - * `de.ini`: Deutsch - German - * `en.ini`: English - English - * `fr.ini`: Français (France) - French - * `ru.ini`: Русский (Russkiy) - Russian - * `vi.ini`: Tiếng Việt (Việt Nam) - Vietnamese - * `zh-Hans.ini`: 简体中文 - Chinese Simplified - * `zh-Hant.ini`: 繁體中文 - Chinese Traditional - -## 从源码构建 🏗️ - -这部分已经被移动到了我们的新[文档站](https://mccteam.github.io/guide/installation.html#building-from-the-source-code)上。 - -## 开源协议 ⚖️ - -除非特别说明,代码均来自 MCC 团队或贡献者,并且可在 CDDL-1.0 许可下使用。否则,许可证和原始作者将在源文件头中提及。 -CDDL-1.0 许可的主要条款基本上是以下内容: - -- 无论您希望将其用于整个程序或部分程序,您都可以在任何程序中使用许可的代码,而需考虑程序整体的许可证(或者说,除了您使用的代码之外的部分)。程序本身可以是开源或闭源的,免费或商业的。 -- 然而,在所有情况下,对 CDDL 代码的任何修改、改进或补充(任何直接修改 CDDL 代码的代码都被视为对 CDDL 代码的补充,因此受到此要求的约束;例如,使用快速查找表修改数学函数使得该表本身成为 CDDL 代码的补充,无论它是否在自己的源代码文件中)必须在 CDDL 许可下以源代码的形式在公共和免费的情况下提供。 -- 在使用 CDDL 代码的任何程序(源代码或二进制文件)中,必须提及 CDDL 代码的来源(项目或作者)。此外,对 CDDL 代码的修改(必须以源代码的形式分发)不能删除指示代码来源的声明。 - -更多信息:http://qstuff.blogspot.fr/2007/04/why-cddl.html -完整协议:http://opensource.org/licenses/CDDL-1.0 - -
- 原文 - - Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. - The main terms of the CDDL-1.0 license are basically the following: - - - You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. - - However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. - - In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. - - More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html - Full license at http://opensource.org/licenses/CDDL-1.0 -
diff --git a/README.md b/README.md index 3a6a2a06..4d2dac51 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) -[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README-nl.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README-sr.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README-tr.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README-vi-vn.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README-zh-Hans.md) +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) [![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server @@ -49,17 +49,17 @@ If you'd like to contribute to Minecraft Console Client, great, just fork the re ## Translating Minecraft Console Client 🌍 -Check out: [How to update or add translations for MCC](https://mccteam.github.io/guide/contibuting.html#translations). +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). MCC now supports the following languages (Alphabetical order) : - * `de.ini` (26.73% translated) : Deutsch - German + * `de.ini` : Deutsch - German * `en.ini` : English - English - * `fr.ini` (26.73% translated) : Français (France) - French - * `ru.ini` (26.24% translated) : Русский (Russkiy) - Russian - * `tr.ini` (100.00% translated) : Türkçe (Türkiye) - Turkish - * `vi.ini` (26.24% translated) : Tiếng Việt (Việt Nam) - Vietnamese - * `zh-Hans.ini` (76.92% translated) : 简体中文 - Chinese Simplified - * `zh-Hant.ini` (76.92% translated) : 繁體中文 - Chinese Traditional + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional ## Building from the source 🏗️ diff --git a/README/README-Afrikaans.md b/README/README-Afrikaans.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Afrikaans.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Arabic.md b/README/README-Arabic.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Arabic.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Catalan.md b/README/README-Catalan.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Catalan.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Chinese_Simplified.md b/README/README-Chinese_Simplified.md new file mode 100644 index 00000000..43c6edf0 --- /dev/null +++ b/README/README-Chinese_Simplified.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft 控制台客户端 (MCC) + +[文档](https://mccteam.github.io/) | [下载](#download) | [安装](https://mccteam.github.io/guide/installation.html) | [配置](https://mccteam.github.io/guide/configuration.html) | [使用](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions 构建状态](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord 服务器 + +
+ +## **关于 ℹ️** + +**Minecraft 控制台客户端 (MCC)** 是一个轻量级、跨平台、基于文本用户界面的 Minecraft 客户端,适用于 **Java 国际版**,允许您连接到任何 Minecraft Java 国际版服务器,以快速简单的方式发送命令与接受文本消息,而无需打开 Minecraft 游戏。 + +## 下载 + +从 [Releases](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) 获取开发构建 + +## 如何使用 📚 + +- 🌐 [完整文档](https://mccteam.github.io/) +- 📦 [安装](https://mccteam.github.io/guide/installation.html) +- 📖 [使用](https://mccteam.github.io/guide/usage.html) +- ⚙️ [配置](https://mccteam.github.io/guide/configuration.html) +- 🤖 [聊天机器人](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [示例配置文件](MinecraftClient/config/) + +## 获取帮助 🙋 + +查看[网站](https://mccteam.github.io/)、[README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) 以及[交流区](https://github.com/MCCTeam/Minecraft-Console-Client/discussions):也许你的问题已经在那里得到了解答。 如果没有,请创建一个[新的交流帖](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new)并提出你的问题。 如果你发现了一个 bug,请在 [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) 页面进行反馈。 + +## Discord + +我们创建了一个 Discord 服务器, [点击此处](https://discord.gg/sfBv4TtpC9)加入。 + +## 帮助我们 ❤️ + +我们是个较小的社区,所以我们需要帮助来实现对新 Minecraft 版本的升级、修复 bug 以及扩展项目。 我们一直在寻找有动力的人来参与贡献。 如果你觉得你是那个人,请查看 [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) 页面 :) + +## 如何进行贡献 📝 + +如果你希望为 Minecraft 控制台客户端做出贡献,很好,只需 fork 仓库并向 _Master_ 分支上提交一个 Pull Request 即可。 如果你希望为网站 / 在线文档做出贡献,请参阅[网站的 git 仓库](https://github.com/MCCTeam/MCCTeam.github.io)。 + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## 翻译 Minecraft 控制台客户端 (MCC) 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC 现在支持这些语言(按字母顺序排列): + * `de.ini` : Deutsch - German + * `en.ini`: English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## 从源码构建 🏗️ + +这部分已经被移动到了我们的新[文档站](https://mccteam.github.io/guide/installation.html#building-from-the-source-code)上。 + +## License ⚖️ + +除非特别说明,代码均来自 MCC 团队或贡献者,并且可在 CDDL-1.0 许可下使用。 否则,许可证和原始作者将在源文件头中提及。 CDDL-1.0 许可的主要条款基本上是以下内容: + +- 无论您希望将其用于整个程序或部分程序,您都可以在任何程序中使用许可的代码,而需考虑程序整体的许可证(或者说,除了您使用的代码之外的部分)。 程序本身可以是开源或闭源的,免费或商业的。 +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- 在使用 CDDL 代码的任何程序(源代码或二进制文件)中,必须提及 CDDL 代码的来源(项目或作者)。 此外,对 CDDL 代码的修改(必须以源代码的形式分发)不能删除指示代码来源的声明。 + +更多信息:http://qstuff.blogspot.fr/2007/04/why-cddl.html 完整协议:http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Chinese_Traditional.md b/README/README-Chinese_Traditional.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Chinese_Traditional.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Czech.md b/README/README-Czech.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Czech.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Danish.md b/README/README-Danish.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Danish.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Dutch.md b/README/README-Dutch.md new file mode 100644 index 00000000..3a55e143 --- /dev/null +++ b/README/README-Dutch.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +Minecraft Console Client (MCC) is een simpele app waarmee je Minecraft servers kan joinen, command sturen en berichten ontvangen op een snelle en makkelijke manier zonder Minecraft echt hoeven te openen. + +## Download 🔽 + +https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg + +## Hoe Te Gebruiken 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- Bekijk [hier](MinecraftClient/config/) een voorbeeld van de configuratie bestand, deze bevat uitleg om het te gebruiken. Daarnaats kan je de [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) lezen. + +## Hulp Krijgen 🙋 + +Bekijk de [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) en de bestaande [discussies](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Misschien is je vraag daar al beantwoord. Als dat niet zo is open dan een [nieuwe discussie](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) en stel je vraag. Als je een bug vind, rapporteer dat bij de [problemen](https://github.com/MCCTeam/Minecraft-Console-Client/issues) sectie. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We zijn een kleine community, dus we hebben hulp nodig bij het implementeren van verbeteringen voor de nieuwe Minecraft-versies, het oplossen van bugs en het uitbreiden van het project. We zijn altijd op zoek naar gemotiveerde mensen om een steentje bij te dragen. Als je het gevoel hebt dat jij de persoon bent die wij zoeken, kijk dan eens naar de [problemen](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) sectie :) + +## Hoe draag je bij 📝 + +Als je graag mee wilt helpen aan Minecraft Console Client, geweldig! Fork de repository en dien een pull request in op de *Master* branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Minecraft Console Client Vertalen 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +Dit gedeelte is verplaatst naar onze nieuwe documentatiewebsite. [Klik hier](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## Licentie ⚖️ + +Tenzij anders aangegeven, is de code van hete MCC Team of vrijwilligers, en beschikbaar onder CDDL-1.0. De licentie en orginele autheur zijn te vinden in de kopteksten van de bronnen te vinden. De belangrijkste punten van de CDDL-1.0 licentie zijn als volgt: + +- Je mag de gelicentieerde code in zijn geheel of gedeeltelijk gebruiken in je eigen programma's, ongeacht de licentie van het programma als geheel (of beter gezegd, als exclusief de code die u leent). Het programma zelf kan open of closed source, gratis of commercieel zijn. +- In alle gevallen echter, eventuele wijzigingen, verbeteringen of toevoegingen aan de CDDL-code (elke code waarnaar wordt verwezen in directe wijzigingen aan de CDDL-code wordt beschouwd als een toevoeging aan de CDDL-code en is dus gebonden aan deze vereiste; bijvoorbeeld een wijziging van een wiskundige functie om een snelle opzoektabel te gebruiken, maakt die tabel zelf een toevoeging aan de CDDL-code, ongeacht of het in een eigen broncodebestand staat) moet openbaar en vrij beschikbaar worden gesteld in de bron, onder de CDDL-licentie zelf. +- In elk programma (bron of binair) dat CDDL-code gebruikt, moet herkenning worden gegeven aan de bron (project of auteur) van de CDDL-code. Ook mogen wijzigingen in de CDDL-code (die als bron moet worden verspreid) geen kennisgevingen verwijderen die de afkomst van de code aangeven. + +Meer info op http://qstuff.blogspot.fr/2007/04/why-cddl.html Volledige licentie op http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-English.md b/README/README-English.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-English.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Finnish.md b/README/README-Finnish.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Finnish.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-French.md b/README/README-French.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-French.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-German.md b/README/README-German.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-German.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Greek.md b/README/README-Greek.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Greek.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Hebrew.md b/README/README-Hebrew.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Hebrew.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Hungarian.md b/README/README-Hungarian.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Hungarian.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Italian.md b/README/README-Italian.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Italian.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Japanese.md b/README/README-Japanese.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Japanese.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Korean.md b/README/README-Korean.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Korean.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Norwegian.md b/README/README-Norwegian.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Norwegian.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Polish.md b/README/README-Polish.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Polish.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Portuguese-Brazilian.md b/README/README-Portuguese-Brazilian.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Portuguese-Brazilian.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Portuguese.md b/README/README-Portuguese.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Portuguese.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Romanian.md b/README/README-Romanian.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Romanian.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Russian.md b/README/README-Russian.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Russian.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Serbian_Cyrillic.md b/README/README-Serbian_Cyrillic.md new file mode 100644 index 00000000..96246db3 --- /dev/null +++ b/README/README-Serbian_Cyrillic.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Документација](https://mccteam.github.io/) | [Преузимање](#download) | [Инсталација](https://mccteam.github.io/guide/installation.html) | [Подешавање](https://mccteam.github.io/guide/configuration.html) | [Коришћење](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **О пројекту ℹ️** + +**Minecraft Console Client (MCC)** је оптимизован **Мајнкрафт** конзолни клијент отвореног кода за **Јава** верзију игре који Вам омогућава да се повежете на било који Манјкрафт Јава сервер, да шаљете и примате поруке брзо и лако, без потребе да отварате главну Манјкрафт игру. + +## Преузимање + +Нај новију верзију клијента можете да преузмете [овде](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## Корисни линкови 📚 + +- 🌐 [Документација](https://mccteam.github.io/) +- 📦 [Инсталација](https://mccteam.github.io/guide/installation.html) +- 📖 [Коришћење](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Подешавање](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Ботови](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Примери датотека за подешавање](MinecraftClient/config/) + +## Помоћ 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Дискорд + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Помозите нам ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## Допринос пројекту 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Превођење пројекта 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +Пројекат је тренутно предевен на следће језике (сортирано по Енглеском алфабету): + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Прављење извршне датотеке из кода 🏗️ + +Ова секција је померена на наш вебсајт са документацијом: [Прављење извршне датотеке из кода](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## Лиценца ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +Главни услови CDDL-1.0 лиценце гласе: diff --git a/README/README-Spanish.md b/README/README-Spanish.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Spanish.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Swedish.md b/README/README-Swedish.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Swedish.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README-tr.md b/README/README-Turkish.md similarity index 77% rename from README-tr.md rename to README/README-Turkish.md index 38484fdb..8d4d06b5 100644 --- a/README-tr.md +++ b/README/README-Turkish.md @@ -1,80 +1,76 @@ -
- -Logo - -# Minecraft Console Client (MCC) - -[Kütüphane](https://mccteam.github.io/) | [İndir](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) | [Kurulum](https://mccteam.github.io/guide/installation.html) | [Yapılandırma](https://mccteam.github.io/guide/configuration.html) | [Kullanım](https://mccteam.github.io/guide/usage.html) - -[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server - -
- -## **Bilgilendirme ℹ️** - -**Minecraft Console Client (MCC)**, herhangi bir Minecraft Java sunucusuna bağlanmanıza, oyunu açmak zorunda kalmadan hızlı ve kolay bir şekilde komutlar göndermenize ve metin mesajları almanıza olanak tanıyan **Java** sürümü için hafif bir çapraz platform açık kaynaklı Minecraft TUI istemcisidir. Minecraft oyunu. - -## İndir - -[Releases](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) kısmından güncellenmiş yeni sürümleri indirin. - -## Nasıl Kullanılır 📚 - -- 🌐 [Kütüphaneler](https://mccteam.github.io/) -- 📦 [Kurulum](https://mccteam.github.io/guide/installation.html) -- 📖 [Kullanım](https://mccteam.github.io/guide/usage.html) -- ⚙️ [Yapılandırma](https://mccteam.github.io/guide/configuration.html) -- 🤖 [Sohbet Botu](https://mccteam.github.io/guide/chat-bots.html) -- 📝 [Örnek yapılandırma dosyaları](MinecraftClient/config/) - -## Yardım Alma 🙋 - -[Web adresimize](https://mccteam.github.io/), [README'ye](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) ve mevcut [Tartışmalara](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) göz atın: Belki sorunuz orada yanıtlanmıştır. Değilse, lütfen [Yeni Tartışma](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) açın ve sorunuzu sorun. Bir hata bulursanız, lütfen bunu [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) bölümünde bildirin. - -## Discord - -Artık bir Discord sunucumuz var, katılmak için [buraya](https://discord.gg/sfBv4TtpC9) tıklayın. - -## Bize Yardım Etmek ❤️ - -Biz küçük bir topluluğuz, bu nedenle yeni Minecraft sürümleri için yükseltmeleri uygulamak, hataları düzeltmek ve projeyi geliştirmek için yardıma ihtiyacımız var. Her zaman katkıda bulunacak motive insanlar arıyoruz. Siz olabileceğini düşünüyorsanız, lütfen [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) kısmına bir göz atın - -## Nasıl Katkıda Bulunulur 📝 - -Minecraft Console Client için katkıda bulunmak istiyorsanız, harika, _Master_ bölümünü forklayın ve katkıda bulunduğunz yeri pull request ile gönderin. Web sitemize / çevrimiçi belgelere katkıda bulunmak için ayrıca [Website repository] kısmına bakın. - -![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") - -## Minecraft Console Client Çevirme 🌍 - -Minecraft Console Client uygulamamızı farklı bir dile çevirmek istiyorsanız, lütfen çeviri dosyasını [lang klasöründen](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang) indirin veya forklayın. Çeviri işini bitirdikten sonra, bir pull request gönderin veya Github'a aşina değilseniz dosyayı bir [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) aracılığıyla bize gönderin. - -Çevrilmiş dil dosyasını kullanmak için, onu 'lang/mcc/' klasörünün altına yerleştirin ve dilinizi '.ini' yapılandırmasında ayarlayın. Dizin yoksa, dizini oluşturabilirsiniz. - -Çeviri dosyasının adları için lütfen [bu yoruma](https://github.com/MCCTeam/Minecraft-Console-Client/pull/1282#issuecomment-711150715) bakın. - -MCC artık aşağıdaki dilleri desteklemektedir (Alfabetik sıra) : - * `de.ini` : Deutsch - German - * `en.ini` : English - English - * `fr.ini` : Français (France) - French - * `ru.ini` : Русский (Russkiy) - Russian - * `tr.ini` : Türkçe (Türkiye) - Turkish - * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese - * `zh-Hans.ini` : 简体中文 - Chinese Simplified - * `zh-Hant.ini` : 繁體中文 - Chinese Traditional - -## Kaynaktan Geliştirme 🏗️ - -Bu bölüm yeni [Kütüphaneler web sitemize](https://mccteam.github.io/guide/installation.html#building-from-the-source-code) taşındı. - -## Lisans ⚖️ - -Özel olarak belirtilmediği sürece, kod MCC Ekibine veya Katkıda Bulunanlara aittir ve CDDL-1.0 altında mevcuttur. Aksi takdirde, kaynak dosya başlıklarında lisans ve orijinal yazar belirtilir. -CDDL-1.0 lisansının ana koşulları temel olarak aşağıdaki gibidir: - -- Lisanslı kodu, programın bir bütün olarak (veya daha doğrusu ödünç aldığınız kod hariç) lisansı ne olursa olsun, dilediğiniz herhangi bir programda kısmen veya tamamen kullanabilirsiniz. Programın kendisi açık veya kapalı kaynak, ücretsiz veya ticari olabilir. -- Bununla birlikte, her durumda, CDDL kodunda yapılan herhangi bir değişiklik, iyileştirme veya ekleme (CDDL kodunda doğrudan değişikliklerde atıfta bulunulan herhangi bir kod, CDDL koduna bir ek olarak kabul edilir ve bu nedenle bu gereksinime tabidir; örneğin bir değişiklik hızlı arama tablosu kullanmak için bir matematik işlevinin kullanılması, bu tablonun kendisinin bir kaynak kod dosyasında olup olmadığına bakılmaksızın, bu tablonun kendisini CDDL koduna bir ek yapar) CDDL lisansının kendisi altında kaynakta halka açık ve ücretsiz olarak erişilebilir hale getirilmelidir. -- CDDL kodunu kullanan herhangi bir programda (kaynak veya ikili), CDDL kodunun kaynağına (proje veya yazar) tanınma verilmelidir. Ayrıca, CDDL kodunda (kaynak olarak dağıtılması gereken) yapılan değişiklikler, kodun kökenini gösteren bildirimleri kaldırmayabilir. - -Daha fazla bilgi: http://qstuff.blogspot.fr/2007/04/why-cddl.html -Tüm lisans: http://opensource.org/licenses/CDDL-1.0 \ No newline at end of file +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)**, herhangi bir Minecraft Java sunucusuna bağlanmanıza, oyunu açmak zorunda kalmadan hızlı ve kolay bir şekilde komutlar göndermenize ve metin mesajları almanıza olanak tanıyan **Java** sürümü için hafif bir çapraz platform açık kaynaklı Minecraft TUI istemcisidir. Minecraft oyunu. + +## İndir + +[Releases](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) kısmından güncellenmiş yeni sürümleri indirin. + +## Nasıl Kullanılır 📚 + +- 🌐 [Kütüphaneler](https://mccteam.github.io/) +- 📦 [Kurulum](https://mccteam.github.io/guide/installation.html) +- 📖 [Kullanım](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Yapılandırma](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Sohbet Botu](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Örnek yapılandırma dosyaları](MinecraftClient/config/) + +## Yardım Alma 🙋 + +[Web adresimize](https://mccteam.github.io/), [README'ye](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) ve mevcut [Tartışmalara](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) göz atın: Belki sorunuz orada yanıtlanmıştır. Değilse, lütfen [Yeni Tartışma](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) açın ve sorunuzu sorun. Bir hata bulursanız, lütfen bunu [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) bölümünde bildirin. + +## Discord + +Artık bir Discord sunucumuz var, katılmak için [buraya](https://discord.gg/sfBv4TtpC9) tıklayın. + +## Bize Yardım Etmek ❤️ + +Biz küçük bir topluluğuz, bu nedenle yeni Minecraft sürümleri için yükseltmeleri uygulamak, hataları düzeltmek ve projeyi geliştirmek için yardıma ihtiyacımız var. Her zaman katkıda bulunacak motive insanlar arıyoruz. Siz olabileceğini düşünüyorsanız, lütfen [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) kısmına bir göz atın + +## Nasıl Katkıda Bulunulur 📝 + +Minecraft Console Client için katkıda bulunmak istiyorsanız, harika, _Master_ bölümünü forklayın ve katkıda bulunduğunz yeri pull request ile gönderin. Web sitemize / çevrimiçi belgelere katkıda bulunmak için ayrıca [Website repository] kısmına bakın. + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Minecraft Console Client Çevirme 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC artık aşağıdaki dilleri desteklemektedir (Alfabetik sıra) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +Bu bölüm yeni [Kütüphaneler web sitemize](https://mccteam.github.io/guide/installation.html#building-from-the-source-code) taşındı. + +## Lisans ⚖️ + +Özel olarak belirtilmediği sürece, kod MCC Ekibine veya Katkıda Bulunanlara aittir ve CDDL-1.0 altında mevcuttur. Aksi takdirde, kaynak dosya başlıklarında lisans ve orijinal yazar belirtilir. CDDL-1.0 lisansının ana koşulları temel olarak aşağıdaki gibidir: + +- Lisanslı kodu, programın bir bütün olarak (veya daha doğrusu ödünç aldığınız kod hariç) lisansı ne olursa olsun, dilediğiniz herhangi bir programda kısmen veya tamamen kullanabilirsiniz. Programın kendisi açık veya kapalı kaynak, ücretsiz veya ticari olabilir. +- Bununla birlikte, her durumda, CDDL kodunda yapılan herhangi bir değişiklik, iyileştirme veya ekleme (CDDL kodunda doğrudan değişikliklerde atıfta bulunulan herhangi bir kod, CDDL koduna bir ek olarak kabul edilir ve bu nedenle bu gereksinime tabidir; örneğin bir değişiklik hızlı arama tablosu kullanmak için bir matematik işlevinin kullanılması, bu tablonun kendisinin bir kaynak kod dosyasında olup olmadığına bakılmaksızın, bu tablonun kendisini CDDL koduna bir ek yapar) CDDL lisansının kendisi altında kaynakta halka açık ve ücretsiz olarak erişilebilir hale getirilmelidir. +- CDDL kodunu kullanan herhangi bir programda (kaynak veya ikili), CDDL kodunun kaynağına (proje veya yazar) tanınma verilmelidir. Ayrıca, CDDL kodunda (kaynak olarak dağıtılması gereken) yapılan değişiklikler, kodun kökenini gösteren bildirimleri kaldırmayabilir. + +Daha fazla bilgi: http://qstuff.blogspot.fr/2007/04/why-cddl.html Tüm lisans: http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Ukrainian.md b/README/README-Ukrainian.md new file mode 100644 index 00000000..7b427663 --- /dev/null +++ b/README/README-Ukrainian.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Download + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## How to use 📚 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Getting Help 🙋 + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +We now have a Discord server, click [here](https://discord.gg/sfBv4TtpC9) to join. + +## Helping Us ❤️ + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## How to contribute 📝 + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/README/README-Vietnamese.md b/README/README-Vietnamese.md new file mode 100644 index 00000000..400f68a3 --- /dev/null +++ b/README/README-Vietnamese.md @@ -0,0 +1,76 @@ +
+ +Logo + +# Minecraft Console Client (MCC) + +[Documentation](https://mccteam.github.io/) | [Download](#download) | [Installation](https://mccteam.github.io/guide/installation.html) | [Configuration](https://mccteam.github.io/guide/configuration.html) | [Usage](https://mccteam.github.io/guide/usage.html) + +[English](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README.md) | [Nederlands](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Dutch.md) | [Српски](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Serbian_Cyrillic.md) | [Türkçe](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Turkish.md) | [Tiếng Việt](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Vietnamese.md) | [简体中文](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/README/README-Chinese_Simplified.md) + +[![GitHub Actions build status](https://github.com/MCCTeam/Minecraft-Console-Client/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) Discord server + +
+ +## **About ℹ️** + +**Minecraft Console Client (MCC)** is a lightweight cross-platform open-source Minecraft TUI client for **Java** edition that allows you to connect to any Minecraft Java server, send commands and receive text messages in a fast and easy way without having to open the main Minecraft game. + +## Hướng dẫn sử dụng 📚 + +Get development builds from the [Releases section](https://github.com/MCCTeam/Minecraft-Console-Client/releases/latest) + +## Hỗ trợ 🙋 + +- 🌐 [Full Documentation](https://mccteam.github.io/) +- 📦 [Installation](https://mccteam.github.io/guide/installation.html) +- 📖 [Usage](https://mccteam.github.io/guide/usage.html) +- ⚙️ [Configuration](https://mccteam.github.io/guide/configuration.html) +- 🤖 [Chat Bots](https://mccteam.github.io/guide/chat-bots.html) +- 📝 [Sample configuration files](MinecraftClient/config/) + +## Giúp đỡ chúng tôi ❤️ + +Check out the [Website](https://mccteam.github.io/), [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual) and existing [Discussions](https://github.com/MCCTeam/Minecraft-Console-Client/discussions): Maybe your question is answered there. If not, please open a [New Discussion](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/new) and ask your question. If you find a bug, please report it in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section. + +## Discord + +Hãy xem [file cài đặt mẫu](MinecraftClient/config/) có bao gồm hướng dẫn sử dụng [README](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#minecraft-console-client-user-manual). + +## Dịch Minecraft Console Client 🌍 + +We are a small community so we need help to implement upgrades for new Minecraft versions, fixing bugs and expanding the project. We are always looking for motivated people to contribute. If you feel like it could be you, please have a look at the [issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+is%3Aopen+label%3Awaiting-for%3Acontributor) section :) + +## Xây từ gốc 🏗️ + +If you'd like to contribute to Minecraft Console Client, great, just fork the repository and submit a pull request on the _Master_ branch. To contribute to the website / online documentation see also the [Website repository](https://github.com/MCCTeam/MCCTeam.github.io). + +![Alt](https://repobeats.axiom.co/api/embed/c8a6c7c47fde8fcbe3727a21eab46e6b39dff60d.svg "Repobeats analytics image") + +## Translating Minecraft Console Client 🌍 + +To improve translations for MCC, please visit: [Crowdin - Minecraft Console Client](https://crwd.in/minecraft-console-client). + +MCC now supports the following languages (Alphabetical order) : + * `de.ini` : Deutsch - German + * `en.ini` : English - English + * `fr.ini` : Français (France) - French + * `ru.ini` : Русский (Russkiy) - Russian + * `tr.ini` : Türkçe (Türkiye) - Turkish + * `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese + * `zh-Hans.ini` : 简体中文 - Chinese Simplified + * `zh-Hant.ini` : 繁體中文 - Chinese Traditional + +## Building from the source 🏗️ + +This section has been moved to our new [Documentation website](https://mccteam.github.io/guide/installation.html#building-from-the-source-code). + +## License ⚖️ + +Unless specifically stated, the code is from the MCC Team or Contributors, and available under CDDL-1.0. Else, the license and original author are mentioned in source file headers. The main terms of the CDDL-1.0 license are basically the following: + +- You may use the licensed code in whole or in part in any program you desire, regardless of the license of the program as a whole (or rather, as excluding the code you are borrowing). The program itself may be open or closed source, free or commercial. +- However, in all cases, any modifications, improvements, or additions to the CDDL code (any code that is referenced in direct modifications to the CDDL code is considered an addition to the CDDL code, and so is bound by this requirement; e.g. a modification of a math function to use a fast lookup table makes that table itself an addition to the CDDL code, regardless of whether it's in a source code file of its own) must be made publicly and freely available in source, under the CDDL license itself. +- In any program (source or binary) that uses CDDL code, recognition must be given to the source (either project or author) of the CDDL code. As well, modifications to the CDDL code (which must be distributed as source) may not remove notices indicating the ancestry of the code. + +More info at http://qstuff.blogspot.fr/2007/04/why-cddl.html Full license at http://opensource.org/licenses/CDDL-1.0 diff --git a/crowdin.yml b/crowdin.yml new file mode 100644 index 00000000..3e064c4a --- /dev/null +++ b/crowdin.yml @@ -0,0 +1,7 @@ +files: + - source: /MinecraftClient/Resources/Translations/Translations.resx + translation: /MinecraftClient/Resources/Translations/Translations%osx_code% + - source: /MinecraftClient/Resources/AsciiArt/AsciiArt.resx + translation: /MinecraftClient/Resources/AsciiArt/AsciiArt%osx_code% + - source: /README.md + translation: /README/README-%language%.md

-#1Tq9~>bg?&!dJu@;^|9-ucX^~Bt~ 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 bfVZ|!{=NSHR;^J`S;9PW(zU(O<`n-6f%nyF diff --git a/MinecraftClient/Resources/lang/vi.ini b/MinecraftClient/Resources/lang/vi.ini deleted file mode 100644 index d7a5164ae661f048b03ef636d6bd4ee0afc95cb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68472 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 diff --git a/MinecraftClient/Resources/lang/zh-Hans.ini b/MinecraftClient/Resources/lang/zh-Hans.ini deleted file mode 100644 index a4ac3b53747f4fc05f43fbdbe61659e3cac4b9e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76364 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 z 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