New Crowdin updates (#2322)

This commit is contained in:
BruceChen 2022-11-04 15:39:02 +08:00 committed by GitHub
parent f61c73eb68
commit 237d14577f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
270 changed files with 179827 additions and 30 deletions

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

View file

@ -3,7 +3,6 @@
"description": "Minecraft Console Client (MCC) 文档站点",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "简体中文",
"selectLanguageText": "选择语言",
"selectLanguageAriaLabel": "选择语言",
"editLinkText": "在 GitHub 上编辑此页",

View file

@ -3,7 +3,6 @@
"description": "Documentation website for the Minecraft Console Client (MCC)",
"helpUsTranslate": "Help us translate",
"theme": {
"selectLanguageName": "English",
"selectLanguageText": "Languages",
"selectLanguageAriaLabel": "Select language",
"editLinkText": "Edit this page",

28
docs/l10n/af/README.md Normal file
View file

@ -0,0 +1,28 @@
---
home: true
heroImage: /images/MCC_logo_with_edge.png
tagline: 'Minecraft Console Client (MCC) is a lightweight open-source Minecraft Java client implemented in C#'
actions:
-
text: Installation
link: ./guide/installation.md
type: primary
-
text: Learn More →
link: ./guide/
type: secondary
actionText:
actionLink:
features:
-
title: Chat
details: Chat with other people on the server
-
title: Automation
details: Create bots to do automated tasks
-
title: Supported Versions
details: 1.4 - 1.19.2
footer: Made by MCC Team with ❤️
---

View file

@ -0,0 +1,163 @@
# Introduction
- [About](#about)
- [Quick Intro (YouTube Videos)](#quick-intro)
- [Features](#features)
- [Why Minecraft Console Client?](#why-minecraft-console-client)
- [Getting Help](#getting-help)
- [Submitting a bug report or an idea/feature-request](#bugs-ideas-feature-requests)
- [Important notes on some features](#notes-on-some-features)
- [Credits](#credits)
- [Disclaimer](#disclaimer)
- [License](#license)
## 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.
It also provides various automations that you can enable for administration and other purposes, as well as extensible C# API for creating Bots.
It was originally made by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/), now it's maintained by him and many other contributors from the community.
## Features
- Chat
- Send and receive chat messages
- [Log chat history](chat-bots.md#chat-log)
- [Get alerted on certain keywords](chat-bots.md#alerts)
- [Auto Respond](chat-bots.md#auto-respond)
- [Anti AFK](chat-bots.md#anti-afk)
- [Auto Relog](chat-bots.md#auto-relog)
- [Script Scheduler](chat-bots.md#script-scheduler)
- [Remote Control](chat-bots.md#remote-control)
- [Auto Respond](chat-bots.md#auto-respond)
- [Auto Attack](chat-bots.md#auto-attack)
- [Auto Fishing](chat-bots.md#auto-fishing)
- [Auto Eat](chat-bots.md#auto-eat)
- [Auto Craft](chat-bots.md#auto-craft)
- [Mailer Bot](chat-bots.md#mailer)
- [Auto Drop](chat-bots.md#auto-drop)
- [Replay Mod](chat-bots.md#replay-mod)
- [API for creating Bots in C#](creating-bots.md#creating-chat-bots)
- [Docker Support](installation.md#using-docker)
- [Inventory Handling](usage.md#inventory)
- [Terrain Traversing](usage.md#move)
- Entity Handling
_NOTE: Some of mentioned features are disabled by default and you will have to turn them on in the configuration file and some may require additional configuration on your part for your specific usage._
## Why Minecraft Console Client?
- Easy to use
- Helpful community
- Open-Source
- Fast performance
- Cross-Platform
- Docker Support
- 10 years of continuous development
- Active contributors
- Widely used
## Quick Intro
Don't have time to read through the documentation, we got you, our community has made some simple introduction videos about the **Minecraft Console Client**.
### The list of the tutorials:
Installation:
- [Installation on Windows by Daenges](https://www.youtube.com/watch?v=BkCqOCa2uQw)
- [Installation on Windows + Auto AFK and More by Dexter113](https://www.youtube.com/watch?v=FxJ0KFIHDrY)
Using Commands, Scripts and other features:
- [Minecraft Console Client | Tutorial | Commands, Scripts, AppVars, Matches, Tasks and C# Scripts by Daenges](https://youtu.be/JbDpwwETEnU)
- [Console Client Tutorial - Scripting by Zixxter](https://www.youtube.com/watch?v=XE7rYBFJxn0)
## Getting Help
MCC has a community that is willing to help, we have a Discussions section in out Git Hub repository.
Click [here](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) to access it.
### Before getting help
- **Please use the search option here or in the discussion section and read the documentation so we avoid duplicate questions. Thank you!**
- **Please be kind and patient, respect others as they're the ones using their time to help you**
## Bugs, Ideas, Feature Requests
Bug reporting, idea submitting or feature requesting are done in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section of our [Github repository]([here](https://github.com/MCCTeam/Minecraft-Console-Client)).
Navigate to the Issues section, search for a bug, idea or a feature using the search option here in the documentation and in the `Issues` section on Git Hub before making your own.
If you haven't found anything similar, go ahead and click on the `New issue` button, then choose what you want to do.
If you're reporting a bug, please be descriptive as much as possible, try to explain how to re-create the bug, attack screenshots and logs, make sure that you have [`debugmessages`](configuration.me#debugmessages) set to `true` before sending a bug report or taking a screenshot.
### Before submitting
- **Please use the search option here or in the `Issues` section and read the documentation so we avoid duplicate questions/ideas/reports. Thank you!**
- **Please be kind, patient and respect others. Thank you!**
## Notes on some features
### Inventory, Terrain and Entity Handling
Inventory handling is currently not supported in versions: `1.4.6 - 1.9`
Terrain handling is currently not supported in versions: `1.4.6 - 1.6`
Entity handling is currently not supported in versions: `1.4.6 - 1.9` (but `1.8` and `1.9` are being worked on, almost at the working state, only `EntityMetadata` packet remains to be fixed)
There features might not always be implemented in the latest version of the game, since they're often subjected to major changes by Mojang, and we need some time to figure out what has changed and to implement the required changes.
If there was a major game update, and the MCC hasn't been updated to support these features, if you're a programmer, feel free to contribute to the project.
## Credits
_Project initiated by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/)._
Many features would not have been possible without the help of our talented community:
**Maintainers**
ORelio, ReinforceZwei, milutinke, BruceChenQAQ, bradbyte
**Ideas**
ambysdotnet, Awpocalypse, azoundria, bearbear12345, bSun0000, Cat7373, dagonzaros, Dids, Elvang, fuckofftwice, GeorgH93, initsuj, JamieSinn, joshbean39, LehmusFIN, maski, medxo, mobdon, MousePak, TNT-UP, TorchRJ, yayes2, Yoann166, ZizzyDizzyMC and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BIdea%5D+is%3Aopen).
**Bug Hunters**
1092CQ, ambysdotnet, bearbear12345, c0dei, Cat7373, Chtholly, Darkaegis, dbear20, DigitalSniperz, doranchak, drXor, FantomHD, gerik43, ibspa, iTzMrpitBull, JamieSinn, k3ldon, KenXeiko, link3321, lyze237, mattman00000, Nicconyancat, Pokechu22, ridgewell, Ryan6578, Solethia, TNT-UP, TorchRJ, TRTrident, WeedIsGood, xp9kus, Yoann166 and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BBUG%5D+is%3Aopen+).
**Contributors**
Allyoutoo, Aragas, Bancey, bearbear12345, corbanmailloux, Daenges, dbear20, dogwatch, initsuj, JamieSinn, justcool393, lokulin, maxpowa, medxo, milutinke, Pokechu22, ReinforceZwei, repository, TheMeq, TheSnoozer, vkorn, v1RuX, yunusemregul, ZizzyDizzyMC, BruceChenQAQ, bradbyte _... And all the [GitHub contributors](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors)!_
**Libraries:**
Minecraft Console Client also borrows code from the following libraries:
| Name | Purpose | Author | License |
| ----------- | ---------------- | ---------------- | ------- |
| Biko | Proxy handling | Benton Stark | MIT |
| Heijden.Dns | DNS SRV Lookup | Geoffrey Huntley | MIT |
| DotNetZip | Zlib compression | Dino Chiesa | MS-PL |
## Disclaimer
Even if everything should work, we are not responsible for any damage this app could cause to your computer or your server. This app does not steal your password. If you don't trust it, don't use it or check & compile from the source code.
Also, remember that when you connect to a server with this program, you will appear where you left the last time. This means that **you can die if you log in in an unsafe place on a survival server!** Use the script scheduler bot to send a teleport command after logging in.
We remind you that **you may get banned** by your server for using this program. Use accordingly with server rules.
## License
Minecraft Console Client is a totally free of charge, open source project. The source code is available at [Github Repository](https://github.com/MCCTeam/Minecraft-Console-Client)
Unless specifically stated, source code is from the MCC Team or Contributors, and available under CDDL-1.0. More info about CDDL-1.0: [http://qstuff.blogspot.fr/2007/04/why-cddl.html](http://qstuff.blogspot.fr/2007/04/why-cddl.html) Full license at [http://opensource.org/licenses/CDDL-1.0](http://opensource.org/licenses/CDDL-1.0)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,76 @@
# Contributing
At this moment this page needs to be created.
For now you can use our article from the [Git Hub repository Wiki](https://github.com/MCCTeam/Minecraft-Console-Client/wiki/Update-console-client-to-new-version) written by [ReinforceZwei](https://github.com/ReinforceZwei).
## Translations
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
* `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese
* `zh-Hans.ini` : 简体中文 - Chinese Simplified
* `zh-Hant.ini` : 繁體中文 - Chinese Traditional
### Add new translation
1. First you need to get the name of the translated file.
* Visit [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) and find the first occurrence of the language you need to translate in the table below.
* Use the language code of the row in the table as the name of the translation file.
* For example:
* `English` -> row `English 0x0009` -> `en` -> `en.ini`
* `Chinese (Traditional)` -> row `Chinese (Traditional) 0x7C04` -> `zh-Hant` -> `zh-Hant.ini`
2. Which system languages are recommended to use this translation?
* Still check the table in [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c), one language may have multiple rows.
* You will need to indicate which language codes this translation applies to.
* For example:
* Translation `de.ini` applies to `de`, `de-AT`, `de-BE`, `de-DE`, ...
* Translation `zh-Hans.ini` applies to `zh-Hans`, `zh`, `zh-CN`, `zh-SG`.
3. Which game languages are recommended to use this translation?
* Check out the table in [this link](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239), where the `Locale Code` column indicates the language code in minecraft.
* You will need to indicate which locale codes this translation applies to.
* For example:
* Translation `fr.ini` applies to `fr_ca`, `fr_fr`.
* Translation `zh-Hans.ini` applies to `zh_cn`.
4. Add the new translation to the code. (Optional)
* **If you are not familiar with programming, you can skip this step and just write the above information in your PR or issue.**
* Add the newly created translation file `xx.ini` to the project `/Resources/lang/xx.ini`.
* Open `/DefaultConfigResource.resx`.
* Click `Add Resources`.
* Choose `/Resources/lang/xx.ini`.
* Rename the added resource file in `/DefaultConfigResource.resx` to `Translation_xx`.
* Open `/Translations.cs`.
* Find `public static Tuple<string, string[]> GetTranslationPriority();`
* Update the mapping of system language codes to translation files.
* Find `public static string[] GetTranslationPriority(string gameLanguage);`
* Update the mapping of game locale code to translation files.
5. Follow the section "Update existing translation".
### Update existing translation
1. Visit [the lang folder](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang), download `en.ini` and the language you want to translate(`xx.ini`).
2. Compare `en.ini` and `xx.ini` and update outdated or non-existent entries in `xx.ini`.
3. Once you finished the translation work, submit a pull request or send us the file through an [Issue](https://github.com/MCCTeam/Minecraft-Console-Client/issues) in case you are not familiar with Git.
### Translate README.md
1. Get the English version of the README.md from [here](https://raw.githubusercontent.com/MCCTeam/Minecraft-Console-Client/master/README.md).
2. See `Add new translation -> 1.` for the target language code. Assume it is `xx`.
3. Complete the translation according to the English README.md and name the translated version as `README-xx.md`.
4. In the English README, above the "About" section, add the name of the language and a hyperlink to `README-xx.md`.
## Contributors
[Check out our contributors on Github](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors).

View file

@ -0,0 +1,186 @@
# Creating Chat Bots
- [Notes](#notes)
- [Requirements](#requirements)
- [Quick Introduction](#quick-introduction)
- [Examples](#examples)
- [C# API](#c#-api)
## Notes
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For now this page contains only the bare basics of the Chat Bot API, enough of details to teach you how to make basic Chat Bots. For more details you need to take a look at the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) and [Examples](#examples). This page will be improved in the future.**
</div>
**Minecraft Console Client** has a rich C# API which allows you to create Chat Bots (effectively plugins) which can help you create complex automations which normal scripts may not be able to do.
## Requirements
- A basic knowledge of C# programming language
- A text editor
If you're not familiar with the C# programming language, we suggest taking a look at the following resources:
Crash courses:
- [C# Crash Course playlist by Teddy Smit](https://www.youtube.com/watch?v=67oWw9TanOk&list=PL82C6-O4XrHfoN_Y4MwGvJz5BntiL0z0D)
More in-depth:
- [Learn C# Youtube Playlist by Microsoft](https://www.youtube.com/playlist?list=PLdo4fOcmZ0oVxKLQCHpiUWun7vlJJvUiN)
- [Getting started with C# (An index of tutorials and the documentation) by Microsoft](https://docs.microsoft.com/en-us/dotnet/csharp/)
## Quick Introduction
This introduction assumes that you have the basic knowledge of C#.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Here we will use terms Chat Bot and Script interchangeably**
</div>
Create a new empty file and name it `ExampleChatBot.cs` in the same folder where you have your MCC installed.
Paste the following example code:
```csharp
//MCCScript 1.0
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
// The code and comments above are defining a "Script Metadata" section
// Every single chat bot (script) must be a class which extends the ChatBot class.
// Your class must be instantiates in the "Script Metadata" section and passed to MCC.LoadBot function.
class ExampleChatBot : ChatBot
{
// This method will be called when the script has been initialized for the first time, it's called only once
// Here you can initialize variables, eg. Dictionaries. etc...
public override void Initialize()
{
LogToConsole("An example Chat Bot has been initialized!");
}
// This is a function that will be run when we get a chat message from a server
// In this example it just detects the type of the message and prints it out
public override void GetText(string text)
{
string message = "";
string username = "";
text = GetVerbatim(text);
if (IsPrivateMessage(text, ref message, ref username))
{
LogToConsole(username + " has sent you a private message: " + message);
}
else if (IsChatMessage(text, ref message, ref username))
{
LogToConsole(username + " has said: " + message);
}
}
}
```
Start MCC, connect to a server and run the following internal command: `/script ExampleChatBot.cs`.
If you did everything right you should see: `[Example Chat Bot] An example Chat Bot has been initialised!` message appear in your console log.
### Structure of Chat Bots
Chat Bot (Script) structure is the following:
```
<script metadata>
<chat bot class>
```
**Script Metadata** is a section with a custom format that mixes in C# with our format using comments. Every single Chat Bot (Script) must have this section at the beginning in order to work.
### Script Metadata Format
`//MCCScript 1.0` marks the beginning of the **Script Metadata** section, this must always be on the first line or the Chat Bot (Script) will not load and will throw an error.
`//MCCScript Extensions` marks the end of the **Script Metadata** section, this must be defined before a Chat Bot (Script) class.
In order for your Chat Bot (Script) to properly load in-between the `//MCCScript 1.0` and the `//MCCScript Extensions` lines you must instantiate your Chat Bot (Script) class and pass it to the `MCC.LoadBot` function.
Example code:
```
MCC.LoadBot(new YourChatBotClassNameHere());
```
**Script Metadata** section allows for including C# packages and libraries with: `//using <namespace>` and `/dll <dll name>`.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Avoid adding whitespace between `//` and keywords**
</div>
By the default the following packages are loaded:
```csharp
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Threading;
using MinecraftClient;
using MinecraftClient.Mapping;
using MinecraftClient.Inventory;
```
Example:
```csharp
//using System.Collections.Immutable
//dll MyDll.dll
```
Full Example:
```csharp
//MCCScript 1.0
//using System.Collections.Immutable
//dll MyDll.dll
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
```
### Chat Bot Class
After the end of the **Script Metadata** section, you basically can define any number of classes you like, the only limitation is that the main class of your Chat Bot (Script) must extend `ChatBot` class.
There are no required methods, everything is optional.
When the Chat Bot (Script) has been initialized for the first time the `Initialize` method will be called. In it you can initialize variables, eg. Dictionaries, etc..
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For allocating resources like a database connection, we recommend allocating them in `AfterGameJoined` and freeing them in `OnDisconnect`**
</div>.
## Examples
You can find a lot of examples in our Git Hub Repository at [ChatBots](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/ChatBots) and [config](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config).
## C# API
As of the time of writing, the C# API has been changed in forks that are yet to be merged, so for now you can use the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) for reference.
Each method is well documented with standard C# documentation comments.
In the future we will make a script to auto-generate this section based on the documentation in the code.

File diff suppressed because it is too large Load diff

1059
docs/l10n/af/guide/usage.md Normal file

File diff suppressed because it is too large Load diff

28
docs/l10n/ar/README.md Normal file
View file

@ -0,0 +1,28 @@
---
home: true
heroImage: /images/MCC_logo_with_edge.png
tagline: 'Minecraft Console Client (MCC) is a lightweight open-source Minecraft Java client implemented in C#'
actions:
-
text: Installation
link: ./guide/installation.md
type: primary
-
text: Learn More →
link: ./guide/
type: secondary
actionText:
actionLink:
features:
-
title: Chat
details: Chat with other people on the server
-
title: Automation
details: Create bots to do automated tasks
-
title: Supported Versions
details: 1.4 - 1.19.2
footer: Made by MCC Team with ❤️
---

View file

@ -0,0 +1,163 @@
# Introduction
- [About](#about)
- [Quick Intro (YouTube Videos)](#quick-intro)
- [Features](#features)
- [Why Minecraft Console Client?](#why-minecraft-console-client)
- [Getting Help](#getting-help)
- [Submitting a bug report or an idea/feature-request](#bugs-ideas-feature-requests)
- [Important notes on some features](#notes-on-some-features)
- [Credits](#credits)
- [Disclaimer](#disclaimer)
- [License](#license)
## 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.
It also provides various automations that you can enable for administration and other purposes, as well as extensible C# API for creating Bots.
It was originally made by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/), now it's maintained by him and many other contributors from the community.
## Features
- Chat
- Send and receive chat messages
- [Log chat history](chat-bots.md#chat-log)
- [Get alerted on certain keywords](chat-bots.md#alerts)
- [Auto Respond](chat-bots.md#auto-respond)
- [Anti AFK](chat-bots.md#anti-afk)
- [Auto Relog](chat-bots.md#auto-relog)
- [Script Scheduler](chat-bots.md#script-scheduler)
- [Remote Control](chat-bots.md#remote-control)
- [Auto Respond](chat-bots.md#auto-respond)
- [Auto Attack](chat-bots.md#auto-attack)
- [Auto Fishing](chat-bots.md#auto-fishing)
- [Auto Eat](chat-bots.md#auto-eat)
- [Auto Craft](chat-bots.md#auto-craft)
- [Mailer Bot](chat-bots.md#mailer)
- [Auto Drop](chat-bots.md#auto-drop)
- [Replay Mod](chat-bots.md#replay-mod)
- [API for creating Bots in C#](creating-bots.md#creating-chat-bots)
- [Docker Support](installation.md#using-docker)
- [Inventory Handling](usage.md#inventory)
- [Terrain Traversing](usage.md#move)
- Entity Handling
_NOTE: Some of mentioned features are disabled by default and you will have to turn them on in the configuration file and some may require additional configuration on your part for your specific usage._
## Why Minecraft Console Client?
- Easy to use
- Helpful community
- Open-Source
- Fast performance
- Cross-Platform
- Docker Support
- 10 years of continuous development
- Active contributors
- Widely used
## Quick Intro
Don't have time to read through the documentation, we got you, our community has made some simple introduction videos about the **Minecraft Console Client**.
### The list of the tutorials:
Installation:
- [Installation on Windows by Daenges](https://www.youtube.com/watch?v=BkCqOCa2uQw)
- [Installation on Windows + Auto AFK and More by Dexter113](https://www.youtube.com/watch?v=FxJ0KFIHDrY)
Using Commands, Scripts and other features:
- [Minecraft Console Client | Tutorial | Commands, Scripts, AppVars, Matches, Tasks and C# Scripts by Daenges](https://youtu.be/JbDpwwETEnU)
- [Console Client Tutorial - Scripting by Zixxter](https://www.youtube.com/watch?v=XE7rYBFJxn0)
## Getting Help
MCC has a community that is willing to help, we have a Discussions section in out Git Hub repository.
Click [here](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) to access it.
### Before getting help
- **Please use the search option here or in the discussion section and read the documentation so we avoid duplicate questions. Thank you!**
- **Please be kind and patient, respect others as they're the ones using their time to help you**
## Bugs, Ideas, Feature Requests
Bug reporting, idea submitting or feature requesting are done in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section of our [Github repository]([here](https://github.com/MCCTeam/Minecraft-Console-Client)).
Navigate to the Issues section, search for a bug, idea or a feature using the search option here in the documentation and in the `Issues` section on Git Hub before making your own.
If you haven't found anything similar, go ahead and click on the `New issue` button, then choose what you want to do.
If you're reporting a bug, please be descriptive as much as possible, try to explain how to re-create the bug, attack screenshots and logs, make sure that you have [`debugmessages`](configuration.me#debugmessages) set to `true` before sending a bug report or taking a screenshot.
### Before submitting
- **Please use the search option here or in the `Issues` section and read the documentation so we avoid duplicate questions/ideas/reports. Thank you!**
- **Please be kind, patient and respect others. Thank you!**
## Notes on some features
### Inventory, Terrain and Entity Handling
Inventory handling is currently not supported in versions: `1.4.6 - 1.9`
Terrain handling is currently not supported in versions: `1.4.6 - 1.6`
Entity handling is currently not supported in versions: `1.4.6 - 1.9` (but `1.8` and `1.9` are being worked on, almost at the working state, only `EntityMetadata` packet remains to be fixed)
There features might not always be implemented in the latest version of the game, since they're often subjected to major changes by Mojang, and we need some time to figure out what has changed and to implement the required changes.
If there was a major game update, and the MCC hasn't been updated to support these features, if you're a programmer, feel free to contribute to the project.
## Credits
_Project initiated by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/)._
Many features would not have been possible without the help of our talented community:
**Maintainers**
ORelio, ReinforceZwei, milutinke, BruceChenQAQ, bradbyte
**Ideas**
ambysdotnet, Awpocalypse, azoundria, bearbear12345, bSun0000, Cat7373, dagonzaros, Dids, Elvang, fuckofftwice, GeorgH93, initsuj, JamieSinn, joshbean39, LehmusFIN, maski, medxo, mobdon, MousePak, TNT-UP, TorchRJ, yayes2, Yoann166, ZizzyDizzyMC and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BIdea%5D+is%3Aopen).
**Bug Hunters**
1092CQ, ambysdotnet, bearbear12345, c0dei, Cat7373, Chtholly, Darkaegis, dbear20, DigitalSniperz, doranchak, drXor, FantomHD, gerik43, ibspa, iTzMrpitBull, JamieSinn, k3ldon, KenXeiko, link3321, lyze237, mattman00000, Nicconyancat, Pokechu22, ridgewell, Ryan6578, Solethia, TNT-UP, TorchRJ, TRTrident, WeedIsGood, xp9kus, Yoann166 and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BBUG%5D+is%3Aopen+).
**Contributors**
Allyoutoo, Aragas, Bancey, bearbear12345, corbanmailloux, Daenges, dbear20, dogwatch, initsuj, JamieSinn, justcool393, lokulin, maxpowa, medxo, milutinke, Pokechu22, ReinforceZwei, repository, TheMeq, TheSnoozer, vkorn, v1RuX, yunusemregul, ZizzyDizzyMC, BruceChenQAQ, bradbyte _... And all the [GitHub contributors](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors)!_
**Libraries:**
Minecraft Console Client also borrows code from the following libraries:
| Name | Purpose | Author | License |
| ------------ | ---------------- | ---------------- | ------- |
| Biko | Proxy handling | Benton Stark | MIT |
| Heijden. Dns | DNS SRV Lookup | Geoffrey Huntley | MIT |
| DotNetZip | Zlib compression | Dino Chiesa | MS-PL |
## Disclaimer
Even if everything should work, we are not responsible for any damage this app could cause to your computer or your server. This app does not steal your password. If you don't trust it, don't use it or check & compile from the source code.
Also, remember that when you connect to a server with this program, you will appear where you left the last time. This means that **you can die if you log in in an unsafe place on a survival server!** Use the script scheduler bot to send a teleport command after logging in.
We remind you that **you may get banned** by your server for using this program. Use accordingly with server rules.
## License
Minecraft Console Client is a totally free of charge, open source project. The source code is available at [Github Repository](https://github.com/MCCTeam/Minecraft-Console-Client)
Unless specifically stated, source code is from the MCC Team or Contributors, and available under CDDL-1.0. More info about CDDL-1.0: [http://qstuff.blogspot.fr/2007/04/why-cddl.html](http://qstuff.blogspot.fr/2007/04/why-cddl.html) Full license at [http://opensource.org/licenses/CDDL-1.0](http://opensource.org/licenses/CDDL-1.0)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,76 @@
# Contributing
At this moment this page needs to be created.
For now you can use our article from the [Git Hub repository Wiki](https://github.com/MCCTeam/Minecraft-Console-Client/wiki/Update-console-client-to-new-version) written by [ReinforceZwei](https://github.com/ReinforceZwei).
## Translations
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
* `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese
* `zh-Hans.ini` : 简体中文 - Chinese Simplified
* `zh-Hant.ini` : 繁體中文 - Chinese Traditional
### Add new translation
1. First you need to get the name of the translated file.
* Visit [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) and find the first occurrence of the language you need to translate in the table below.
* Use the language code of the row in the table as the name of the translation file.
* For example:
* `English` -> row `English 0x0009` -> `en` -> `en.ini`
* `Chinese (Traditional)` -> row `Chinese (Traditional) 0x7C04` -> `zh-Hant` -> `zh-Hant.ini`
2. Which system languages are recommended to use this translation?
* Still check the table in [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c), one language may have multiple rows.
* You will need to indicate which language codes this translation applies to.
* For example:
* Translation `de.ini` applies to `de`, `de-AT`, `de-BE`, `de-DE`, ...
* Translation `zh-Hans.ini` applies to `zh-Hans`, `zh`, `zh-CN`, `zh-SG`.
3. Which game languages are recommended to use this translation?
* Check out the table in [this link](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239), where the `Locale Code` column indicates the language code in minecraft.
* You will need to indicate which locale codes this translation applies to.
* For example:
* Translation `fr.ini` applies to `fr_ca`, `fr_fr`.
* Translation `zh-Hans.ini` applies to `zh_cn`.
4. Add the new translation to the code. (Optional)
* **If you are not familiar with programming, you can skip this step and just write the above information in your PR or issue.**
* Add the newly created translation file `xx.ini` to the project `/Resources/lang/xx.ini`.
* Open `/DefaultConfigResource.resx`.
* Click `Add Resources`.
* Choose `/Resources/lang/xx.ini`.
* Rename the added resource file in `/DefaultConfigResource.resx` to `Translation_xx`.
* Open `/Translations.cs`.
* Find `public static Tuple<string, string[]> GetTranslationPriority();`
* Update the mapping of system language codes to translation files.
* Find `public static string[] GetTranslationPriority(string gameLanguage);`
* Update the mapping of game locale code to translation files.
5. Follow the section "Update existing translation".
### Update existing translation
1. Visit [the lang folder](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang), download `en.ini` and the language you want to translate(`xx.ini`).
2. Compare `en.ini` and `xx.ini` and update outdated or non-existent entries in `xx.ini`.
3. Once you finished the translation work, submit a pull request or send us the file through an [Issue](https://github.com/MCCTeam/Minecraft-Console-Client/issues) in case you are not familiar with Git.
### Translate README.md
1. Get the English version of the README.md from [here](https://raw.githubusercontent.com/MCCTeam/Minecraft-Console-Client/master/README.md).
2. See `Add new translation -> 1.` for the target language code. Assume it is `xx`.
3. Complete the translation according to the English README.md and name the translated version as `README-xx.md`.
4. In the English README, above the "About" section, add the name of the language and a hyperlink to `README-xx.md`.
## Contributors
[Check out our contributors on Github](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors).

View file

@ -0,0 +1,186 @@
# Creating Chat Bots
- [Notes](#notes)
- [Requirements](#requirements)
- [Quick Introduction](#quick-introduction)
- [Examples](#examples)
- [C# API](#c#-api)
## Notes
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For now this page contains only the bare basics of the Chat Bot API, enough of details to teach you how to make basic Chat Bots. For more details you need to take a look at the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) and [Examples](#examples). This page will be improved in the future.**
</div>
**Minecraft Console Client** has a rich C# API which allows you to create Chat Bots (effectively plugins) which can help you create complex automations which normal scripts may not be able to do.
## Requirements
- A basic knowledge of C# programming language
- A text editor
If you're not familiar with the C# programming language, we suggest taking a look at the following resources:
Crash courses:
- [C# Crash Course playlist by Teddy Smit](https://www.youtube.com/watch?v=67oWw9TanOk&list=PL82C6-O4XrHfoN_Y4MwGvJz5BntiL0z0D)
More in-depth:
- [Learn C# Youtube Playlist by Microsoft](https://www.youtube.com/playlist?list=PLdo4fOcmZ0oVxKLQCHpiUWun7vlJJvUiN)
- [Getting started with C# (An index of tutorials and the documentation) by Microsoft](https://docs.microsoft.com/en-us/dotnet/csharp/)
## Quick Introduction
This introduction assumes that you have the basic knowledge of C#.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Here we will use terms Chat Bot and Script interchangeably**
</div>
Create a new empty file and name it `ExampleChatBot.cs` in the same folder where you have your MCC installed.
Paste the following example code:
```csharp
//MCCScript 1.0
MCC. LoadBot(new ExampleChatBot());
//MCCScript Extensions
// The code and comments above are defining a "Script Metadata" section
// Every single chat bot (script) must be a class which extends the ChatBot class.
// Your class must be instantiates in the "Script Metadata" section and passed to MCC. LoadBot function.
class ExampleChatBot : ChatBot
{
// This method will be called when the script has been initialized for the first time, it's called only once
// Here you can initialize variables, eg. Dictionaries. etc...
public override void Initialize()
{
LogToConsole("An example Chat Bot has been initialized!");
}
// This is a function that will be run when we get a chat message from a server
// In this example it just detects the type of the message and prints it out
public override void GetText(string text)
{
string message = "";
string username = "";
text = GetVerbatim(text);
if (IsPrivateMessage(text, ref message, ref username))
{
LogToConsole(username + " has sent you a private message: " + message);
}
else if (IsChatMessage(text, ref message, ref username))
{
LogToConsole(username + " has said: " + message);
}
}
}
```
Start MCC, connect to a server and run the following internal command: `/script ExampleChatBot.cs`.
If you did everything right you should see: `[Example Chat Bot] An example Chat Bot has been initialised!` message appear in your console log.
### Structure of Chat Bots
Chat Bot (Script) structure is the following:
```
<script metadata>
<chat bot class>
```
**Script Metadata** is a section with a custom format that mixes in C# with our format using comments. Every single Chat Bot (Script) must have this section at the beginning in order to work.
### Script Metadata Format
`//MCCScript 1.0` marks the beginning of the **Script Metadata** section, this must always be on the first line or the Chat Bot (Script) will not load and will throw an error.
`//MCCScript Extensions` marks the end of the **Script Metadata** section, this must be defined before a Chat Bot (Script) class.
In order for your Chat Bot (Script) to properly load in-between the `//MCCScript 1.0` and the `//MCCScript Extensions` lines you must instantiate your Chat Bot (Script) class and pass it to the `MCC. LoadBot` function.
Example code:
```
MCC. LoadBot(new YourChatBotClassNameHere());
```
**Script Metadata** section allows for including C# packages and libraries with: `//using <namespace>` and `/dll <dll name>`.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Avoid adding whitespace between `//` and keywords**
</div>
By the default the following packages are loaded:
```csharp
using System;
using System. Collections. Generic;
using System. Text. RegularExpressions;
using System. Linq;
using System. Text;
using System.IO;
using System. Net;
using System. Threading;
using MinecraftClient;
using MinecraftClient. Mapping;
using MinecraftClient.
```
Example:
```csharp
//using System. Collections. Immutable
//dll MyDll.dll
```
Full Example:
```csharp
//MCCScript 1.0
//using System. Collections. Immutable
//dll MyDll.dll
MCC. LoadBot(new ExampleChatBot());
//MCCScript Extensions
```
### Chat Bot Class
After the end of the **Script Metadata** section, you basically can define any number of classes you like, the only limitation is that the main class of your Chat Bot (Script) must extend `ChatBot` class.
There are no required methods, everything is optional.
When the Chat Bot (Script) has been initialized for the first time the `Initialize` method will be called. In it you can initialize variables, eg. Dictionaries, etc..
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For allocating resources like a database connection, we recommend allocating them in `AfterGameJoined` and freeing them in `OnDisconnect`**
</div>.
## Examples
You can find a lot of examples in our Git Hub Repository at [ChatBots](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/ChatBots) and [config](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config).
## C# API
As of the time of writing, the C# API has been changed in forks that are yet to be merged, so for now you can use the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) for reference.
Each method is well documented with standard C# documentation comments.
In the future we will make a script to auto-generate this section based on the documentation in the code.

File diff suppressed because it is too large Load diff

1059
docs/l10n/ar/guide/usage.md Normal file

File diff suppressed because it is too large Load diff

28
docs/l10n/ca/README.md Normal file
View file

@ -0,0 +1,28 @@
---
home: true
heroImage: /images/MCC_logo_with_edge.png
tagline: 'Minecraft Console Client (MCC) is a lightweight open-source Minecraft Java client implemented in C#'
actions:
-
text: Installation
link: ./guide/installation.md
type: primary
-
text: Learn More →
link: ./guide/
type: secondary
actionText:
actionLink:
features:
-
title: Chat
details: Chat with other people on the server
-
title: Automation
details: Create bots to do automated tasks
-
title: Supported Versions
details: 1.4 - 1.19.2
footer: Made by MCC Team with ❤️
---

View file

@ -0,0 +1,163 @@
# Introduction
- [About](#about)
- [Quick Intro (YouTube Videos)](#quick-intro)
- [Features](#features)
- [Why Minecraft Console Client?](#why-minecraft-console-client)
- [Getting Help](#getting-help)
- [Submitting a bug report or an idea/feature-request](#bugs-ideas-feature-requests)
- [Important notes on some features](#notes-on-some-features)
- [Credits](#credits)
- [Disclaimer](#disclaimer)
- [License](#license)
## 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.
It also provides various automations that you can enable for administration and other purposes, as well as extensible C# API for creating Bots.
It was originally made by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/), now it's maintained by him and many other contributors from the community.
## Features
- Chat
- Send and receive chat messages
- [Log chat history](chat-bots.md#chat-log)
- [Get alerted on certain keywords](chat-bots.md#alerts)
- [Auto Respond](chat-bots.md#auto-respond)
- [Anti AFK](chat-bots.md#anti-afk)
- [Auto Relog](chat-bots.md#auto-relog)
- [Script Scheduler](chat-bots.md#script-scheduler)
- [Remote Control](chat-bots.md#remote-control)
- [Auto Respond](chat-bots.md#auto-respond)
- [Auto Attack](chat-bots.md#auto-attack)
- [Auto Fishing](chat-bots.md#auto-fishing)
- [Auto Eat](chat-bots.md#auto-eat)
- [Auto Craft](chat-bots.md#auto-craft)
- [Mailer Bot](chat-bots.md#mailer)
- [Auto Drop](chat-bots.md#auto-drop)
- [Replay Mod](chat-bots.md#replay-mod)
- [API for creating Bots in C#](creating-bots.md#creating-chat-bots)
- [Docker Support](installation.md#using-docker)
- [Inventory Handling](usage.md#inventory)
- [Terrain Traversing](usage.md#move)
- Entity Handling
_NOTE: Some of mentioned features are disabled by default and you will have to turn them on in the configuration file and some may require additional configuration on your part for your specific usage._
## Why Minecraft Console Client?
- Easy to use
- Helpful community
- Open-Source
- Fast performance
- Cross-Platform
- Docker Support
- 10 years of continuous development
- Active contributors
- Widely used
## Quick Intro
Don't have time to read through the documentation, we got you, our community has made some simple introduction videos about the **Minecraft Console Client**.
### The list of the tutorials:
Installation:
- [Installation on Windows by Daenges](https://www.youtube.com/watch?v=BkCqOCa2uQw)
- [Installation on Windows + Auto AFK and More by Dexter113](https://www.youtube.com/watch?v=FxJ0KFIHDrY)
Using Commands, Scripts and other features:
- [Minecraft Console Client | Tutorial | Commands, Scripts, AppVars, Matches, Tasks and C# Scripts by Daenges](https://youtu.be/JbDpwwETEnU)
- [Console Client Tutorial - Scripting by Zixxter](https://www.youtube.com/watch?v=XE7rYBFJxn0)
## Getting Help
MCC has a community that is willing to help, we have a Discussions section in out Git Hub repository.
Click [here](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) to access it.
### Before getting help
- **Please use the search option here or in the discussion section and read the documentation so we avoid duplicate questions. Thank you!**
- **Please be kind and patient, respect others as they're the ones using their time to help you**
## Bugs, Ideas, Feature Requests
Bug reporting, idea submitting or feature requesting are done in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section of our [Github repository]([here](https://github.com/MCCTeam/Minecraft-Console-Client)).
Navigate to the Issues section, search for a bug, idea or a feature using the search option here in the documentation and in the `Issues` section on Git Hub before making your own.
If you haven't found anything similar, go ahead and click on the `New issue` button, then choose what you want to do.
If you're reporting a bug, please be descriptive as much as possible, try to explain how to re-create the bug, attack screenshots and logs, make sure that you have [`debugmessages`](configuration.me#debugmessages) set to `true` before sending a bug report or taking a screenshot.
### Before submitting
- **Please use the search option here or in the `Issues` section and read the documentation so we avoid duplicate questions/ideas/reports. Thank you!**
- **Please be kind, patient and respect others. Thank you!**
## Notes on some features
### Inventory, Terrain and Entity Handling
Inventory handling is currently not supported in versions: `1.4.6 - 1.9`
Terrain handling is currently not supported in versions: `1.4.6 - 1.6`
Entity handling is currently not supported in versions: `1.4.6 - 1.9` (but `1.8` and `1.9` are being worked on, almost at the working state, only `EntityMetadata` packet remains to be fixed)
There features might not always be implemented in the latest version of the game, since they're often subjected to major changes by Mojang, and we need some time to figure out what has changed and to implement the required changes.
If there was a major game update, and the MCC hasn't been updated to support these features, if you're a programmer, feel free to contribute to the project.
## Credits
_Project initiated by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/)._
Many features would not have been possible without the help of our talented community:
**Maintainers**
ORelio, ReinforceZwei, milutinke, BruceChenQAQ, bradbyte
**Ideas**
ambysdotnet, Awpocalypse, azoundria, bearbear12345, bSun0000, Cat7373, dagonzaros, Dids, Elvang, fuckofftwice, GeorgH93, initsuj, JamieSinn, joshbean39, LehmusFIN, maski, medxo, mobdon, MousePak, TNT-UP, TorchRJ, yayes2, Yoann166, ZizzyDizzyMC and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BIdea%5D+is%3Aopen).
**Bug Hunters**
1092CQ, ambysdotnet, bearbear12345, c0dei, Cat7373, Chtholly, Darkaegis, dbear20, DigitalSniperz, doranchak, drXor, FantomHD, gerik43, ibspa, iTzMrpitBull, JamieSinn, k3ldon, KenXeiko, link3321, lyze237, mattman00000, Nicconyancat, Pokechu22, ridgewell, Ryan6578, Solethia, TNT-UP, TorchRJ, TRTrident, WeedIsGood, xp9kus, Yoann166 and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BBUG%5D+is%3Aopen+).
**Contributors**
Allyoutoo, Aragas, Bancey, bearbear12345, corbanmailloux, Daenges, dbear20, dogwatch, initsuj, JamieSinn, justcool393, lokulin, maxpowa, medxo, milutinke, Pokechu22, ReinforceZwei, repository, TheMeq, TheSnoozer, vkorn, v1RuX, yunusemregul, ZizzyDizzyMC, BruceChenQAQ, bradbyte _... And all the [GitHub contributors](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors)!_
**Libraries:**
Minecraft Console Client also borrows code from the following libraries:
| Name | Purpose | Author | License |
| ----------- | ---------------- | ---------------- | ------- |
| Biko | Proxy handling | Benton Stark | MIT |
| Heijden.Dns | DNS SRV Lookup | Geoffrey Huntley | MIT |
| DotNetZip | Zlib compression | Dino Chiesa | MS-PL |
## Disclaimer
Even if everything should work, we are not responsible for any damage this app could cause to your computer or your server. This app does not steal your password. If you don't trust it, don't use it or check & compile from the source code.
Also, remember that when you connect to a server with this program, you will appear where you left the last time. This means that **you can die if you log in in an unsafe place on a survival server!** Use the script scheduler bot to send a teleport command after logging in.
We remind you that **you may get banned** by your server for using this program. Use accordingly with server rules.
## License
Minecraft Console Client is a totally free of charge, open source project. The source code is available at [Github Repository](https://github.com/MCCTeam/Minecraft-Console-Client)
Unless specifically stated, source code is from the MCC Team or Contributors, and available under CDDL-1.0. More info about CDDL-1.0: [http://qstuff.blogspot.fr/2007/04/why-cddl.html](http://qstuff.blogspot.fr/2007/04/why-cddl.html) Full license at [http://opensource.org/licenses/CDDL-1.0](http://opensource.org/licenses/CDDL-1.0)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,76 @@
# Contributing
At this moment this page needs to be created.
For now you can use our article from the [Git Hub repository Wiki](https://github.com/MCCTeam/Minecraft-Console-Client/wiki/Update-console-client-to-new-version) written by [ReinforceZwei](https://github.com/ReinforceZwei).
## Translations
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
* `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese
* `zh-Hans.ini` : 简体中文 - Chinese Simplified
* `zh-Hant.ini` : 繁體中文 - Chinese Traditional
### Add new translation
1. First you need to get the name of the translated file.
* Visit [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) and find the first occurrence of the language you need to translate in the table below.
* Use the language code of the row in the table as the name of the translation file.
* For example:
* `English` -> row `English 0x0009` -> `en` -> `en.ini`
* `Chinese (Traditional)` -> row `Chinese (Traditional) 0x7C04` -> `zh-Hant` -> `zh-Hant.ini`
2. Which system languages are recommended to use this translation?
* Still check the table in [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c), one language may have multiple rows.
* You will need to indicate which language codes this translation applies to.
* For example:
* Translation `de.ini` applies to `de`, `de-AT`, `de-BE`, `de-DE`, ...
* Translation `zh-Hans.ini` applies to `zh-Hans`, `zh`, `zh-CN`, `zh-SG`.
3. Which game languages are recommended to use this translation?
* Check out the table in [this link](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239), where the `Locale Code` column indicates the language code in minecraft.
* You will need to indicate which locale codes this translation applies to.
* For example:
* Translation `fr.ini` applies to `fr_ca`, `fr_fr`.
* Translation `zh-Hans.ini` applies to `zh_cn`.
4. Add the new translation to the code. (Optional)
* **If you are not familiar with programming, you can skip this step and just write the above information in your PR or issue.**
* Add the newly created translation file `xx.ini` to the project `/Resources/lang/xx.ini`.
* Open `/DefaultConfigResource.resx`.
* Click `Add Resources`.
* Choose `/Resources/lang/xx.ini`.
* Rename the added resource file in `/DefaultConfigResource.resx` to `Translation_xx`.
* Open `/Translations.cs`.
* Find `public static Tuple<string, string[]> GetTranslationPriority();`
* Update the mapping of system language codes to translation files.
* Find `public static string[] GetTranslationPriority(string gameLanguage);`
* Update the mapping of game locale code to translation files.
5. Follow the section "Update existing translation".
### Update existing translation
1. Visit [the lang folder](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang), download `en.ini` and the language you want to translate(`xx.ini`).
2. Compare `en.ini` and `xx.ini` and update outdated or non-existent entries in `xx.ini`.
3. Once you finished the translation work, submit a pull request or send us the file through an [Issue](https://github.com/MCCTeam/Minecraft-Console-Client/issues) in case you are not familiar with Git.
### Translate README.md
1. Get the English version of the README.md from [here](https://raw.githubusercontent.com/MCCTeam/Minecraft-Console-Client/master/README.md).
2. See `Add new translation -> 1.` for the target language code. Assume it is `xx`.
3. Complete the translation according to the English README.md and name the translated version as `README-xx.md`.
4. In the English README, above the "About" section, add the name of the language and a hyperlink to `README-xx.md`.
## Contributors
[Check out our contributors on Github](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors).

View file

@ -0,0 +1,186 @@
# Creating Chat Bots
- [Notes](#notes)
- [Requirements](#requirements)
- [Quick Introduction](#quick-introduction)
- [Examples](#examples)
- [C# API](#c#-api)
## Notes
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For now this page contains only the bare basics of the Chat Bot API, enough of details to teach you how to make basic Chat Bots. For more details you need to take a look at the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) and [Examples](#examples). This page will be improved in the future.**
</div>
**Minecraft Console Client** has a rich C# API which allows you to create Chat Bots (effectively plugins) which can help you create complex automations which normal scripts may not be able to do.
## Requirements
- A basic knowledge of C# programming language
- A text editor
If you're not familiar with the C# programming language, we suggest taking a look at the following resources:
Crash courses:
- [C# Crash Course playlist by Teddy Smit](https://www.youtube.com/watch?v=67oWw9TanOk&list=PL82C6-O4XrHfoN_Y4MwGvJz5BntiL0z0D)
More in-depth:
- [Learn C# Youtube Playlist by Microsoft](https://www.youtube.com/playlist?list=PLdo4fOcmZ0oVxKLQCHpiUWun7vlJJvUiN)
- [Getting started with C# (An index of tutorials and the documentation) by Microsoft](https://docs.microsoft.com/en-us/dotnet/csharp/)
## Quick Introduction
This introduction assumes that you have the basic knowledge of C#.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Here we will use terms Chat Bot and Script interchangeably**
</div>
Create a new empty file and name it `ExampleChatBot.cs` in the same folder where you have your MCC installed.
Paste the following example code:
```csharp
//MCCScript 1.0
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
// The code and comments above are defining a "Script Metadata" section
// Every single chat bot (script) must be a class which extends the ChatBot class.
// Your class must be instantiates in the "Script Metadata" section and passed to MCC.LoadBot function.
class ExampleChatBot : ChatBot
{
// This method will be called when the script has been initialized for the first time, it's called only once
// Here you can initialize variables, eg. Dictionaries. etc...
public override void Initialize()
{
LogToConsole("An example Chat Bot has been initialized!");
}
// This is a function that will be run when we get a chat message from a server
// In this example it just detects the type of the message and prints it out
public override void GetText(string text)
{
string message = "";
string username = "";
text = GetVerbatim(text);
if (IsPrivateMessage(text, ref message, ref username))
{
LogToConsole(username + " has sent you a private message: " + message);
}
else if (IsChatMessage(text, ref message, ref username))
{
LogToConsole(username + " has said: " + message);
}
}
}
```
Start MCC, connect to a server and run the following internal command: `/script ExampleChatBot.cs`.
If you did everything right you should see: `[Example Chat Bot] An example Chat Bot has been initialised!` message appear in your console log.
### Structure of Chat Bots
Chat Bot (Script) structure is the following:
```
<script metadata>
<chat bot class>
```
**Script Metadata** is a section with a custom format that mixes in C# with our format using comments. Every single Chat Bot (Script) must have this section at the beginning in order to work.
### Script Metadata Format
`//MCCScript 1.0` marks the beginning of the **Script Metadata** section, this must always be on the first line or the Chat Bot (Script) will not load and will throw an error.
`//MCCScript Extensions` marks the end of the **Script Metadata** section, this must be defined before a Chat Bot (Script) class.
In order for your Chat Bot (Script) to properly load in-between the `//MCCScript 1.0` and the `//MCCScript Extensions` lines you must instantiate your Chat Bot (Script) class and pass it to the `MCC.LoadBot` function.
Example code:
```
MCC.LoadBot(new YourChatBotClassNameHere());
```
**Script Metadata** section allows for including C# packages and libraries with: `//using <namespace>` and `/dll <dll name>`.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Avoid adding whitespace between `//` and keywords**
</div>
By the default the following packages are loaded:
```csharp
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Threading;
using MinecraftClient;
using MinecraftClient.Mapping;
using MinecraftClient.Inventory;
```
Example:
```csharp
//using System.Collections.Immutable
//dll MyDll.dll
```
Full Example:
```csharp
//MCCScript 1.0
//using System.Collections.Immutable
//dll MyDll.dll
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
```
### Chat Bot Class
After the end of the **Script Metadata** section, you basically can define any number of classes you like, the only limitation is that the main class of your Chat Bot (Script) must extend `ChatBot` class.
There are no required methods, everything is optional.
When the Chat Bot (Script) has been initialized for the first time the `Initialize` method will be called. In it you can initialize variables, eg. Dictionaries, etc..
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For allocating resources like a database connection, we recommend allocating them in `AfterGameJoined` and freeing them in `OnDisconnect`**
</div>.
## Examples
You can find a lot of examples in our Git Hub Repository at [ChatBots](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/ChatBots) and [config](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config).
## C# API
As of the time of writing, the C# API has been changed in forks that are yet to be merged, so for now you can use the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) for reference.
Each method is well documented with standard C# documentation comments.
In the future we will make a script to auto-generate this section based on the documentation in the code.

File diff suppressed because it is too large Load diff

1059
docs/l10n/ca/guide/usage.md Normal file

File diff suppressed because it is too large Load diff

28
docs/l10n/cs/README.md Normal file
View file

@ -0,0 +1,28 @@
---
home: true
heroImage: /images/MCC_logo_with_edge.png
tagline: 'Minecraft Console Client (MCC) is a lightweight open-source Minecraft Java client implemented in C#'
actions:
-
text: Installation
link: ./guide/installation.md
type: primary
-
text: Learn More →
link: ./guide/
type: secondary
actionText:
actionLink:
features:
-
title: Chat
details: Chat with other people on the server
-
title: Automation
details: Create bots to do automated tasks
-
title: Supported Versions
details: 1.4 - 1.19.2
footer: Made by MCC Team with ❤️
---

View file

@ -0,0 +1,163 @@
# Introduction
- [About](#about)
- [Quick Intro (YouTube Videos)](#quick-intro)
- [Features](#features)
- [Why Minecraft Console Client?](#why-minecraft-console-client)
- [Getting Help](#getting-help)
- [Submitting a bug report or an idea/feature-request](#bugs-ideas-feature-requests)
- [Important notes on some features](#notes-on-some-features)
- [Credits](#credits)
- [Disclaimer](#disclaimer)
- [License](#license)
## 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.
It also provides various automations that you can enable for administration and other purposes, as well as extensible C# API for creating Bots.
It was originally made by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/), now it's maintained by him and many other contributors from the community.
## Features
- Chat
- Send and receive chat messages
- [Log chat history](chat-bots.md#chat-log)
- [Get alerted on certain keywords](chat-bots.md#alerts)
- [Auto Respond](chat-bots.md#auto-respond)
- [Anti AFK](chat-bots.md#anti-afk)
- [Auto Relog](chat-bots.md#auto-relog)
- [Script Scheduler](chat-bots.md#script-scheduler)
- [Remote Control](chat-bots.md#remote-control)
- [Auto Respond](chat-bots.md#auto-respond)
- [Auto Attack](chat-bots.md#auto-attack)
- [Auto Fishing](chat-bots.md#auto-fishing)
- [Auto Eat](chat-bots.md#auto-eat)
- [Auto Craft](chat-bots.md#auto-craft)
- [Mailer Bot](chat-bots.md#mailer)
- [Auto Drop](chat-bots.md#auto-drop)
- [Replay Mod](chat-bots.md#replay-mod)
- [API for creating Bots in C#](creating-bots.md#creating-chat-bots)
- [Docker Support](installation.md#using-docker)
- [Inventory Handling](usage.md#inventory)
- [Terrain Traversing](usage.md#move)
- Entity Handling
_NOTE: Some of mentioned features are disabled by default and you will have to turn them on in the configuration file and some may require additional configuration on your part for your specific usage._
## Why Minecraft Console Client?
- Easy to use
- Helpful community
- Open-Source
- Fast performance
- Cross-Platform
- Docker Support
- 10 years of continuous development
- Active contributors
- Widely used
## Quick Intro
Don't have time to read through the documentation, we got you, our community has made some simple introduction videos about the **Minecraft Console Client**.
### The list of the tutorials:
Installation:
- [Installation on Windows by Daenges](https://www.youtube.com/watch?v=BkCqOCa2uQw)
- [Installation on Windows + Auto AFK and More by Dexter113](https://www.youtube.com/watch?v=FxJ0KFIHDrY)
Using Commands, Scripts and other features:
- [Minecraft Console Client | Tutorial | Commands, Scripts, AppVars, Matches, Tasks and C# Scripts by Daenges](https://youtu.be/JbDpwwETEnU)
- [Console Client Tutorial - Scripting by Zixxter](https://www.youtube.com/watch?v=XE7rYBFJxn0)
## Getting Help
MCC has a community that is willing to help, we have a Discussions section in out Git Hub repository.
Click [here](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) to access it.
### Before getting help
- **Please use the search option here or in the discussion section and read the documentation so we avoid duplicate questions. Thank you!**
- **Please be kind and patient, respect others as they're the ones using their time to help you**
## Bugs, Ideas, Feature Requests
Bug reporting, idea submitting or feature requesting are done in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section of our [Github repository]([here](https://github.com/MCCTeam/Minecraft-Console-Client)).
Navigate to the Issues section, search for a bug, idea or a feature using the search option here in the documentation and in the `Issues` section on Git Hub before making your own.
If you haven't found anything similar, go ahead and click on the `New issue` button, then choose what you want to do.
If you're reporting a bug, please be descriptive as much as possible, try to explain how to re-create the bug, attack screenshots and logs, make sure that you have [`debugmessages`](configuration.me#debugmessages) set to `true` before sending a bug report or taking a screenshot.
### Before submitting
- **Please use the search option here or in the `Issues` section and read the documentation so we avoid duplicate questions/ideas/reports. Thank you!**
- **Please be kind, patient and respect others. Thank you!**
## Notes on some features
### Inventory, Terrain and Entity Handling
Inventory handling is currently not supported in versions: `1.4.6 - 1.9`
Terrain handling is currently not supported in versions: `1.4.6 - 1.6`
Entity handling is currently not supported in versions: `1.4.6 - 1.9` (but `1.8` and `1.9` are being worked on, almost at the working state, only `EntityMetadata` packet remains to be fixed)
There features might not always be implemented in the latest version of the game, since they're often subjected to major changes by Mojang, and we need some time to figure out what has changed and to implement the required changes.
If there was a major game update, and the MCC hasn't been updated to support these features, if you're a programmer, feel free to contribute to the project.
## Credits
_Project initiated by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/)._
Many features would not have been possible without the help of our talented community:
**Maintainers**
ORelio, ReinforceZwei, milutinke, BruceChenQAQ, bradbyte
**Ideas**
ambysdotnet, Awpocalypse, azoundria, bearbear12345, bSun0000, Cat7373, dagonzaros, Dids, Elvang, fuckofftwice, GeorgH93, initsuj, JamieSinn, joshbean39, LehmusFIN, maski, medxo, mobdon, MousePak, TNT-UP, TorchRJ, yayes2, Yoann166, ZizzyDizzyMC and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BIdea%5D+is%3Aopen).
**Bug Hunters**
1092CQ, ambysdotnet, bearbear12345, c0dei, Cat7373, Chtholly, Darkaegis, dbear20, DigitalSniperz, doranchak, drXor, FantomHD, gerik43, ibspa, iTzMrpitBull, JamieSinn, k3ldon, KenXeiko, link3321, lyze237, mattman00000, Nicconyancat, Pokechu22, ridgewell, Ryan6578, Solethia, TNT-UP, TorchRJ, TRTrident, WeedIsGood, xp9kus, Yoann166 and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BBUG%5D+is%3Aopen+).
**Contributors**
Allyoutoo, Aragas, Bancey, bearbear12345, corbanmailloux, Daenges, dbear20, dogwatch, initsuj, JamieSinn, justcool393, lokulin, maxpowa, medxo, milutinke, Pokechu22, ReinforceZwei, repository, TheMeq, TheSnoozer, vkorn, v1RuX, yunusemregul, ZizzyDizzyMC, BruceChenQAQ, bradbyte _... And all the [GitHub contributors](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors)!_
**Libraries:**
Minecraft Console Client also borrows code from the following libraries:
| Name | Purpose | Author | License |
| ----------- | ---------------- | ---------------- | ------- |
| Biko | Proxy handling | Benton Stark | MIT |
| Heijden.Dns | DNS SRV Lookup | Geoffrey Huntley | MIT |
| DotNetZip | Zlib compression | Dino Chiesa | MS-PL |
## Disclaimer
Even if everything should work, we are not responsible for any damage this app could cause to your computer or your server. This app does not steal your password. If you don't trust it, don't use it or check & compile from the source code.
Also, remember that when you connect to a server with this program, you will appear where you left the last time. This means that **you can die if you log in in an unsafe place on a survival server!** Use the script scheduler bot to send a teleport command after logging in.
We remind you that **you may get banned** by your server for using this program. Use accordingly with server rules.
## License
Minecraft Console Client is a totally free of charge, open source project. The source code is available at [Github Repository](https://github.com/MCCTeam/Minecraft-Console-Client)
Unless specifically stated, source code is from the MCC Team or Contributors, and available under CDDL-1.0. More info about CDDL-1.0: [http://qstuff.blogspot.fr/2007/04/why-cddl.html](http://qstuff.blogspot.fr/2007/04/why-cddl.html) Full license at [http://opensource.org/licenses/CDDL-1.0](http://opensource.org/licenses/CDDL-1.0)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,76 @@
# Contributing
At this moment this page needs to be created.
For now you can use our article from the [Git Hub repository Wiki](https://github.com/MCCTeam/Minecraft-Console-Client/wiki/Update-console-client-to-new-version) written by [ReinforceZwei](https://github.com/ReinforceZwei).
## Translations
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
* `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese
* `zh-Hans.ini` : 简体中文 - Chinese Simplified
* `zh-Hant.ini` : 繁體中文 - Chinese Traditional
### Add new translation
1. First you need to get the name of the translated file.
* Visit [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) and find the first occurrence of the language you need to translate in the table below.
* Use the language code of the row in the table as the name of the translation file.
* For example:
* `English` -> row `English 0x0009` -> `en` -> `en.ini`
* `Chinese (Traditional)` -> row `Chinese (Traditional) 0x7C04` -> `zh-Hant` -> `zh-Hant.ini`
2. Which system languages are recommended to use this translation?
* Still check the table in [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c), one language may have multiple rows.
* You will need to indicate which language codes this translation applies to.
* For example:
* Translation `de.ini` applies to `de`, `de-AT`, `de-BE`, `de-DE`, ...
* Translation `zh-Hans.ini` applies to `zh-Hans`, `zh`, `zh-CN`, `zh-SG`.
3. Which game languages are recommended to use this translation?
* Check out the table in [this link](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239), where the `Locale Code` column indicates the language code in minecraft.
* You will need to indicate which locale codes this translation applies to.
* For example:
* Translation `fr.ini` applies to `fr_ca`, `fr_fr`.
* Translation `zh-Hans.ini` applies to `zh_cn`.
4. Add the new translation to the code. (Optional)
* **If you are not familiar with programming, you can skip this step and just write the above information in your PR or issue.**
* Add the newly created translation file `xx.ini` to the project `/Resources/lang/xx.ini`.
* Open `/DefaultConfigResource.resx`.
* Click `Add Resources`.
* Choose `/Resources/lang/xx.ini`.
* Rename the added resource file in `/DefaultConfigResource.resx` to `Translation_xx`.
* Open `/Translations.cs`.
* Find `public static Tuple<string, string[]> GetTranslationPriority();`
* Update the mapping of system language codes to translation files.
* Find `public static string[] GetTranslationPriority(string gameLanguage);`
* Update the mapping of game locale code to translation files.
5. Follow the section "Update existing translation".
### Update existing translation
1. Visit [the lang folder](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang), download `en.ini` and the language you want to translate(`xx.ini`).
2. Compare `en.ini` and `xx.ini` and update outdated or non-existent entries in `xx.ini`.
3. Once you finished the translation work, submit a pull request or send us the file through an [Issue](https://github.com/MCCTeam/Minecraft-Console-Client/issues) in case you are not familiar with Git.
### Translate README.md
1. Get the English version of the README.md from [here](https://raw.githubusercontent.com/MCCTeam/Minecraft-Console-Client/master/README.md).
2. See `Add new translation -> 1.` for the target language code. Assume it is `xx`.
3. Complete the translation according to the English README.md and name the translated version as `README-xx.md`.
4. In the English README, above the "About" section, add the name of the language and a hyperlink to `README-xx.md`.
## Contributors
[Check out our contributors on Github](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors).

View file

@ -0,0 +1,186 @@
# Creating Chat Bots
- [Notes](#notes)
- [Requirements](#requirements)
- [Quick Introduction](#quick-introduction)
- [Examples](#examples)
- [C# API](#c#-api)
## Notes
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For now this page contains only the bare basics of the Chat Bot API, enough of details to teach you how to make basic Chat Bots. For more details you need to take a look at the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) and [Examples](#examples). This page will be improved in the future.**
</div>
**Minecraft Console Client** has a rich C# API which allows you to create Chat Bots (effectively plugins) which can help you create complex automations which normal scripts may not be able to do.
## Requirements
- A basic knowledge of C# programming language
- A text editor
If you're not familiar with the C# programming language, we suggest taking a look at the following resources:
Crash courses:
- [C# Crash Course playlist by Teddy Smit](https://www.youtube.com/watch?v=67oWw9TanOk&list=PL82C6-O4XrHfoN_Y4MwGvJz5BntiL0z0D)
More in-depth:
- [Learn C# Youtube Playlist by Microsoft](https://www.youtube.com/playlist?list=PLdo4fOcmZ0oVxKLQCHpiUWun7vlJJvUiN)
- [Getting started with C# (An index of tutorials and the documentation) by Microsoft](https://docs.microsoft.com/en-us/dotnet/csharp/)
## Quick Introduction
This introduction assumes that you have the basic knowledge of C#.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Here we will use terms Chat Bot and Script interchangeably**
</div>
Create a new empty file and name it `ExampleChatBot.cs` in the same folder where you have your MCC installed.
Paste the following example code:
```csharp
//MCCScript 1.0
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
// The code and comments above are defining a "Script Metadata" section
// Every single chat bot (script) must be a class which extends the ChatBot class.
// Your class must be instantiates in the "Script Metadata" section and passed to MCC.LoadBot function.
class ExampleChatBot : ChatBot
{
// This method will be called when the script has been initialized for the first time, it's called only once
// Here you can initialize variables, eg. Dictionaries. etc...
public override void Initialize()
{
LogToConsole("An example Chat Bot has been initialized!");
}
// This is a function that will be run when we get a chat message from a server
// In this example it just detects the type of the message and prints it out
public override void GetText(string text)
{
string message = "";
string username = "";
text = GetVerbatim(text);
if (IsPrivateMessage(text, ref message, ref username))
{
LogToConsole(username + " has sent you a private message: " + message);
}
else if (IsChatMessage(text, ref message, ref username))
{
LogToConsole(username + " has said: " + message);
}
}
}
```
Start MCC, connect to a server and run the following internal command: `/script ExampleChatBot.cs`.
If you did everything right you should see: `[Example Chat Bot] An example Chat Bot has been initialised!` message appear in your console log.
### Structure of Chat Bots
Chat Bot (Script) structure is the following:
```
<script metadata>
<chat bot class>
```
**Script Metadata** is a section with a custom format that mixes in C# with our format using comments. Every single Chat Bot (Script) must have this section at the beginning in order to work.
### Script Metadata Format
`//MCCScript 1.0` marks the beginning of the **Script Metadata** section, this must always be on the first line or the Chat Bot (Script) will not load and will throw an error.
`//MCCScript Extensions` marks the end of the **Script Metadata** section, this must be defined before a Chat Bot (Script) class.
In order for your Chat Bot (Script) to properly load in-between the `//MCCScript 1.0` and the `//MCCScript Extensions` lines you must instantiate your Chat Bot (Script) class and pass it to the `MCC.LoadBot` function.
Example code:
```
MCC.LoadBot(new YourChatBotClassNameHere());
```
**Script Metadata** section allows for including C# packages and libraries with: `//using <namespace>` and `/dll <dll name>`.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Avoid adding whitespace between `//` and keywords**
</div>
By the default the following packages are loaded:
```csharp
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Threading;
using MinecraftClient;
using MinecraftClient.Mapping;
using MinecraftClient.Inventory;
```
Example:
```csharp
//using System.Collections.Immutable
//dll MyDll.dll
```
Full Example:
```csharp
//MCCScript 1.0
//using System.Collections.Immutable
//dll MyDll.dll
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
```
### Chat Bot Class
After the end of the **Script Metadata** section, you basically can define any number of classes you like, the only limitation is that the main class of your Chat Bot (Script) must extend `ChatBot` class.
There are no required methods, everything is optional.
When the Chat Bot (Script) has been initialized for the first time the `Initialize` method will be called. In it you can initialize variables, eg. Dictionaries, etc..
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For allocating resources like a database connection, we recommend allocating them in `AfterGameJoined` and freeing them in `OnDisconnect`**
</div>.
## Examples
You can find a lot of examples in our Git Hub Repository at [ChatBots](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/ChatBots) and [config](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config).
## C# API
As of the time of writing, the C# API has been changed in forks that are yet to be merged, so for now you can use the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) for reference.
Each method is well documented with standard C# documentation comments.
In the future we will make a script to auto-generate this section based on the documentation in the code.

File diff suppressed because it is too large Load diff

1059
docs/l10n/cs/guide/usage.md Normal file

File diff suppressed because it is too large Load diff

28
docs/l10n/da/README.md Normal file
View file

@ -0,0 +1,28 @@
---
home: true
heroImage: /images/MCC_logo_with_edge.png
tagline: 'Minecraft Console Client (MCC) is a lightweight open-source Minecraft Java client implemented in C#'
actions:
-
text: Installation
link: ./guide/installation.md
type: primary
-
text: Learn More →
link: ./guide/
type: secondary
actionText:
actionLink:
features:
-
title: Chat
details: Chat with other people on the server
-
title: Automation
details: Create bots to do automated tasks
-
title: Supported Versions
details: 1.4 - 1.19.2
footer: Made by MCC Team with ❤️
---

View file

@ -0,0 +1,163 @@
# Introduction
- [About](#about)
- [Quick Intro (YouTube Videos)](#quick-intro)
- [Features](#features)
- [Why Minecraft Console Client?](#why-minecraft-console-client)
- [Getting Help](#getting-help)
- [Submitting a bug report or an idea/feature-request](#bugs-ideas-feature-requests)
- [Important notes on some features](#notes-on-some-features)
- [Credits](#credits)
- [Disclaimer](#disclaimer)
- [License](#license)
## 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.
It also provides various automations that you can enable for administration and other purposes, as well as extensible C# API for creating Bots.
It was originally made by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/), now it's maintained by him and many other contributors from the community.
## Features
- Chat
- Send and receive chat messages
- [Log chat history](chat-bots.md#chat-log)
- [Get alerted on certain keywords](chat-bots.md#alerts)
- [Auto Respond](chat-bots.md#auto-respond)
- [Anti AFK](chat-bots.md#anti-afk)
- [Auto Relog](chat-bots.md#auto-relog)
- [Script Scheduler](chat-bots.md#script-scheduler)
- [Remote Control](chat-bots.md#remote-control)
- [Auto Respond](chat-bots.md#auto-respond)
- [Auto Attack](chat-bots.md#auto-attack)
- [Auto Fishing](chat-bots.md#auto-fishing)
- [Auto Eat](chat-bots.md#auto-eat)
- [Auto Craft](chat-bots.md#auto-craft)
- [Mailer Bot](chat-bots.md#mailer)
- [Auto Drop](chat-bots.md#auto-drop)
- [Replay Mod](chat-bots.md#replay-mod)
- [API for creating Bots in C#](creating-bots.md#creating-chat-bots)
- [Docker Support](installation.md#using-docker)
- [Inventory Handling](usage.md#inventory)
- [Terrain Traversing](usage.md#move)
- Entity Handling
_NOTE: Some of mentioned features are disabled by default and you will have to turn them on in the configuration file and some may require additional configuration on your part for your specific usage._
## Why Minecraft Console Client?
- Easy to use
- Helpful community
- Open-Source
- Fast performance
- Cross-Platform
- Docker Support
- 10 years of continuous development
- Active contributors
- Widely used
## Quick Intro
Don't have time to read through the documentation, we got you, our community has made some simple introduction videos about the **Minecraft Console Client**.
### The list of the tutorials:
Installation:
- [Installation on Windows by Daenges](https://www.youtube.com/watch?v=BkCqOCa2uQw)
- [Installation on Windows + Auto AFK and More by Dexter113](https://www.youtube.com/watch?v=FxJ0KFIHDrY)
Using Commands, Scripts and other features:
- [Minecraft Console Client | Tutorial | Commands, Scripts, AppVars, Matches, Tasks and C# Scripts by Daenges](https://youtu.be/JbDpwwETEnU)
- [Console Client Tutorial - Scripting by Zixxter](https://www.youtube.com/watch?v=XE7rYBFJxn0)
## Getting Help
MCC has a community that is willing to help, we have a Discussions section in out Git Hub repository.
Click [here](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) to access it.
### Before getting help
- **Please use the search option here or in the discussion section and read the documentation so we avoid duplicate questions. Thank you!**
- **Please be kind and patient, respect others as they're the ones using their time to help you**
## Bugs, Ideas, Feature Requests
Bug reporting, idea submitting or feature requesting are done in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section of our [Github repository]([here](https://github.com/MCCTeam/Minecraft-Console-Client)).
Navigate to the Issues section, search for a bug, idea or a feature using the search option here in the documentation and in the `Issues` section on Git Hub before making your own.
If you haven't found anything similar, go ahead and click on the `New issue` button, then choose what you want to do.
If you're reporting a bug, please be descriptive as much as possible, try to explain how to re-create the bug, attack screenshots and logs, make sure that you have [`debugmessages`](configuration.me#debugmessages) set to `true` before sending a bug report or taking a screenshot.
### Before submitting
- **Please use the search option here or in the `Issues` section and read the documentation so we avoid duplicate questions/ideas/reports. Thank you!**
- **Please be kind, patient and respect others. Thank you!**
## Notes on some features
### Inventory, Terrain and Entity Handling
Inventory handling is currently not supported in versions: `1.4.6 - 1.9`
Terrain handling is currently not supported in versions: `1.4.6 - 1.6`
Entity handling is currently not supported in versions: `1.4.6 - 1.9` (but `1.8` and `1.9` are being worked on, almost at the working state, only `EntityMetadata` packet remains to be fixed)
There features might not always be implemented in the latest version of the game, since they're often subjected to major changes by Mojang, and we need some time to figure out what has changed and to implement the required changes.
If there was a major game update, and the MCC hasn't been updated to support these features, if you're a programmer, feel free to contribute to the project.
## Credits
_Project initiated by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/)._
Many features would not have been possible without the help of our talented community:
**Maintainers**
ORelio, ReinforceZwei, milutinke, BruceChenQAQ, bradbyte
**Ideas**
ambysdotnet, Awpocalypse, azoundria, bearbear12345, bSun0000, Cat7373, dagonzaros, Dids, Elvang, fuckofftwice, GeorgH93, initsuj, JamieSinn, joshbean39, LehmusFIN, maski, medxo, mobdon, MousePak, TNT-UP, TorchRJ, yayes2, Yoann166, ZizzyDizzyMC and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BIdea%5D+is%3Aopen).
**Bug Hunters**
1092CQ, ambysdotnet, bearbear12345, c0dei, Cat7373, Chtholly, Darkaegis, dbear20, DigitalSniperz, doranchak, drXor, FantomHD, gerik43, ibspa, iTzMrpitBull, JamieSinn, k3ldon, KenXeiko, link3321, lyze237, mattman00000, Nicconyancat, Pokechu22, ridgewell, Ryan6578, Solethia, TNT-UP, TorchRJ, TRTrident, WeedIsGood, xp9kus, Yoann166 and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BBUG%5D+is%3Aopen+).
**Contributors**
Allyoutoo, Aragas, Bancey, bearbear12345, corbanmailloux, Daenges, dbear20, dogwatch, initsuj, JamieSinn, justcool393, lokulin, maxpowa, medxo, milutinke, Pokechu22, ReinforceZwei, repository, TheMeq, TheSnoozer, vkorn, v1RuX, yunusemregul, ZizzyDizzyMC, BruceChenQAQ, bradbyte _... And all the [GitHub contributors](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors)!_
**Libraries:**
Minecraft Console Client also borrows code from the following libraries:
| Name | Purpose | Author | License |
| ----------- | ---------------- | ---------------- | ------- |
| Biko | Proxy handling | Benton Stark | MIT |
| Heijden.Dns | DNS SRV Lookup | Geoffrey Huntley | MIT |
| DotNetZip | Zlib compression | Dino Chiesa | MS-PL |
## Disclaimer
Even if everything should work, we are not responsible for any damage this app could cause to your computer or your server. This app does not steal your password. If you don't trust it, don't use it or check & compile from the source code.
Also, remember that when you connect to a server with this program, you will appear where you left the last time. This means that **you can die if you log in in an unsafe place on a survival server!** Use the script scheduler bot to send a teleport command after logging in.
We remind you that **you may get banned** by your server for using this program. Use accordingly with server rules.
## License
Minecraft Console Client is a totally free of charge, open source project. The source code is available at [Github Repository](https://github.com/MCCTeam/Minecraft-Console-Client)
Unless specifically stated, source code is from the MCC Team or Contributors, and available under CDDL-1.0. More info about CDDL-1.0: [http://qstuff.blogspot.fr/2007/04/why-cddl.html](http://qstuff.blogspot.fr/2007/04/why-cddl.html) Full license at [http://opensource.org/licenses/CDDL-1.0](http://opensource.org/licenses/CDDL-1.0)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,76 @@
# Contributing
At this moment this page needs to be created.
For now you can use our article from the [Git Hub repository Wiki](https://github.com/MCCTeam/Minecraft-Console-Client/wiki/Update-console-client-to-new-version) written by [ReinforceZwei](https://github.com/ReinforceZwei).
## Translations
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
* `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese
* `zh-Hans.ini` : 简体中文 - Chinese Simplified
* `zh-Hant.ini` : 繁體中文 - Chinese Traditional
### Add new translation
1. First you need to get the name of the translated file.
* Visit [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) and find the first occurrence of the language you need to translate in the table below.
* Use the language code of the row in the table as the name of the translation file.
* For example:
* `English` -> row `English 0x0009` -> `en` -> `en.ini`
* `Chinese (Traditional)` -> row `Chinese (Traditional) 0x7C04` -> `zh-Hant` -> `zh-Hant.ini`
2. Which system languages are recommended to use this translation?
* Still check the table in [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c), one language may have multiple rows.
* You will need to indicate which language codes this translation applies to.
* For example:
* Translation `de.ini` applies to `de`, `de-AT`, `de-BE`, `de-DE`, ...
* Translation `zh-Hans.ini` applies to `zh-Hans`, `zh`, `zh-CN`, `zh-SG`.
3. Which game languages are recommended to use this translation?
* Check out the table in [this link](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239), where the `Locale Code` column indicates the language code in minecraft.
* You will need to indicate which locale codes this translation applies to.
* For example:
* Translation `fr.ini` applies to `fr_ca`, `fr_fr`.
* Translation `zh-Hans.ini` applies to `zh_cn`.
4. Add the new translation to the code. (Optional)
* **If you are not familiar with programming, you can skip this step and just write the above information in your PR or issue.**
* Add the newly created translation file `xx.ini` to the project `/Resources/lang/xx.ini`.
* Open `/DefaultConfigResource.resx`.
* Click `Add Resources`.
* Choose `/Resources/lang/xx.ini`.
* Rename the added resource file in `/DefaultConfigResource.resx` to `Translation_xx`.
* Open `/Translations.cs`.
* Find `public static Tuple<string, string[]> GetTranslationPriority();`
* Update the mapping of system language codes to translation files.
* Find `public static string[] GetTranslationPriority(string gameLanguage);`
* Update the mapping of game locale code to translation files.
5. Follow the section "Update existing translation".
### Update existing translation
1. Visit [the lang folder](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang), download `en.ini` and the language you want to translate(`xx.ini`).
2. Compare `en.ini` and `xx.ini` and update outdated or non-existent entries in `xx.ini`.
3. Once you finished the translation work, submit a pull request or send us the file through an [Issue](https://github.com/MCCTeam/Minecraft-Console-Client/issues) in case you are not familiar with Git.
### Translate README.md
1. Get the English version of the README.md from [here](https://raw.githubusercontent.com/MCCTeam/Minecraft-Console-Client/master/README.md).
2. See `Add new translation -> 1.` for the target language code. Assume it is `xx`.
3. Complete the translation according to the English README.md and name the translated version as `README-xx.md`.
4. In the English README, above the "About" section, add the name of the language and a hyperlink to `README-xx.md`.
## Contributors
[Check out our contributors on Github](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors).

View file

@ -0,0 +1,186 @@
# Creating Chat Bots
- [Notes](#notes)
- [Requirements](#requirements)
- [Quick Introduction](#quick-introduction)
- [Examples](#examples)
- [C# API](#c#-api)
## Notes
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For now this page contains only the bare basics of the Chat Bot API, enough of details to teach you how to make basic Chat Bots. For more details you need to take a look at the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) and [Examples](#examples). This page will be improved in the future.**
</div>
**Minecraft Console Client** has a rich C# API which allows you to create Chat Bots (effectively plugins) which can help you create complex automations which normal scripts may not be able to do.
## Requirements
- A basic knowledge of C# programming language
- A text editor
If you're not familiar with the C# programming language, we suggest taking a look at the following resources:
Crash courses:
- [C# Crash Course playlist by Teddy Smit](https://www.youtube.com/watch?v=67oWw9TanOk&list=PL82C6-O4XrHfoN_Y4MwGvJz5BntiL0z0D)
More in-depth:
- [Learn C# Youtube Playlist by Microsoft](https://www.youtube.com/playlist?list=PLdo4fOcmZ0oVxKLQCHpiUWun7vlJJvUiN)
- [Getting started with C# (An index of tutorials and the documentation) by Microsoft](https://docs.microsoft.com/en-us/dotnet/csharp/)
## Quick Introduction
This introduction assumes that you have the basic knowledge of C#.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Here we will use terms Chat Bot and Script interchangeably**
</div>
Create a new empty file and name it `ExampleChatBot.cs` in the same folder where you have your MCC installed.
Paste the following example code:
```csharp
//MCCScript 1.0
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
// The code and comments above are defining a "Script Metadata" section
// Every single chat bot (script) must be a class which extends the ChatBot class.
// Your class must be instantiates in the "Script Metadata" section and passed to MCC.LoadBot function.
class ExampleChatBot : ChatBot
{
// This method will be called when the script has been initialized for the first time, it's called only once
// Here you can initialize variables, eg. Dictionaries. etc...
public override void Initialize()
{
LogToConsole("An example Chat Bot has been initialized!");
}
// This is a function that will be run when we get a chat message from a server
// In this example it just detects the type of the message and prints it out
public override void GetText(string text)
{
string message = "";
string username = "";
text = GetVerbatim(text);
if (IsPrivateMessage(text, ref message, ref username))
{
LogToConsole(username + " has sent you a private message: " + message);
}
else if (IsChatMessage(text, ref message, ref username))
{
LogToConsole(username + " has said: " + message);
}
}
}
```
Start MCC, connect to a server and run the following internal command: `/script ExampleChatBot.cs`.
If you did everything right you should see: `[Example Chat Bot] An example Chat Bot has been initialised!` message appear in your console log.
### Structure of Chat Bots
Chat Bot (Script) structure is the following:
```
<script metadata>
<chat bot class>
```
**Script Metadata** is a section with a custom format that mixes in C# with our format using comments. Every single Chat Bot (Script) must have this section at the beginning in order to work.
### Script Metadata Format
`//MCCScript 1.0` marks the beginning of the **Script Metadata** section, this must always be on the first line or the Chat Bot (Script) will not load and will throw an error.
`//MCCScript Extensions` marks the end of the **Script Metadata** section, this must be defined before a Chat Bot (Script) class.
In order for your Chat Bot (Script) to properly load in-between the `//MCCScript 1.0` and the `//MCCScript Extensions` lines you must instantiate your Chat Bot (Script) class and pass it to the `MCC.LoadBot` function.
Example code:
```
MCC.LoadBot(new YourChatBotClassNameHere());
```
**Script Metadata** section allows for including C# packages and libraries with: `//using <namespace>` and `/dll <dll name>`.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Avoid adding whitespace between `//` and keywords**
</div>
By the default the following packages are loaded:
```csharp
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Threading;
using MinecraftClient;
using MinecraftClient.Mapping;
using MinecraftClient.Inventory;
```
Example:
```csharp
//using System.Collections.Immutable
//dll MyDll.dll
```
Full Example:
```csharp
//MCCScript 1.0
//using System.Collections.Immutable
//dll MyDll.dll
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
```
### Chat Bot Class
After the end of the **Script Metadata** section, you basically can define any number of classes you like, the only limitation is that the main class of your Chat Bot (Script) must extend `ChatBot` class.
There are no required methods, everything is optional.
When the Chat Bot (Script) has been initialized for the first time the `Initialize` method will be called. In it you can initialize variables, eg. Dictionaries, etc..
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For allocating resources like a database connection, we recommend allocating them in `AfterGameJoined` and freeing them in `OnDisconnect`**
</div>.
## Examples
You can find a lot of examples in our Git Hub Repository at [ChatBots](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/ChatBots) and [config](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config).
## C# API
As of the time of writing, the C# API has been changed in forks that are yet to be merged, so for now you can use the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) for reference.
Each method is well documented with standard C# documentation comments.
In the future we will make a script to auto-generate this section based on the documentation in the code.

File diff suppressed because it is too large Load diff

1059
docs/l10n/da/guide/usage.md Normal file

File diff suppressed because it is too large Load diff

28
docs/l10n/de/README.md Normal file
View file

@ -0,0 +1,28 @@
---
home: true
heroImage: /images/MCC_logo_with_edge.png
tagline: 'Minecraft Console Client (MCC) is a lightweight open-source Minecraft Java client implemented in C#'
actions:
-
text: Installation
link: ./guide/installation.md
type: primary
-
text: Learn More →
link: ./guide/
type: secondary
actionText:
actionLink:
features:
-
title: Chat
details: Chat with other people on the server
-
title: Automation
details: Create bots to do automated tasks
-
title: Supported Versions
details: 1.4 - 1.19.2
footer: Made by MCC Team with ❤️
---

View file

@ -0,0 +1,163 @@
# Introduction
- [About](#about)
- [Quick Intro (YouTube Videos)](#quick-intro)
- [Features](#features)
- [Why Minecraft Console Client?](#why-minecraft-console-client)
- [Getting Help](#getting-help)
- [Submitting a bug report or an idea/feature-request](#bugs-ideas-feature-requests)
- [Important notes on some features](#notes-on-some-features)
- [Credits](#credits)
- [Disclaimer](#disclaimer)
- [License](#license)
## 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.
It also provides various automations that you can enable for administration and other purposes, as well as extensible C# API for creating Bots.
It was originally made by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/), now it's maintained by him and many other contributors from the community.
## Features
- Chat
- Send and receive chat messages
- [Log chat history](chat-bots.md#chat-log)
- [Get alerted on certain keywords](chat-bots.md#alerts)
- [Auto Respond](chat-bots.md#auto-respond)
- [Anti AFK](chat-bots.md#anti-afk)
- [Auto Relog](chat-bots.md#auto-relog)
- [Script Scheduler](chat-bots.md#script-scheduler)
- [Remote Control](chat-bots.md#remote-control)
- [Auto Respond](chat-bots.md#auto-respond)
- [Auto Attack](chat-bots.md#auto-attack)
- [Auto Fishing](chat-bots.md#auto-fishing)
- [Auto Eat](chat-bots.md#auto-eat)
- [Auto Craft](chat-bots.md#auto-craft)
- [Mailer Bot](chat-bots.md#mailer)
- [Auto Drop](chat-bots.md#auto-drop)
- [Replay Mod](chat-bots.md#replay-mod)
- [API for creating Bots in C#](creating-bots.md#creating-chat-bots)
- [Docker Support](installation.md#using-docker)
- [Inventory Handling](usage.md#inventory)
- [Terrain Traversing](usage.md#move)
- Entity Handling
_NOTE: Some of mentioned features are disabled by default and you will have to turn them on in the configuration file and some may require additional configuration on your part for your specific usage._
## Why Minecraft Console Client?
- Easy to use
- Helpful community
- Open-Source
- Fast performance
- Cross-Platform
- Docker Support
- 10 years of continuous development
- Active contributors
- Widely used
## Quick Intro
Don't have time to read through the documentation, we got you, our community has made some simple introduction videos about the **Minecraft Console Client**.
### The list of the tutorials:
Installation:
- [Installation on Windows by Daenges](https://www.youtube.com/watch?v=BkCqOCa2uQw)
- [Installation on Windows + Auto AFK and More by Dexter113](https://www.youtube.com/watch?v=FxJ0KFIHDrY)
Using Commands, Scripts and other features:
- [Minecraft Console Client | Tutorial | Commands, Scripts, AppVars, Matches, Tasks and C# Scripts by Daenges](https://youtu.be/JbDpwwETEnU)
- [Console Client Tutorial - Scripting by Zixxter](https://www.youtube.com/watch?v=XE7rYBFJxn0)
## Getting Help
MCC has a community that is willing to help, we have a Discussions section in out Git Hub repository.
Click [here](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) to access it.
### Before getting help
- **Please use the search option here or in the discussion section and read the documentation so we avoid duplicate questions. Thank you!**
- **Please be kind and patient, respect others as they're the ones using their time to help you**
## Bugs, Ideas, Feature Requests
Bug reporting, idea submitting or feature requesting are done in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section of our [Github repository]([here](https://github.com/MCCTeam/Minecraft-Console-Client)).
Navigate to the Issues section, search for a bug, idea or a feature using the search option here in the documentation and in the `Issues` section on Git Hub before making your own.
If you haven't found anything similar, go ahead and click on the `New issue` button, then choose what you want to do.
If you're reporting a bug, please be descriptive as much as possible, try to explain how to re-create the bug, attack screenshots and logs, make sure that you have [`debugmessages`](configuration.me#debugmessages) set to `true` before sending a bug report or taking a screenshot.
### Before submitting
- **Please use the search option here or in the `Issues` section and read the documentation so we avoid duplicate questions/ideas/reports. Thank you!**
- **Please be kind, patient and respect others. Thank you!**
## Notes on some features
### Inventory, Terrain and Entity Handling
Inventory handling is currently not supported in versions: `1.4.6 - 1.9`
Terrain handling is currently not supported in versions: `1.4.6 - 1.6`
Entity handling is currently not supported in versions: `1.4.6 - 1.9` (but `1.8` and `1.9` are being worked on, almost at the working state, only `EntityMetadata` packet remains to be fixed)
There features might not always be implemented in the latest version of the game, since they're often subjected to major changes by Mojang, and we need some time to figure out what has changed and to implement the required changes.
If there was a major game update, and the MCC hasn't been updated to support these features, if you're a programmer, feel free to contribute to the project.
## Credits
_Project initiated by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/)._
Many features would not have been possible without the help of our talented community:
**Maintainers**
ORelio, ReinforceZwei, milutinke, BruceChenQAQ, bradbyte
**Ideas**
ambysdotnet, Awpocalypse, azoundria, bearbear12345, bSun0000, Cat7373, dagonzaros, Dids, Elvang, fuckofftwice, GeorgH93, initsuj, JamieSinn, joshbean39, LehmusFIN, maski, medxo, mobdon, MousePak, TNT-UP, TorchRJ, yayes2, Yoann166, ZizzyDizzyMC and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BIdea%5D+is%3Aopen).
**Bug Hunters**
1092CQ, ambysdotnet, bearbear12345, c0dei, Cat7373, Chtholly, Darkaegis, dbear20, DigitalSniperz, doranchak, drXor, FantomHD, gerik43, ibspa, iTzMrpitBull, JamieSinn, k3ldon, KenXeiko, link3321, lyze237, mattman00000, Nicconyancat, Pokechu22, ridgewell, Ryan6578, Solethia, TNT-UP, TorchRJ, TRTrident, WeedIsGood, xp9kus, Yoann166 and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BBUG%5D+is%3Aopen+).
**Contributors**
Allyoutoo, Aragas, Bancey, bearbear12345, corbanmailloux, Daenges, dbear20, dogwatch, initsuj, JamieSinn, justcool393, lokulin, maxpowa, medxo, milutinke, Pokechu22, ReinforceZwei, repository, TheMeq, TheSnoozer, vkorn, v1RuX, yunusemregul, ZizzyDizzyMC, BruceChenQAQ, bradbyte _... And all the [GitHub contributors](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors)!_
**Libraries:**
Minecraft Console Client also borrows code from the following libraries:
| Name | Purpose | Author | License |
| ----------- | ---------------- | ---------------- | ------- |
| Biko | Proxy handling | Benton Stark | MIT |
| Heijden.Dns | DNS SRV Lookup | Geoffrey Huntley | MIT |
| DotNetZip | Zlib compression | Dino Chiesa | MS-PL |
## Disclaimer
Even if everything should work, we are not responsible for any damage this app could cause to your computer or your server. This app does not steal your password. If you don't trust it, don't use it or check & compile from the source code.
Also, remember that when you connect to a server with this program, you will appear where you left the last time. This means that **you can die if you log in in an unsafe place on a survival server!** Use the script scheduler bot to send a teleport command after logging in.
We remind you that **you may get banned** by your server for using this program. Use accordingly with server rules.
## License
Minecraft Console Client is a totally free of charge, open source project. The source code is available at [Github Repository](https://github.com/MCCTeam/Minecraft-Console-Client)
Unless specifically stated, source code is from the MCC Team or Contributors, and available under CDDL-1.0. More info about CDDL-1.0: [http://qstuff.blogspot.fr/2007/04/why-cddl.html](http://qstuff.blogspot.fr/2007/04/why-cddl.html) Full license at [http://opensource.org/licenses/CDDL-1.0](http://opensource.org/licenses/CDDL-1.0)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,76 @@
# Contributing
At this moment this page needs to be created.
For now you can use our article from the [Git Hub repository Wiki](https://github.com/MCCTeam/Minecraft-Console-Client/wiki/Update-console-client-to-new-version) written by [ReinforceZwei](https://github.com/ReinforceZwei).
## Translations
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
* `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese
* `zh-Hans.ini` : 简体中文 - Chinese Simplified
* `zh-Hant.ini` : 繁體中文 - Chinese Traditional
### Add new translation
1. First you need to get the name of the translated file.
* Visit [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) and find the first occurrence of the language you need to translate in the table below.
* Use the language code of the row in the table as the name of the translation file.
* For example:
* `English` -> row `English 0x0009` -> `en` -> `en.ini`
* `Chinese (Traditional)` -> row `Chinese (Traditional) 0x7C04` -> `zh-Hant` -> `zh-Hant.ini`
2. Which system languages are recommended to use this translation?
* Still check the table in [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c), one language may have multiple rows.
* You will need to indicate which language codes this translation applies to.
* For example:
* Translation `de.ini` applies to `de`, `de-AT`, `de-BE`, `de-DE`, ...
* Translation `zh-Hans.ini` applies to `zh-Hans`, `zh`, `zh-CN`, `zh-SG`.
3. Which game languages are recommended to use this translation?
* Check out the table in [this link](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239), where the `Locale Code` column indicates the language code in minecraft.
* You will need to indicate which locale codes this translation applies to.
* For example:
* Translation `fr.ini` applies to `fr_ca`, `fr_fr`.
* Translation `zh-Hans.ini` applies to `zh_cn`.
4. Add the new translation to the code. (Optional)
* **If you are not familiar with programming, you can skip this step and just write the above information in your PR or issue.**
* Add the newly created translation file `xx.ini` to the project `/Resources/lang/xx.ini`.
* Open `/DefaultConfigResource.resx`.
* Click `Add Resources`.
* Choose `/Resources/lang/xx.ini`.
* Rename the added resource file in `/DefaultConfigResource.resx` to `Translation_xx`.
* Open `/Translations.cs`.
* Find `public static Tuple<string, string[]> GetTranslationPriority();`
* Update the mapping of system language codes to translation files.
* Find `public static string[] GetTranslationPriority(string gameLanguage);`
* Update the mapping of game locale code to translation files.
5. Follow the section "Update existing translation".
### Update existing translation
1. Visit [the lang folder](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang), download `en.ini` and the language you want to translate(`xx.ini`).
2. Compare `en.ini` and `xx.ini` and update outdated or non-existent entries in `xx.ini`.
3. Once you finished the translation work, submit a pull request or send us the file through an [Issue](https://github.com/MCCTeam/Minecraft-Console-Client/issues) in case you are not familiar with Git.
### Translate README.md
1. Get the English version of the README.md from [here](https://raw.githubusercontent.com/MCCTeam/Minecraft-Console-Client/master/README.md).
2. See `Add new translation -> 1.` for the target language code. Assume it is `xx`.
3. Complete the translation according to the English README.md and name the translated version as `README-xx.md`.
4. In the English README, above the "About" section, add the name of the language and a hyperlink to `README-xx.md`.
## Contributors
[Check out our contributors on Github](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors).

View file

@ -0,0 +1,186 @@
# Creating Chat Bots
- [Notes](#notes)
- [Requirements](#requirements)
- [Quick Introduction](#quick-introduction)
- [Examples](#examples)
- [C# API](#c#-api)
## Notes
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For now this page contains only the bare basics of the Chat Bot API, enough of details to teach you how to make basic Chat Bots. For more details you need to take a look at the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) and [Examples](#examples). This page will be improved in the future.**
</div>
**Minecraft Console Client** has a rich C# API which allows you to create Chat Bots (effectively plugins) which can help you create complex automations which normal scripts may not be able to do.
## Requirements
- A basic knowledge of C# programming language
- A text editor
If you're not familiar with the C# programming language, we suggest taking a look at the following resources:
Crash courses:
- [C# Crash Course playlist by Teddy Smit](https://www.youtube.com/watch?v=67oWw9TanOk&list=PL82C6-O4XrHfoN_Y4MwGvJz5BntiL0z0D)
More in-depth:
- [Learn C# Youtube Playlist by Microsoft](https://www.youtube.com/playlist?list=PLdo4fOcmZ0oVxKLQCHpiUWun7vlJJvUiN)
- [Getting started with C# (An index of tutorials and the documentation) by Microsoft](https://docs.microsoft.com/en-us/dotnet/csharp/)
## Quick Introduction
This introduction assumes that you have the basic knowledge of C#.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Here we will use terms Chat Bot and Script interchangeably**
</div>
Create a new empty file and name it `ExampleChatBot.cs` in the same folder where you have your MCC installed.
Paste the following example code:
```csharp
//MCCScript 1.0
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
// The code and comments above are defining a "Script Metadata" section
// Every single chat bot (script) must be a class which extends the ChatBot class.
// Your class must be instantiates in the "Script Metadata" section and passed to MCC.LoadBot function.
class ExampleChatBot : ChatBot
{
// This method will be called when the script has been initialized for the first time, it's called only once
// Here you can initialize variables, eg. Dictionaries. etc...
public override void Initialize()
{
LogToConsole("An example Chat Bot has been initialized!");
}
// This is a function that will be run when we get a chat message from a server
// In this example it just detects the type of the message and prints it out
public override void GetText(string text)
{
string message = "";
string username = "";
text = GetVerbatim(text);
if (IsPrivateMessage(text, ref message, ref username))
{
LogToConsole(username + " has sent you a private message: " + message);
}
else if (IsChatMessage(text, ref message, ref username))
{
LogToConsole(username + " has said: " + message);
}
}
}
```
Start MCC, connect to a server and run the following internal command: `/script ExampleChatBot.cs`.
If you did everything right you should see: `[Example Chat Bot] An example Chat Bot has been initialised!` message appear in your console log.
### Structure of Chat Bots
Chat Bot (Script) structure is the following:
```
<script metadata>
<chat bot class>
```
**Script Metadata** is a section with a custom format that mixes in C# with our format using comments. Every single Chat Bot (Script) must have this section at the beginning in order to work.
### Script Metadata Format
`//MCCScript 1.0` marks the beginning of the **Script Metadata** section, this must always be on the first line or the Chat Bot (Script) will not load and will throw an error.
`//MCCScript Extensions` marks the end of the **Script Metadata** section, this must be defined before a Chat Bot (Script) class.
In order for your Chat Bot (Script) to properly load in-between the `//MCCScript 1.0` and the `//MCCScript Extensions` lines you must instantiate your Chat Bot (Script) class and pass it to the `MCC.LoadBot` function.
Example code:
```
MCC.LoadBot(new YourChatBotClassNameHere());
```
**Script Metadata** section allows for including C# packages and libraries with: `//using <namespace>` and `/dll <dll name>`.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Avoid adding whitespace between `//` and keywords**
</div>
By the default the following packages are loaded:
```csharp
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Threading;
using MinecraftClient;
using MinecraftClient.Mapping;
using MinecraftClient.Inventory;
```
Example:
```csharp
//using System.Collections.Immutable
//dll MyDll.dll
```
Full Example:
```csharp
//MCCScript 1.0
//using System.Collections.Immutable
//dll MyDll.dll
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
```
### Chat Bot Class
After the end of the **Script Metadata** section, you basically can define any number of classes you like, the only limitation is that the main class of your Chat Bot (Script) must extend `ChatBot` class.
There are no required methods, everything is optional.
When the Chat Bot (Script) has been initialized for the first time the `Initialize` method will be called. In it you can initialize variables, eg. Dictionaries, etc..
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For allocating resources like a database connection, we recommend allocating them in `AfterGameJoined` and freeing them in `OnDisconnect`**
</div>.
## Examples
You can find a lot of examples in our Git Hub Repository at [ChatBots](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/ChatBots) and [config](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config).
## C# API
As of the time of writing, the C# API has been changed in forks that are yet to be merged, so for now you can use the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) for reference.
Each method is well documented with standard C# documentation comments.
In the future we will make a script to auto-generate this section based on the documentation in the code.

File diff suppressed because it is too large Load diff

1059
docs/l10n/de/guide/usage.md Normal file

File diff suppressed because it is too large Load diff

28
docs/l10n/el/README.md Normal file
View file

@ -0,0 +1,28 @@
---
home: true
heroImage: /images/MCC_logo_with_edge.png
tagline: 'Minecraft Console Client (MCC) is a lightweight open-source Minecraft Java client implemented in C#'
actions:
-
text: Installation
link: ./guide/installation.md
type: primary
-
text: Learn More →
link: ./guide/
type: secondary
actionText:
actionLink:
features:
-
title: Chat
details: Chat with other people on the server
-
title: Automation
details: Create bots to do automated tasks
-
title: Supported Versions
details: 1.4 - 1.19.2
footer: Made by MCC Team with ❤️
---

View file

@ -0,0 +1,163 @@
# Introduction
- [About](#about)
- [Quick Intro (YouTube Videos)](#quick-intro)
- [Features](#features)
- [Why Minecraft Console Client?](#why-minecraft-console-client)
- [Getting Help](#getting-help)
- [Submitting a bug report or an idea/feature-request](#bugs-ideas-feature-requests)
- [Important notes on some features](#notes-on-some-features)
- [Credits](#credits)
- [Disclaimer](#disclaimer)
- [License](#license)
## 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.
It also provides various automations that you can enable for administration and other purposes, as well as extensible C# API for creating Bots.
It was originally made by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/), now it's maintained by him and many other contributors from the community.
## Features
- Chat
- Send and receive chat messages
- [Log chat history](chat-bots.md#chat-log)
- [Get alerted on certain keywords](chat-bots.md#alerts)
- [Auto Respond](chat-bots.md#auto-respond)
- [Anti AFK](chat-bots.md#anti-afk)
- [Auto Relog](chat-bots.md#auto-relog)
- [Script Scheduler](chat-bots.md#script-scheduler)
- [Remote Control](chat-bots.md#remote-control)
- [Auto Respond](chat-bots.md#auto-respond)
- [Auto Attack](chat-bots.md#auto-attack)
- [Auto Fishing](chat-bots.md#auto-fishing)
- [Auto Eat](chat-bots.md#auto-eat)
- [Auto Craft](chat-bots.md#auto-craft)
- [Mailer Bot](chat-bots.md#mailer)
- [Auto Drop](chat-bots.md#auto-drop)
- [Replay Mod](chat-bots.md#replay-mod)
- [API for creating Bots in C#](creating-bots.md#creating-chat-bots)
- [Docker Support](installation.md#using-docker)
- [Inventory Handling](usage.md#inventory)
- [Terrain Traversing](usage.md#move)
- Entity Handling
_NOTE: Some of mentioned features are disabled by default and you will have to turn them on in the configuration file and some may require additional configuration on your part for your specific usage._
## Why Minecraft Console Client?
- Easy to use
- Helpful community
- Open-Source
- Fast performance
- Cross-Platform
- Docker Support
- 10 years of continuous development
- Active contributors
- Widely used
## Quick Intro
Don't have time to read through the documentation, we got you, our community has made some simple introduction videos about the **Minecraft Console Client**.
### The list of the tutorials:
Installation:
- [Installation on Windows by Daenges](https://www.youtube.com/watch?v=BkCqOCa2uQw)
- [Installation on Windows + Auto AFK and More by Dexter113](https://www.youtube.com/watch?v=FxJ0KFIHDrY)
Using Commands, Scripts and other features:
- [Minecraft Console Client | Tutorial | Commands, Scripts, AppVars, Matches, Tasks and C# Scripts by Daenges](https://youtu.be/JbDpwwETEnU)
- [Console Client Tutorial - Scripting by Zixxter](https://www.youtube.com/watch?v=XE7rYBFJxn0)
## Getting Help
MCC has a community that is willing to help, we have a Discussions section in out Git Hub repository.
Click [here](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) to access it.
### Before getting help
- **Please use the search option here or in the discussion section and read the documentation so we avoid duplicate questions. Thank you!**
- **Please be kind and patient, respect others as they're the ones using their time to help you**
## Bugs, Ideas, Feature Requests
Bug reporting, idea submitting or feature requesting are done in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section of our [Github repository]([here](https://github.com/MCCTeam/Minecraft-Console-Client)).
Navigate to the Issues section, search for a bug, idea or a feature using the search option here in the documentation and in the `Issues` section on Git Hub before making your own.
If you haven't found anything similar, go ahead and click on the `New issue` button, then choose what you want to do.
If you're reporting a bug, please be descriptive as much as possible, try to explain how to re-create the bug, attack screenshots and logs, make sure that you have [`debugmessages`](configuration.me#debugmessages) set to `true` before sending a bug report or taking a screenshot.
### Before submitting
- **Please use the search option here or in the `Issues` section and read the documentation so we avoid duplicate questions/ideas/reports. Thank you!**
- **Please be kind, patient and respect others. Thank you!**
## Notes on some features
### Inventory, Terrain and Entity Handling
Inventory handling is currently not supported in versions: `1.4.6 - 1.9`
Terrain handling is currently not supported in versions: `1.4.6 - 1.6`
Entity handling is currently not supported in versions: `1.4.6 - 1.9` (but `1.8` and `1.9` are being worked on, almost at the working state, only `EntityMetadata` packet remains to be fixed)
There features might not always be implemented in the latest version of the game, since they're often subjected to major changes by Mojang, and we need some time to figure out what has changed and to implement the required changes.
If there was a major game update, and the MCC hasn't been updated to support these features, if you're a programmer, feel free to contribute to the project.
## Credits
_Project initiated by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/)._
Many features would not have been possible without the help of our talented community:
**Maintainers**
ORelio, ReinforceZwei, milutinke, BruceChenQAQ, bradbyte
**Ideas**
ambysdotnet, Awpocalypse, azoundria, bearbear12345, bSun0000, Cat7373, dagonzaros, Dids, Elvang, fuckofftwice, GeorgH93, initsuj, JamieSinn, joshbean39, LehmusFIN, maski, medxo, mobdon, MousePak, TNT-UP, TorchRJ, yayes2, Yoann166, ZizzyDizzyMC and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BIdea%5D+is%3Aopen).
**Bug Hunters**
1092CQ, ambysdotnet, bearbear12345, c0dei, Cat7373, Chtholly, Darkaegis, dbear20, DigitalSniperz, doranchak, drXor, FantomHD, gerik43, ibspa, iTzMrpitBull, JamieSinn, k3ldon, KenXeiko, link3321, lyze237, mattman00000, Nicconyancat, Pokechu22, ridgewell, Ryan6578, Solethia, TNT-UP, TorchRJ, TRTrident, WeedIsGood, xp9kus, Yoann166 and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BBUG%5D+is%3Aopen+).
**Contributors**
Allyoutoo, Aragas, Bancey, bearbear12345, corbanmailloux, Daenges, dbear20, dogwatch, initsuj, JamieSinn, justcool393, lokulin, maxpowa, medxo, milutinke, Pokechu22, ReinforceZwei, repository, TheMeq, TheSnoozer, vkorn, v1RuX, yunusemregul, ZizzyDizzyMC, BruceChenQAQ, bradbyte _... And all the [GitHub contributors](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors)!_
**Libraries:**
Minecraft Console Client also borrows code from the following libraries:
| Name | Purpose | Author | License |
| ----------- | ---------------- | ---------------- | ------- |
| Biko | Proxy handling | Benton Stark | MIT |
| Heijden.Dns | DNS SRV Lookup | Geoffrey Huntley | MIT |
| DotNetZip | Zlib compression | Dino Chiesa | MS-PL |
## Disclaimer
Even if everything should work, we are not responsible for any damage this app could cause to your computer or your server. This app does not steal your password. If you don't trust it, don't use it or check & compile from the source code.
Also, remember that when you connect to a server with this program, you will appear where you left the last time. This means that **you can die if you log in in an unsafe place on a survival server!** Use the script scheduler bot to send a teleport command after logging in.
We remind you that **you may get banned** by your server for using this program. Use accordingly with server rules.
## License
Minecraft Console Client is a totally free of charge, open source project. The source code is available at [Github Repository](https://github.com/MCCTeam/Minecraft-Console-Client)
Unless specifically stated, source code is from the MCC Team or Contributors, and available under CDDL-1.0. More info about CDDL-1.0: [http://qstuff.blogspot.fr/2007/04/why-cddl.html](http://qstuff.blogspot.fr/2007/04/why-cddl.html) Full license at [http://opensource.org/licenses/CDDL-1.0](http://opensource.org/licenses/CDDL-1.0)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,76 @@
# Contributing
At this moment this page needs to be created.
For now you can use our article from the [Git Hub repository Wiki](https://github.com/MCCTeam/Minecraft-Console-Client/wiki/Update-console-client-to-new-version) written by [ReinforceZwei](https://github.com/ReinforceZwei).
## Translations
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
* `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese
* `zh-Hans.ini` : 简体中文 - Chinese Simplified
* `zh-Hant.ini` : 繁體中文 - Chinese Traditional
### Add new translation
1. First you need to get the name of the translated file.
* Visit [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) and find the first occurrence of the language you need to translate in the table below.
* Use the language code of the row in the table as the name of the translation file.
* For example:
* `English` -> row `English 0x0009` -> `en` -> `en.ini`
* `Chinese (Traditional)` -> row `Chinese (Traditional) 0x7C04` -> `zh-Hant` -> `zh-Hant.ini`
2. Which system languages are recommended to use this translation?
* Still check the table in [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c), one language may have multiple rows.
* You will need to indicate which language codes this translation applies to.
* For example:
* Translation `de.ini` applies to `de`, `de-AT`, `de-BE`, `de-DE`, ...
* Translation `zh-Hans.ini` applies to `zh-Hans`, `zh`, `zh-CN`, `zh-SG`.
3. Which game languages are recommended to use this translation?
* Check out the table in [this link](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239), where the `Locale Code` column indicates the language code in minecraft.
* You will need to indicate which locale codes this translation applies to.
* For example:
* Translation `fr.ini` applies to `fr_ca`, `fr_fr`.
* Translation `zh-Hans.ini` applies to `zh_cn`.
4. Add the new translation to the code. (Optional)
* **If you are not familiar with programming, you can skip this step and just write the above information in your PR or issue.**
* Add the newly created translation file `xx.ini` to the project `/Resources/lang/xx.ini`.
* Open `/DefaultConfigResource.resx`.
* Click `Add Resources`.
* Choose `/Resources/lang/xx.ini`.
* Rename the added resource file in `/DefaultConfigResource.resx` to `Translation_xx`.
* Open `/Translations.cs`.
* Find `public static Tuple<string, string[]> GetTranslationPriority();`
* Update the mapping of system language codes to translation files.
* Find `public static string[] GetTranslationPriority(string gameLanguage);`
* Update the mapping of game locale code to translation files.
5. Follow the section "Update existing translation".
### Update existing translation
1. Visit [the lang folder](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang), download `en.ini` and the language you want to translate(`xx.ini`).
2. Compare `en.ini` and `xx.ini` and update outdated or non-existent entries in `xx.ini`.
3. Once you finished the translation work, submit a pull request or send us the file through an [Issue](https://github.com/MCCTeam/Minecraft-Console-Client/issues) in case you are not familiar with Git.
### Translate README.md
1. Get the English version of the README.md from [here](https://raw.githubusercontent.com/MCCTeam/Minecraft-Console-Client/master/README.md).
2. See `Add new translation -> 1.` for the target language code. Assume it is `xx`.
3. Complete the translation according to the English README.md and name the translated version as `README-xx.md`.
4. In the English README, above the "About" section, add the name of the language and a hyperlink to `README-xx.md`.
## Contributors
[Check out our contributors on Github](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors).

View file

@ -0,0 +1,186 @@
# Creating Chat Bots
- [Notes](#notes)
- [Requirements](#requirements)
- [Quick Introduction](#quick-introduction)
- [Examples](#examples)
- [C# API](#c#-api)
## Notes
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For now this page contains only the bare basics of the Chat Bot API, enough of details to teach you how to make basic Chat Bots. For more details you need to take a look at the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) and [Examples](#examples). This page will be improved in the future.**
</div>
**Minecraft Console Client** has a rich C# API which allows you to create Chat Bots (effectively plugins) which can help you create complex automations which normal scripts may not be able to do.
## Requirements
- A basic knowledge of C# programming language
- A text editor
If you're not familiar with the C# programming language, we suggest taking a look at the following resources:
Crash courses:
- [C# Crash Course playlist by Teddy Smit](https://www.youtube.com/watch?v=67oWw9TanOk&list=PL82C6-O4XrHfoN_Y4MwGvJz5BntiL0z0D)
More in-depth:
- [Learn C# Youtube Playlist by Microsoft](https://www.youtube.com/playlist?list=PLdo4fOcmZ0oVxKLQCHpiUWun7vlJJvUiN)
- [Getting started with C# (An index of tutorials and the documentation) by Microsoft](https://docs.microsoft.com/en-us/dotnet/csharp/)
## Quick Introduction
This introduction assumes that you have the basic knowledge of C#.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Here we will use terms Chat Bot and Script interchangeably**
</div>
Create a new empty file and name it `ExampleChatBot.cs` in the same folder where you have your MCC installed.
Paste the following example code:
```csharp
//MCCScript 1.0
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
// The code and comments above are defining a "Script Metadata" section
// Every single chat bot (script) must be a class which extends the ChatBot class.
// Your class must be instantiates in the "Script Metadata" section and passed to MCC.LoadBot function.
class ExampleChatBot : ChatBot
{
// This method will be called when the script has been initialized for the first time, it's called only once
// Here you can initialize variables, eg. Dictionaries. etc...
public override void Initialize()
{
LogToConsole("An example Chat Bot has been initialized!");
}
// This is a function that will be run when we get a chat message from a server
// In this example it just detects the type of the message and prints it out
public override void GetText(string text)
{
string message = "";
string username = "";
text = GetVerbatim(text);
if (IsPrivateMessage(text, ref message, ref username))
{
LogToConsole(username + " has sent you a private message: " + message);
}
else if (IsChatMessage(text, ref message, ref username))
{
LogToConsole(username + " has said: " + message);
}
}
}
```
Start MCC, connect to a server and run the following internal command: `/script ExampleChatBot.cs`.
If you did everything right you should see: `[Example Chat Bot] An example Chat Bot has been initialised!` message appear in your console log.
### Structure of Chat Bots
Chat Bot (Script) structure is the following:
```
<script metadata>
<chat bot class>
```
**Script Metadata** is a section with a custom format that mixes in C# with our format using comments. Every single Chat Bot (Script) must have this section at the beginning in order to work.
### Script Metadata Format
`//MCCScript 1.0` marks the beginning of the **Script Metadata** section, this must always be on the first line or the Chat Bot (Script) will not load and will throw an error.
`//MCCScript Extensions` marks the end of the **Script Metadata** section, this must be defined before a Chat Bot (Script) class.
In order for your Chat Bot (Script) to properly load in-between the `//MCCScript 1.0` and the `//MCCScript Extensions` lines you must instantiate your Chat Bot (Script) class and pass it to the `MCC.LoadBot` function.
Example code:
```
MCC.LoadBot(new YourChatBotClassNameHere());
```
**Script Metadata** section allows for including C# packages and libraries with: `//using <namespace>` and `/dll <dll name>`.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Avoid adding whitespace between `//` and keywords**
</div>
By the default the following packages are loaded:
```csharp
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Threading;
using MinecraftClient;
using MinecraftClient.Mapping;
using MinecraftClient.Inventory;
```
Example:
```csharp
//using System.Collections.Immutable
//dll MyDll.dll
```
Full Example:
```csharp
//MCCScript 1.0
//using System.Collections.Immutable
//dll MyDll.dll
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
```
### Chat Bot Class
After the end of the **Script Metadata** section, you basically can define any number of classes you like, the only limitation is that the main class of your Chat Bot (Script) must extend `ChatBot` class.
There are no required methods, everything is optional.
When the Chat Bot (Script) has been initialized for the first time the `Initialize` method will be called. In it you can initialize variables, eg. Dictionaries, etc..
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For allocating resources like a database connection, we recommend allocating them in `AfterGameJoined` and freeing them in `OnDisconnect`**
</div>.
## Examples
You can find a lot of examples in our Git Hub Repository at [ChatBots](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/ChatBots) and [config](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config).
## C# API
As of the time of writing, the C# API has been changed in forks that are yet to be merged, so for now you can use the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) for reference.
Each method is well documented with standard C# documentation comments.
In the future we will make a script to auto-generate this section based on the documentation in the code.

File diff suppressed because it is too large Load diff

1059
docs/l10n/el/guide/usage.md Normal file

File diff suppressed because it is too large Load diff

28
docs/l10n/es/README.md Normal file
View file

@ -0,0 +1,28 @@
---
home: true
heroImage: /images/MCC_logo_with_edge.png
tagline: 'Minecraft Console Client (MCC) is a lightweight open-source Minecraft Java client implemented in C#'
actions:
-
text: Installation
link: ./guide/installation.md
type: primary
-
text: Learn More →
link: ./guide/
type: secondary
actionText:
actionLink:
features:
-
title: Chat
details: Chat with other people on the server
-
title: Automation
details: Create bots to do automated tasks
-
title: Supported Versions
details: 1.4 - 1.19.2
footer: Made by MCC Team with ❤️
---

View file

@ -0,0 +1,163 @@
# Introduction
- [About](#about)
- [Quick Intro (YouTube Videos)](#quick-intro)
- [Features](#features)
- [Why Minecraft Console Client?](#why-minecraft-console-client)
- [Getting Help](#getting-help)
- [Submitting a bug report or an idea/feature-request](#bugs-ideas-feature-requests)
- [Important notes on some features](#notes-on-some-features)
- [Credits](#credits)
- [Disclaimer](#disclaimer)
- [License](#license)
## 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.
It also provides various automations that you can enable for administration and other purposes, as well as extensible C# API for creating Bots.
It was originally made by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/), now it's maintained by him and many other contributors from the community.
## Features
- Chat
- Send and receive chat messages
- [Log chat history](chat-bots.md#chat-log)
- [Get alerted on certain keywords](chat-bots.md#alerts)
- [Auto Respond](chat-bots.md#auto-respond)
- [Anti AFK](chat-bots.md#anti-afk)
- [Auto Relog](chat-bots.md#auto-relog)
- [Script Scheduler](chat-bots.md#script-scheduler)
- [Remote Control](chat-bots.md#remote-control)
- [Auto Respond](chat-bots.md#auto-respond)
- [Auto Attack](chat-bots.md#auto-attack)
- [Auto Fishing](chat-bots.md#auto-fishing)
- [Auto Eat](chat-bots.md#auto-eat)
- [Auto Craft](chat-bots.md#auto-craft)
- [Mailer Bot](chat-bots.md#mailer)
- [Auto Drop](chat-bots.md#auto-drop)
- [Replay Mod](chat-bots.md#replay-mod)
- [API for creating Bots in C#](creating-bots.md#creating-chat-bots)
- [Docker Support](installation.md#using-docker)
- [Inventory Handling](usage.md#inventory)
- [Terrain Traversing](usage.md#move)
- Entity Handling
_NOTE: Some of mentioned features are disabled by default and you will have to turn them on in the configuration file and some may require additional configuration on your part for your specific usage._
## Why Minecraft Console Client?
- Easy to use
- Helpful community
- Open-Source
- Fast performance
- Cross-Platform
- Docker Support
- 10 years of continuous development
- Active contributors
- Widely used
## Quick Intro
Don't have time to read through the documentation, we got you, our community has made some simple introduction videos about the **Minecraft Console Client**.
### The list of the tutorials:
Installation:
- [Installation on Windows by Daenges](https://www.youtube.com/watch?v=BkCqOCa2uQw)
- [Installation on Windows + Auto AFK and More by Dexter113](https://www.youtube.com/watch?v=FxJ0KFIHDrY)
Using Commands, Scripts and other features:
- [Minecraft Console Client | Tutorial | Commands, Scripts, AppVars, Matches, Tasks and C# Scripts by Daenges](https://youtu.be/JbDpwwETEnU)
- [Console Client Tutorial - Scripting by Zixxter](https://www.youtube.com/watch?v=XE7rYBFJxn0)
## Getting Help
MCC has a community that is willing to help, we have a Discussions section in out Git Hub repository.
Click [here](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) to access it.
### Before getting help
- **Please use the search option here or in the discussion section and read the documentation so we avoid duplicate questions. Thank you!**
- **Please be kind and patient, respect others as they're the ones using their time to help you**
## Bugs, Ideas, Feature Requests
Bug reporting, idea submitting or feature requesting are done in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section of our [Github repository]([here](https://github.com/MCCTeam/Minecraft-Console-Client)).
Navigate to the Issues section, search for a bug, idea or a feature using the search option here in the documentation and in the `Issues` section on Git Hub before making your own.
If you haven't found anything similar, go ahead and click on the `New issue` button, then choose what you want to do.
If you're reporting a bug, please be descriptive as much as possible, try to explain how to re-create the bug, attack screenshots and logs, make sure that you have [`debugmessages`](configuration.me#debugmessages) set to `true` before sending a bug report or taking a screenshot.
### Before submitting
- **Please use the search option here or in the `Issues` section and read the documentation so we avoid duplicate questions/ideas/reports. Thank you!**
- **Please be kind, patient and respect others. Thank you!**
## Notes on some features
### Inventory, Terrain and Entity Handling
Inventory handling is currently not supported in versions: `1.4.6 - 1.9`
Terrain handling is currently not supported in versions: `1.4.6 - 1.6`
Entity handling is currently not supported in versions: `1.4.6 - 1.9` (but `1.8` and `1.9` are being worked on, almost at the working state, only `EntityMetadata` packet remains to be fixed)
There features might not always be implemented in the latest version of the game, since they're often subjected to major changes by Mojang, and we need some time to figure out what has changed and to implement the required changes.
If there was a major game update, and the MCC hasn't been updated to support these features, if you're a programmer, feel free to contribute to the project.
## Credits
_Project initiated by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/)._
Many features would not have been possible without the help of our talented community:
**Maintainers**
ORelio, ReinforceZwei, milutinke, BruceChenQAQ, bradbyte
**Ideas**
ambysdotnet, Awpocalypse, azoundria, bearbear12345, bSun0000, Cat7373, dagonzaros, Dids, Elvang, fuckofftwice, GeorgH93, initsuj, JamieSinn, joshbean39, LehmusFIN, maski, medxo, mobdon, MousePak, TNT-UP, TorchRJ, yayes2, Yoann166, ZizzyDizzyMC and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BIdea%5D+is%3Aopen).
**Bug Hunters**
1092CQ, ambysdotnet, bearbear12345, c0dei, Cat7373, Chtholly, Darkaegis, dbear20, DigitalSniperz, doranchak, drXor, FantomHD, gerik43, ibspa, iTzMrpitBull, JamieSinn, k3ldon, KenXeiko, link3321, lyze237, mattman00000, Nicconyancat, Pokechu22, ridgewell, Ryan6578, Solethia, TNT-UP, TorchRJ, TRTrident, WeedIsGood, xp9kus, Yoann166 and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BBUG%5D+is%3Aopen+).
**Contributors**
Allyoutoo, Aragas, Bancey, bearbear12345, corbanmailloux, Daenges, dbear20, dogwatch, initsuj, JamieSinn, justcool393, lokulin, maxpowa, medxo, milutinke, Pokechu22, ReinforceZwei, repository, TheMeq, TheSnoozer, vkorn, v1RuX, yunusemregul, ZizzyDizzyMC, BruceChenQAQ, bradbyte _... And all the [GitHub contributors](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors)!_
**Libraries:**
Minecraft Console Client also borrows code from the following libraries:
| Name | Purpose | Author | License |
| ----------- | ---------------- | ---------------- | ------- |
| Biko | Proxy handling | Benton Stark | MIT |
| Heijden.Dns | DNS SRV Lookup | Geoffrey Huntley | MIT |
| DotNetZip | Zlib compression | Dino Chiesa | MS-PL |
## Disclaimer
Even if everything should work, we are not responsible for any damage this app could cause to your computer or your server. This app does not steal your password. If you don't trust it, don't use it or check & compile from the source code.
Also, remember that when you connect to a server with this program, you will appear where you left the last time. This means that **you can die if you log in in an unsafe place on a survival server!** Use the script scheduler bot to send a teleport command after logging in.
We remind you that **you may get banned** by your server for using this program. Use accordingly with server rules.
## License
Minecraft Console Client is a totally free of charge, open source project. The source code is available at [Github Repository](https://github.com/MCCTeam/Minecraft-Console-Client)
Unless specifically stated, source code is from the MCC Team or Contributors, and available under CDDL-1.0. More info about CDDL-1.0: [http://qstuff.blogspot.fr/2007/04/why-cddl.html](http://qstuff.blogspot.fr/2007/04/why-cddl.html) Full license at [http://opensource.org/licenses/CDDL-1.0](http://opensource.org/licenses/CDDL-1.0)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,76 @@
# Contributing
At this moment this page needs to be created.
For now you can use our article from the [Git Hub repository Wiki](https://github.com/MCCTeam/Minecraft-Console-Client/wiki/Update-console-client-to-new-version) written by [ReinforceZwei](https://github.com/ReinforceZwei).
## Translations
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
* `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese
* `zh-Hans.ini` : 简体中文 - Chinese Simplified
* `zh-Hant.ini` : 繁體中文 - Chinese Traditional
### Add new translation
1. First you need to get the name of the translated file.
* Visit [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) and find the first occurrence of the language you need to translate in the table below.
* Use the language code of the row in the table as the name of the translation file.
* For example:
* `English` -> row `English 0x0009` -> `en` -> `en.ini`
* `Chinese (Traditional)` -> row `Chinese (Traditional) 0x7C04` -> `zh-Hant` -> `zh-Hant.ini`
2. Which system languages are recommended to use this translation?
* Still check the table in [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c), one language may have multiple rows.
* You will need to indicate which language codes this translation applies to.
* For example:
* Translation `de.ini` applies to `de`, `de-AT`, `de-BE`, `de-DE`, ...
* Translation `zh-Hans.ini` applies to `zh-Hans`, `zh`, `zh-CN`, `zh-SG`.
3. Which game languages are recommended to use this translation?
* Check out the table in [this link](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239), where the `Locale Code` column indicates the language code in minecraft.
* You will need to indicate which locale codes this translation applies to.
* For example:
* Translation `fr.ini` applies to `fr_ca`, `fr_fr`.
* Translation `zh-Hans.ini` applies to `zh_cn`.
4. Add the new translation to the code. (Optional)
* **If you are not familiar with programming, you can skip this step and just write the above information in your PR or issue.**
* Add the newly created translation file `xx.ini` to the project `/Resources/lang/xx.ini`.
* Open `/DefaultConfigResource.resx`.
* Click `Add Resources`.
* Choose `/Resources/lang/xx.ini`.
* Rename the added resource file in `/DefaultConfigResource.resx` to `Translation_xx`.
* Open `/Translations.cs`.
* Find `public static Tuple<string, string[]> GetTranslationPriority();`
* Update the mapping of system language codes to translation files.
* Find `public static string[] GetTranslationPriority(string gameLanguage);`
* Update the mapping of game locale code to translation files.
5. Follow the section "Update existing translation".
### Update existing translation
1. Visit [the lang folder](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang), download `en.ini` and the language you want to translate(`xx.ini`).
2. Compare `en.ini` and `xx.ini` and update outdated or non-existent entries in `xx.ini`.
3. Once you finished the translation work, submit a pull request or send us the file through an [Issue](https://github.com/MCCTeam/Minecraft-Console-Client/issues) in case you are not familiar with Git.
### Translate README.md
1. Get the English version of the README.md from [here](https://raw.githubusercontent.com/MCCTeam/Minecraft-Console-Client/master/README.md).
2. See `Add new translation -> 1.` for the target language code. Assume it is `xx`.
3. Complete the translation according to the English README.md and name the translated version as `README-xx.md`.
4. In the English README, above the "About" section, add the name of the language and a hyperlink to `README-xx.md`.
## Contributors
[Check out our contributors on Github](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors).

View file

@ -0,0 +1,186 @@
# Creating Chat Bots
- [Notes](#notes)
- [Requirements](#requirements)
- [Quick Introduction](#quick-introduction)
- [Examples](#examples)
- [C# API](#c#-api)
## Notes
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For now this page contains only the bare basics of the Chat Bot API, enough of details to teach you how to make basic Chat Bots. For more details you need to take a look at the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) and [Examples](#examples). This page will be improved in the future.**
</div>
**Minecraft Console Client** has a rich C# API which allows you to create Chat Bots (effectively plugins) which can help you create complex automations which normal scripts may not be able to do.
## Requirements
- A basic knowledge of C# programming language
- A text editor
If you're not familiar with the C# programming language, we suggest taking a look at the following resources:
Crash courses:
- [C# Crash Course playlist by Teddy Smit](https://www.youtube.com/watch?v=67oWw9TanOk&list=PL82C6-O4XrHfoN_Y4MwGvJz5BntiL0z0D)
More in-depth:
- [Learn C# Youtube Playlist by Microsoft](https://www.youtube.com/playlist?list=PLdo4fOcmZ0oVxKLQCHpiUWun7vlJJvUiN)
- [Getting started with C# (An index of tutorials and the documentation) by Microsoft](https://docs.microsoft.com/en-us/dotnet/csharp/)
## Quick Introduction
This introduction assumes that you have the basic knowledge of C#.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Here we will use terms Chat Bot and Script interchangeably**
</div>
Create a new empty file and name it `ExampleChatBot.cs` in the same folder where you have your MCC installed.
Paste the following example code:
```csharp
//MCCScript 1.0
MCC. LoadBot(new ExampleChatBot());
//MCCScript Extensions
// The code and comments above are defining a "Script Metadata" section
// Every single chat bot (script) must be a class which extends the ChatBot class.
// Your class must be instantiates in the "Script Metadata" section and passed to MCC. LoadBot function.
class ExampleChatBot : ChatBot
{
// This method will be called when the script has been initialized for the first time, it's called only once
// Here you can initialize variables, eg. Dictionaries. etc...
public override void Initialize()
{
LogToConsole("An example Chat Bot has been initialized!");
}
// This is a function that will be run when we get a chat message from a server
// In this example it just detects the type of the message and prints it out
public override void GetText(string text)
{
string message = "";
string username = "";
text = GetVerbatim(text);
if (IsPrivateMessage(text, ref message, ref username))
{
LogToConsole(username + " has sent you a private message: " + message);
}
else if (IsChatMessage(text, ref message, ref username))
{
LogToConsole(username + " has said: " + message);
}
}
}
```
Start MCC, connect to a server and run the following internal command: `/script ExampleChatBot.cs`.
If you did everything right you should see: `[Example Chat Bot] An example Chat Bot has been initialised!` message appear in your console log.
### Structure of Chat Bots
Chat Bot (Script) structure is the following:
```
<script metadata>
<chat bot class>
```
**Script Metadata** is a section with a custom format that mixes in C# with our format using comments. Every single Chat Bot (Script) must have this section at the beginning in order to work.
### Script Metadata Format
`//MCCScript 1.0` marks the beginning of the **Script Metadata** section, this must always be on the first line or the Chat Bot (Script) will not load and will throw an error.
`//MCCScript Extensions` marks the end of the **Script Metadata** section, this must be defined before a Chat Bot (Script) class.
In order for your Chat Bot (Script) to properly load in-between the `//MCCScript 1.0` and the `//MCCScript Extensions` lines you must instantiate your Chat Bot (Script) class and pass it to the `MCC.LoadBot` function.
Example code:
```
MCC.LoadBot(new YourChatBotClassNameHere());
```
**Script Metadata** section allows for including C# packages and libraries with: `//using <namespace>` and `/dll <dll name>`.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Avoid adding whitespace between `//` and keywords**
</div>
By the default the following packages are loaded:
```csharp
using System;
using System. Collections.Generic;
using System. Text.RegularExpressions;
using System. Linq;
using System. Text;
using System. IO;
using System. Net;
using System. Threading;
using MinecraftClient;
using MinecraftClient. Mapping;
using MinecraftClient.
```
Example:
```csharp
//using System. Collections.Immutable
//dll MyDll.dll
```
Full Example:
```csharp
//MCCScript 1.0
//using System. Collections.Immutable
//dll MyDll.dll
MCC. LoadBot(new ExampleChatBot());
//MCCScript Extensions
```
### Chat Bot Class
After the end of the **Script Metadata** section, you basically can define any number of classes you like, the only limitation is that the main class of your Chat Bot (Script) must extend `ChatBot` class.
There are no required methods, everything is optional.
When the Chat Bot (Script) has been initialized for the first time the `Initialize` method will be called. In it you can initialize variables, eg. Dictionaries, etc..
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For allocating resources like a database connection, we recommend allocating them in `AfterGameJoined` and freeing them in `OnDisconnect`**
</div>.
## Examples
You can find a lot of examples in our Git Hub Repository at [ChatBots](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/ChatBots) and [config](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config).
## C# API
As of the time of writing, the C# API has been changed in forks that are yet to be merged, so for now you can use the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) for reference.
Each method is well documented with standard C# documentation comments.
In the future we will make a script to auto-generate this section based on the documentation in the code.

File diff suppressed because it is too large Load diff

1059
docs/l10n/es/guide/usage.md Normal file

File diff suppressed because it is too large Load diff

28
docs/l10n/fi/README.md Normal file
View file

@ -0,0 +1,28 @@
---
home: true
heroImage: /images/MCC_logo_with_edge.png
tagline: 'Minecraft Console Client (MCC) is a lightweight open-source Minecraft Java client implemented in C#'
actions:
-
text: Installation
link: ./guide/installation.md
type: primary
-
text: Learn More →
link: ./guide/
type: secondary
actionText:
actionLink:
features:
-
title: Chat
details: Chat with other people on the server
-
title: Automation
details: Create bots to do automated tasks
-
title: Supported Versions
details: 1.4 - 1.19.2
footer: Made by MCC Team with ❤️
---

View file

@ -0,0 +1,163 @@
# Introduction
- [About](#about)
- [Quick Intro (YouTube Videos)](#quick-intro)
- [Features](#features)
- [Why Minecraft Console Client?](#why-minecraft-console-client)
- [Getting Help](#getting-help)
- [Submitting a bug report or an idea/feature-request](#bugs-ideas-feature-requests)
- [Important notes on some features](#notes-on-some-features)
- [Credits](#credits)
- [Disclaimer](#disclaimer)
- [License](#license)
## 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.
It also provides various automations that you can enable for administration and other purposes, as well as extensible C# API for creating Bots.
It was originally made by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/), now it's maintained by him and many other contributors from the community.
## Features
- Chat
- Send and receive chat messages
- [Log chat history](chat-bots.md#chat-log)
- [Get alerted on certain keywords](chat-bots.md#alerts)
- [Auto Respond](chat-bots.md#auto-respond)
- [Anti AFK](chat-bots.md#anti-afk)
- [Auto Relog](chat-bots.md#auto-relog)
- [Script Scheduler](chat-bots.md#script-scheduler)
- [Remote Control](chat-bots.md#remote-control)
- [Auto Respond](chat-bots.md#auto-respond)
- [Auto Attack](chat-bots.md#auto-attack)
- [Auto Fishing](chat-bots.md#auto-fishing)
- [Auto Eat](chat-bots.md#auto-eat)
- [Auto Craft](chat-bots.md#auto-craft)
- [Mailer Bot](chat-bots.md#mailer)
- [Auto Drop](chat-bots.md#auto-drop)
- [Replay Mod](chat-bots.md#replay-mod)
- [API for creating Bots in C#](creating-bots.md#creating-chat-bots)
- [Docker Support](installation.md#using-docker)
- [Inventory Handling](usage.md#inventory)
- [Terrain Traversing](usage.md#move)
- Entity Handling
_NOTE: Some of mentioned features are disabled by default and you will have to turn them on in the configuration file and some may require additional configuration on your part for your specific usage._
## Why Minecraft Console Client?
- Easy to use
- Helpful community
- Open-Source
- Fast performance
- Cross-Platform
- Docker Support
- 10 years of continuous development
- Active contributors
- Widely used
## Quick Intro
Don't have time to read through the documentation, we got you, our community has made some simple introduction videos about the **Minecraft Console Client**.
### The list of the tutorials:
Installation:
- [Installation on Windows by Daenges](https://www.youtube.com/watch?v=BkCqOCa2uQw)
- [Installation on Windows + Auto AFK and More by Dexter113](https://www.youtube.com/watch?v=FxJ0KFIHDrY)
Using Commands, Scripts and other features:
- [Minecraft Console Client | Tutorial | Commands, Scripts, AppVars, Matches, Tasks and C# Scripts by Daenges](https://youtu.be/JbDpwwETEnU)
- [Console Client Tutorial - Scripting by Zixxter](https://www.youtube.com/watch?v=XE7rYBFJxn0)
## Getting Help
MCC has a community that is willing to help, we have a Discussions section in out Git Hub repository.
Click [here](https://github.com/MCCTeam/Minecraft-Console-Client/discussions) to access it.
### Before getting help
- **Please use the search option here or in the discussion section and read the documentation so we avoid duplicate questions. Thank you!**
- **Please be kind and patient, respect others as they're the ones using their time to help you**
## Bugs, Ideas, Feature Requests
Bug reporting, idea submitting or feature requesting are done in the [Issues](https://github.com/MCCTeam/Minecraft-Console-Client/issues) section of our [Github repository]([here](https://github.com/MCCTeam/Minecraft-Console-Client)).
Navigate to the Issues section, search for a bug, idea or a feature using the search option here in the documentation and in the `Issues` section on Git Hub before making your own.
If you haven't found anything similar, go ahead and click on the `New issue` button, then choose what you want to do.
If you're reporting a bug, please be descriptive as much as possible, try to explain how to re-create the bug, attack screenshots and logs, make sure that you have [`debugmessages`](configuration.me#debugmessages) set to `true` before sending a bug report or taking a screenshot.
### Before submitting
- **Please use the search option here or in the `Issues` section and read the documentation so we avoid duplicate questions/ideas/reports. Thank you!**
- **Please be kind, patient and respect others. Thank you!**
## Notes on some features
### Inventory, Terrain and Entity Handling
Inventory handling is currently not supported in versions: `1.4.6 - 1.9`
Terrain handling is currently not supported in versions: `1.4.6 - 1.6`
Entity handling is currently not supported in versions: `1.4.6 - 1.9` (but `1.8` and `1.9` are being worked on, almost at the working state, only `EntityMetadata` packet remains to be fixed)
There features might not always be implemented in the latest version of the game, since they're often subjected to major changes by Mojang, and we need some time to figure out what has changed and to implement the required changes.
If there was a major game update, and the MCC hasn't been updated to support these features, if you're a programmer, feel free to contribute to the project.
## Credits
_Project initiated by [ORelio](https://github.com/ORelio) in 2012 on the [Minecraft Forum](http://www.minecraftforum.net/topic/1314800-/)._
Many features would not have been possible without the help of our talented community:
**Maintainers**
ORelio, ReinforceZwei, milutinke, BruceChenQAQ, bradbyte
**Ideas**
ambysdotnet, Awpocalypse, azoundria, bearbear12345, bSun0000, Cat7373, dagonzaros, Dids, Elvang, fuckofftwice, GeorgH93, initsuj, JamieSinn, joshbean39, LehmusFIN, maski, medxo, mobdon, MousePak, TNT-UP, TorchRJ, yayes2, Yoann166, ZizzyDizzyMC and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BIdea%5D+is%3Aopen).
**Bug Hunters**
1092CQ, ambysdotnet, bearbear12345, c0dei, Cat7373, Chtholly, Darkaegis, dbear20, DigitalSniperz, doranchak, drXor, FantomHD, gerik43, ibspa, iTzMrpitBull, JamieSinn, k3ldon, KenXeiko, link3321, lyze237, mattman00000, Nicconyancat, Pokechu22, ridgewell, Ryan6578, Solethia, TNT-UP, TorchRJ, TRTrident, WeedIsGood, xp9kus, Yoann166 and [many more](https://github.com/MCCTeam/Minecraft-Console-Client/issues?q=is%3Aissue+%5BBUG%5D+is%3Aopen+).
**Contributors**
Allyoutoo, Aragas, Bancey, bearbear12345, corbanmailloux, Daenges, dbear20, dogwatch, initsuj, JamieSinn, justcool393, lokulin, maxpowa, medxo, milutinke, Pokechu22, ReinforceZwei, repository, TheMeq, TheSnoozer, vkorn, v1RuX, yunusemregul, ZizzyDizzyMC, BruceChenQAQ, bradbyte _... And all the [GitHub contributors](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors)!_
**Libraries:**
Minecraft Console Client also borrows code from the following libraries:
| Name | Purpose | Author | License |
| ----------- | ---------------- | ---------------- | ------- |
| Biko | Proxy handling | Benton Stark | MIT |
| Heijden.Dns | DNS SRV Lookup | Geoffrey Huntley | MIT |
| DotNetZip | Zlib compression | Dino Chiesa | MS-PL |
## Disclaimer
Even if everything should work, we are not responsible for any damage this app could cause to your computer or your server. This app does not steal your password. If you don't trust it, don't use it or check & compile from the source code.
Also, remember that when you connect to a server with this program, you will appear where you left the last time. This means that **you can die if you log in in an unsafe place on a survival server!** Use the script scheduler bot to send a teleport command after logging in.
We remind you that **you may get banned** by your server for using this program. Use accordingly with server rules.
## License
Minecraft Console Client is a totally free of charge, open source project. The source code is available at [Github Repository](https://github.com/MCCTeam/Minecraft-Console-Client)
Unless specifically stated, source code is from the MCC Team or Contributors, and available under CDDL-1.0. More info about CDDL-1.0: [http://qstuff.blogspot.fr/2007/04/why-cddl.html](http://qstuff.blogspot.fr/2007/04/why-cddl.html) Full license at [http://opensource.org/licenses/CDDL-1.0](http://opensource.org/licenses/CDDL-1.0)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,76 @@
# Contributing
At this moment this page needs to be created.
For now you can use our article from the [Git Hub repository Wiki](https://github.com/MCCTeam/Minecraft-Console-Client/wiki/Update-console-client-to-new-version) written by [ReinforceZwei](https://github.com/ReinforceZwei).
## Translations
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
* `vi.ini` : Tiếng Việt (Việt Nam) - Vietnamese
* `zh-Hans.ini` : 简体中文 - Chinese Simplified
* `zh-Hant.ini` : 繁體中文 - Chinese Traditional
### Add new translation
1. First you need to get the name of the translated file.
* Visit [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c) and find the first occurrence of the language you need to translate in the table below.
* Use the language code of the row in the table as the name of the translation file.
* For example:
* `English` -> row `English 0x0009` -> `en` -> `en.ini`
* `Chinese (Traditional)` -> row `Chinese (Traditional) 0x7C04` -> `zh-Hant` -> `zh-Hant.ini`
2. Which system languages are recommended to use this translation?
* Still check the table in [this link](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c), one language may have multiple rows.
* You will need to indicate which language codes this translation applies to.
* For example:
* Translation `de.ini` applies to `de`, `de-AT`, `de-BE`, `de-DE`, ...
* Translation `zh-Hans.ini` applies to `zh-Hans`, `zh`, `zh-CN`, `zh-SG`.
3. Which game languages are recommended to use this translation?
* Check out the table in [this link](https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239), where the `Locale Code` column indicates the language code in minecraft.
* You will need to indicate which locale codes this translation applies to.
* For example:
* Translation `fr.ini` applies to `fr_ca`, `fr_fr`.
* Translation `zh-Hans.ini` applies to `zh_cn`.
4. Add the new translation to the code. (Optional)
* **If you are not familiar with programming, you can skip this step and just write the above information in your PR or issue.**
* Add the newly created translation file `xx.ini` to the project `/Resources/lang/xx.ini`.
* Open `/DefaultConfigResource.resx`.
* Click `Add Resources`.
* Choose `/Resources/lang/xx.ini`.
* Rename the added resource file in `/DefaultConfigResource.resx` to `Translation_xx`.
* Open `/Translations.cs`.
* Find `public static Tuple<string, string[]> GetTranslationPriority();`
* Update the mapping of system language codes to translation files.
* Find `public static string[] GetTranslationPriority(string gameLanguage);`
* Update the mapping of game locale code to translation files.
5. Follow the section "Update existing translation".
### Update existing translation
1. Visit [the lang folder](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/Resources/lang), download `en.ini` and the language you want to translate(`xx.ini`).
2. Compare `en.ini` and `xx.ini` and update outdated or non-existent entries in `xx.ini`.
3. Once you finished the translation work, submit a pull request or send us the file through an [Issue](https://github.com/MCCTeam/Minecraft-Console-Client/issues) in case you are not familiar with Git.
### Translate README.md
1. Get the English version of the README.md from [here](https://raw.githubusercontent.com/MCCTeam/Minecraft-Console-Client/master/README.md).
2. See `Add new translation -> 1.` for the target language code. Assume it is `xx`.
3. Complete the translation according to the English README.md and name the translated version as `README-xx.md`.
4. In the English README, above the "About" section, add the name of the language and a hyperlink to `README-xx.md`.
## Contributors
[Check out our contributors on Github](https://github.com/MCCTeam/Minecraft-Console-Client/graphs/contributors).

View file

@ -0,0 +1,186 @@
# Creating Chat Bots
- [Notes](#notes)
- [Requirements](#requirements)
- [Quick Introduction](#quick-introduction)
- [Examples](#examples)
- [C# API](#c#-api)
## Notes
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For now this page contains only the bare basics of the Chat Bot API, enough of details to teach you how to make basic Chat Bots. For more details you need to take a look at the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) and [Examples](#examples). This page will be improved in the future.**
</div>
**Minecraft Console Client** has a rich C# API which allows you to create Chat Bots (effectively plugins) which can help you create complex automations which normal scripts may not be able to do.
## Requirements
- A basic knowledge of C# programming language
- A text editor
If you're not familiar with the C# programming language, we suggest taking a look at the following resources:
Crash courses:
- [C# Crash Course playlist by Teddy Smit](https://www.youtube.com/watch?v=67oWw9TanOk&list=PL82C6-O4XrHfoN_Y4MwGvJz5BntiL0z0D)
More in-depth:
- [Learn C# Youtube Playlist by Microsoft](https://www.youtube.com/playlist?list=PLdo4fOcmZ0oVxKLQCHpiUWun7vlJJvUiN)
- [Getting started with C# (An index of tutorials and the documentation) by Microsoft](https://docs.microsoft.com/en-us/dotnet/csharp/)
## Quick Introduction
This introduction assumes that you have the basic knowledge of C#.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Here we will use terms Chat Bot and Script interchangeably**
</div>
Create a new empty file and name it `ExampleChatBot.cs` in the same folder where you have your MCC installed.
Paste the following example code:
```csharp
//MCCScript 1.0
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
// The code and comments above are defining a "Script Metadata" section
// Every single chat bot (script) must be a class which extends the ChatBot class.
// Your class must be instantiates in the "Script Metadata" section and passed to MCC.LoadBot function.
class ExampleChatBot : ChatBot
{
// This method will be called when the script has been initialized for the first time, it's called only once
// Here you can initialize variables, eg. Dictionaries. etc...
public override void Initialize()
{
LogToConsole("An example Chat Bot has been initialized!");
}
// This is a function that will be run when we get a chat message from a server
// In this example it just detects the type of the message and prints it out
public override void GetText(string text)
{
string message = "";
string username = "";
text = GetVerbatim(text);
if (IsPrivateMessage(text, ref message, ref username))
{
LogToConsole(username + " has sent you a private message: " + message);
}
else if (IsChatMessage(text, ref message, ref username))
{
LogToConsole(username + " has said: " + message);
}
}
}
```
Start MCC, connect to a server and run the following internal command: `/script ExampleChatBot.cs`.
If you did everything right you should see: `[Example Chat Bot] An example Chat Bot has been initialised!` message appear in your console log.
### Structure of Chat Bots
Chat Bot (Script) structure is the following:
```
<script metadata>
<chat bot class>
```
**Script Metadata** is a section with a custom format that mixes in C# with our format using comments. Every single Chat Bot (Script) must have this section at the beginning in order to work.
### Script Metadata Format
`//MCCScript 1.0` marks the beginning of the **Script Metadata** section, this must always be on the first line or the Chat Bot (Script) will not load and will throw an error.
`//MCCScript Extensions` marks the end of the **Script Metadata** section, this must be defined before a Chat Bot (Script) class.
In order for your Chat Bot (Script) to properly load in-between the `//MCCScript 1.0` and the `//MCCScript Extensions` lines you must instantiate your Chat Bot (Script) class and pass it to the `MCC.LoadBot` function.
Example code:
```
MCC.LoadBot(new YourChatBotClassNameHere());
```
**Script Metadata** section allows for including C# packages and libraries with: `//using <namespace>` and `/dll <dll name>`.
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**Avoid adding whitespace between `//` and keywords**
</div>
By the default the following packages are loaded:
```csharp
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Threading;
using MinecraftClient;
using MinecraftClient.Mapping;
using MinecraftClient.Inventory;
```
Example:
```csharp
//using System.Collections.Immutable
//dll MyDll.dll
```
Full Example:
```csharp
//MCCScript 1.0
//using System.Collections.Immutable
//dll MyDll.dll
MCC.LoadBot(new ExampleChatBot());
//MCCScript Extensions
```
### Chat Bot Class
After the end of the **Script Metadata** section, you basically can define any number of classes you like, the only limitation is that the main class of your Chat Bot (Script) must extend `ChatBot` class.
There are no required methods, everything is optional.
When the Chat Bot (Script) has been initialized for the first time the `Initialize` method will be called. In it you can initialize variables, eg. Dictionaries, etc..
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**For allocating resources like a database connection, we recommend allocating them in `AfterGameJoined` and freeing them in `OnDisconnect`**
</div>.
## Examples
You can find a lot of examples in our Git Hub Repository at [ChatBots](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/ChatBots) and [config](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config).
## C# API
As of the time of writing, the C# API has been changed in forks that are yet to be merged, so for now you can use the [ChatBot.cs](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Scripting/ChatBot.cs) for reference.
Each method is well documented with standard C# documentation comments.
In the future we will make a script to auto-generate this section based on the documentation in the code.

Some files were not shown because too many files have changed in this diff Show more