MCCTeam / Minecraft-Console-Client

Lightweight console for Minecraft chat and automated scripts
https://mccteam.github.io
Other
1.62k stars 391 forks source link

[BUG] instant & random crash MCC. #2296

Closed SwiftExplorer567 closed 1 year ago

SwiftExplorer567 commented 1 year ago

Prerequisites

Minecraft Version

1.19.2

Console Client Version

20221022-123

Expected Behavior

not to crash randomly.

Actual Behavior

randomly exe closes.

Steps to Reproduce the bug

  1. login server
  2. enter /login pass. then /survival.
  3. stay afk & do nothing till pc shutsdown.

Attach screenshot here (If applicable)

No response

Anythings that could help diagnosing the bug

CONSOLE LOG:
2022-10-22 03:15:45 OnTextReceived: Got error from MinecraftClient.ChatBots.DiscordBridge: System.AggregateException: One or more errors occurred. (Message content must not be empty.)
 ---> System.ArgumentException: Message content must not be empty.
   at DSharpPlus.Net.DiscordApiClient.CreateMessageAsync(UInt64 channel_id, String content, IEnumerable`1 embeds, Nullable`1 replyMessageId, Boolean mentionReply, Boolean failOnInvalidReply)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at MinecraftClient.ChatBots.DiscordBridge.GetText(String text)
   at MinecraftClient.McClient.DispatchBotEvent(Action`1 action, IEnumerable`1 botList)
2022-10-22 03:15:45   <0_Denizort_0>    • 0_Denizort_0: çaylak oldum la
2022-10-22 03:15:50   <Sharingan>  SadoMazo |  • Sharingan: haahaahhah
2022-10-22 03:15:51 {"text":""}
2022-10-22 03:15:51  ● ⎟ Oyuncu Slyleight, Console tarafından atıldı
2022-10-22 03:15:51  ● ⎟ Sebep: KillAura hilesi kullandığı için atıldı
2022-10-22 03:15:52   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: afk tagı var bro
2022-10-22 03:15:53   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: alo yazman
2022-10-22 03:16:00   <CD123>  SadoMazo |  • CD123: ScarlettPhoenix hakaret nerde var la
2022-10-22 03:16:01 [Duyuru] Balık tutarak para ve entropi kazanmak için /fish menu komutunu kullanabilirsiniz
2022-10-22 03:16:10   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: 'mal mısın'
2022-10-22 03:16:23   <CD123>  SadoMazo |  • CD123: knk arkadaşız
2022-10-22 03:16:28   <SahteGamer3137>    • SahteGamer3137: ee
2022-10-22 03:16:29   <CD123>  SadoMazo |  • CD123: 3 ümüzde
2022-10-22 03:16:31 [Duyuru] Oy vererek sunucuya destek olabilir, çeşitli ödüller kazanabilirsiniz. Oy vermek için /vote yazabilirsiniz
2022-10-22 03:16:37   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: kanka arkadaşsanız
2022-10-22 03:16:39   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: seste yada
2022-10-22 03:16:41   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: team chatte
2022-10-22 03:16:42 [Piyango] ▸ Katılım olmadığından kazanan olmadı!
2022-10-22 03:16:43   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: yapın
2022-10-22 03:16:50   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: özel seste*
2022-10-22 03:16:58 [+] Slyleight, oyuna giriş yaptı
2022-10-22 03:17:01 [Duyuru] /vipsüre yazarak kalan vip sürenizi öğrenebilirsiniz
2022-10-22 03:17:19   <CD123>  SadoMazo |  • CD123: ScarlettPhoenix kısaltma küfüre 15dk mlmısına 1 saat mute atılıyo knk doğrumu
2022-10-22 03:17:23   <broken303>  Ghost |  • broken303: pw nasıl siliniyo
2022-10-22 03:17:28   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: CD123
2022-10-22 03:17:31   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: kısaltma küfür
2022-10-22 03:17:31 [Duyuru] 29 Ekim Cumhuriyet Bayramına özel %50 Bonus Kredi Etkinliği sizlerle! Kredi yüklemelerinizde %50 bonus kredi kazanabilirsiniz.
2022-10-22 03:17:34   <CD123>  SadoMazo |  • CD123: evet
2022-10-22 03:17:35   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: birine edilmediği sürece
2022-10-22 03:17:37   <ScarlettPhoenix>  ModZ |  • ScarlettPhoenix: 15 dk
2022-10-22 03:17:37   <EfehanBalci>    • EfehanBalci: altın küerk kimde var
2022-10-22 03:17:39   <Sharingan>  SadoMazo |  • Sharingan: vay amk
2022-10-22 03:17:47   <CD123>  SadoMazo |  • CD123: :D
2022-10-22 03:17:58 
2022-10-22 03:17:58 OnTextReceived: Got error from MinecraftClient.ChatBots.DiscordBridge: System.AggregateException: One or more errors occurred. (Message content must not be empty.)
 ---> System.ArgumentException: Message content must not be empty.
   at DSharpPlus.Net.DiscordApiClient.CreateMessageAsync(UInt64 channel_id, String content, IEnumerable`1 embeds, Nullable`1 replyMessageId, Boolean mentionReply, Boolean failOnInvalidReply)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at MinecraftClient.ChatBots.DiscordBridge.GetText(String text)
   at MinecraftClient.McClient.DispatchBotEvent(Action`1 action, IEnumerable`1 botList)
2022-10-22 03:17:58  ● ⎟ Sharingan, ScarlettPhoenix tarafından susturuldu
2022-10-22 03:17:58  ● ⎟ Sebep: Kısaltma Küfür
2022-10-22 03:17:58  ● ⎟ Süre: 15 dakika
2022-10-22 03:17:59 
2022-10-22 03:17:59 OnTextReceived: Got error from MinecraftClient.ChatBots.DiscordBridge: System.AggregateException: One or more errors occurred. (Message content must not be empty.)
 ---> System.ArgumentException: Message content must not be empty.
   at DSharpPlus.Net.DiscordApiClient.CreateMessageAsync(UInt64 channel_id, String content, IEnumerable`1 embeds, Nullable`1 replyMessageId, Boolean mentionReply, Boolean failOnInvalidReply)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at MinecraftClient.ChatBots.DiscordBridge.GetText(String text)
   at MinecraftClient.McClient.DispatchBotEvent(Action`1 action, IEnumerable`1 botList)

MCC SETTINGS:
# Startup Config File
# Please do not record extraneous data in this file as it will be overwritten by MCC.

# New to Minecraft Console Client? Check out this document: https://mccteam.github.io/guide/configuration.html
# Want to upgrade to a newer version? See https://github.com/MCCTeam/Minecraft-Console-Client/#download
[Head]
"Current Version" = "GitHub build 123, built on 2022-10-22 from commit c49544e"
"Latest Version" = "GitHub build 124, built on 2022-10-22"

[Main]
[Main.General]
Account = { Login = "AnnaMarieMirage", Password = "-" } # Login=Email or Name. Use "-" as password for offline mode. Leave blank to prompt user on startup.
Server = { Host = "play.mc4fun.net" }       # The address of the game server, "Host" can be filled in with domain name or IP address. (The "Port" field can be deleted, it will be resolved automatically)
AccountType = "microsoft"                   # Account type: "mojang" OR "microsoft". Also affects interactive login in console.
Method = "mcc"                              # Microsoft Account sign-in method: "mcc" OR "browser". If the login always fails, please try to use the "browser" once.

# Make sure you understand what each setting does before changing anything!
[Main.Advanced]
Language = "en_gb"                          # Fill in with in-game locale code, check https://github.com/MCCTeam/Minecraft-Console-Client/discussions/2239
ConsoleTitle = "%username%@%serverip% - Minecraft Console Client"
InternalCmdChar = "slash"                   # Use "none", "slash"(/) or "backslash"(\).
MessageCooldown = 1.0                       # Controls the minimum interval (in seconds) between sending each message to the server.
BotOwners = [ "player1", "player2", ]       # Set the owner of the bot. /!\ Server admins can impersonate owners!
MinecraftVersion = "auto"                   # Use "auto" or "1.X.X" values. Allows to skip server info retrieval.
EnableForge = "auto"                        # Use "auto", "no" or "force". Force-enabling only works for MC 1.13+.
BrandInfo = "mcc"                           # Use "mcc", "vanilla" or "none". This is how MCC identifies itself to the server.
ChatbotLogFile = ""                         # Leave empty for no logfile.
PrivateMsgsCmdName = "tell"                 # For remote control of the bot.
ShowSystemMessages = true                   # System messages for server ops.
ShowXPBarMessages = true                    # Messages displayed above xp bar, set this to false in case of xp bar spam.
ShowChatLinks = true                        # Decode links embedded in chat messages and show them in console.
ShowInventoryLayout = true                  # Show inventory layout as ASCII art in inventory command.
TerrainAndMovements = false                 # Uses more ram, cpu, bandwidth but allows you to move around.
MoveHeadWhileWalking = true                 # Enable head movement while walking to avoid anti-cheat triggers.
MovementSpeed = 2                           # A movement speed higher than 2 may be considered cheating.
InventoryHandling = true                    # Toggle inventory handling.
EntityHandling = false                      # Toggle entity handling.
SessionCache = "disk"                       # How to retain session tokens. Use "none", "memory" or "disk".
ProfileKeyCache = "disk"                    # How to retain profile key. Use "none", "memory" or "disk".
ResolveSrvRecords = "fast"                  # Use "no", "fast" (5s timeout), or "yes". Required for joining some servers.
PlayerHeadAsIcon = true                     # Only works on Windows XP-8 or Windows 10 with old console.
ExitOnFailure = false                       # Whether to exit directly when an error occurs, for using MCC in non-interactive scripts.
CacheScript = true                          # Cache compiled scripts for faster load on low-end devices.
Timestamps = true                           # Prepend timestamps to chat messages.
AutoRespawn = false                         # Toggle auto respawn if client player was dead (make sure your spawn point is safe).
MinecraftRealms = false                     # Enable support for joining Minecraft Realms worlds.
TcpTimeout = 30                             # Customize the TCP connection timeout with the server. (in seconds)
EnableEmoji = true                          # If turned off, the emoji will be replaced with a simpler character (for /chunk status).
TerminalColorDepth = "bit_24"               # Use "none", "bit_4", "bit_8" or "bit_24". This can be checked by opening the debug log.
MinTerminalWidth = 16                       # The minimum width used when calculating the image size from the width of the terminal.
MinTerminalHeight = 10                      # The minimum height to use when calculating the image size from the height of the terminal.
# AccountList: It allows a fast account switching without directly using the credentials
# Usage examples: "/tell <mybot> reco Player2", "/connect <serverip> Player1"
[Main.Advanced.AccountList]
AccountNikename1 = { Login = "playerone@email.com", Password = "thepassword" }
AccountNikename2 = { Login = "TestBot", Password = "-" }

# ServerList: It allows an easier and faster server switching with short aliases instead of full server IP
# Aliases cannot contain dots or spaces, and the name "localhost" cannot be used as an alias.
# Usage examples: "/tell <mybot> connect Server1", "/connect Server2"
[Main.Advanced.ServerList]
ServerAlias1 = { Host = "mc.awesomeserver.com" }
ServerAlias2 = { Host = "192.168.1.27", Port = 12345 }

# Chat signature related settings (affects minecraft 1.19+)
[Signature]
LoginWithSecureProfile = true               # Microsoft accounts only. If disabled, will not be able to sign chat and join servers configured with "enforce-secure-profile=true"
SignChat = true                             # Whether to sign the chat send from MCC
SignMessageInCommand = true                 # Whether to sign the messages contained in the commands sent by MCC. For example, the message in "/msg" and "/me"
MarkLegallySignedMsg = false                # Use green  color block to mark chat with legitimate signatures
MarkModifiedMsg = true                      # Use yellow color block to mark chat that have been modified by the server.
MarkIllegallySignedMsg = true               # Use red    color block to mark chat without legitimate signature
MarkSystemMessage = false                   # Use gray   color block to mark system message (always without signature)
ShowModifiedChat = true                     # Set to true to display messages modified by the server, false to display the original signed messages
ShowIllegalSignedChat = true                # Whether to display chat and messages in commands without legal signatures

# This setting affects only the messages in the console.
[Logging]
DebugMessages = true                        # Please enable this before submitting bug reports. Thanks!
ChatMessages = true                         # Show server chat messages.
InfoMessages = true                         # Informative messages. (i.e Most of the message from MCC)
WarningMessages = true                      # Show warning messages.
ErrorMessages = true                        # Show error messages.
ChatFilterRegex = ".*"                      # Regex for filtering chat message.
DebugFilterRegex = ".*"                     # Regex for filtering debug message.
FilterMode = "disable"                      # "disable" or "blacklist" OR "whitelist". Blacklist hide message match regex. Whitelist show message match regex.
LogToFile = true                            # Write log messages to file.
LogFile = "console-log.txt"                 # Log file name.
PrependTimestamp = true                     # Prepend timestamp to messages in log file.
SaveColorCodes = false                      # Keep color codes in the saved text.(look like "§b")

[AppVar]
# can be used in some other fields as %yourvar%
# %username% and %serverip% are reserved variables.
[AppVar.VarStirng]
your_var = "your_value"
"your var 2" = "your value 2"

# Connect to a server via a proxy instead of connecting directly
# If Mojang session services are blocked on your network, set Enabled_Login=true to login using proxy.
# If the connection to the Minecraft game server is blocked by the firewall, set Enabled_Ingame=true to use a proxy to connect to the game server.
# /!\ Make sure your server rules allow Proxies or VPNs before setting enabled=true, or you may face consequences!
[Proxy]
Enabled_Login = false                       # Whether to connect to the login server through a proxy.
Enabled_Ingame = false                      # Whether to connect to the game server through a proxy.
Server = { Host = "0.0.0.0", Port = 8080 }  # Proxy server must allow HTTPS for login, and non-443 ports for playing.
Proxy_Type = "HTTP"                         # Supported types: "HTTP", "SOCKS4", "SOCKS4a", "SOCKS5".
Username = ""                               # Only required for password-protected proxies.
Password = ""                               # Only required for password-protected proxies.

# Settings below are sent to the server and only affect server-side things like your skin.
[MCSettings]
Enabled = true                              # If disabled, settings below are not sent to the server.
Locale = "en_US"                            # Use any language implemented in Minecraft.
RenderDistance = 8                          # Value range: [0 - 255].
Difficulty = "peaceful"                     # MC 1.7- difficulty. "peaceful", "easy", "normal", "difficult".
ChatMode = "enabled"                        # Use "enabled", "commands", or "disabled". Allows to mute yourself...
ChatColors = true                           # Allows disabling chat colors server-side.
MainHand = "left"                           # MC 1.9+ main hand. "left" or "right".
[MCSettings.Skin]
Cape = true
Hat = true
Jacket = false
Sleeve_Left = false
Sleeve_Right = false
Pants_Left = false
Pants_Right = false

# MCC does it best to detect chat messages, but some server have unusual chat formats
# When this happens, you'll need to configure chat format below, see https://mccteam.github.io/guide/configuration.html#chat-format
[ChatFormat]
Builtins = true                             # MCC support for common message formats. Set "false" to avoid conflicts with custom formats.
UserDefined = false                         # Whether to use the custom regular expressions below for detection.
Public = "^<([a-zA-Z0-9_]+)> (.+)$"
Private = "^([a-zA-Z0-9_]+) whispers to you: (.+)$"
TeleportRequest = '^([a-zA-Z0-9_]+) has requested (?:to|that you) teleport to (?:you|them)\.$'

# =============================== #
#  Minecraft Console Client Bots  #
# =============================== #
[ChatBot]
# Get alerted when specified words are detected in chat
# Useful for moderating your server or detecting when someone is talking to you
[ChatBot.Alerts]
Enabled = true
Beep_Enabled = true                         # Play a beep sound when a word is detected in addition to highlighting.
Trigger_By_Words = false                    # Triggers an alert after receiving a specified keyword.
Trigger_By_Rain = false                     # Trigger alerts when it rains and when it stops.
Trigger_By_Thunderstorm = false             # Triggers alerts at the beginning and end of thunderstorms.
Log_To_File = false                         # Log alerts info a file.
Log_File = "alerts-log.txt"                 # The name of a file where alers logs will be written.
# List of words/strings to alert you on.
Matches = [ "Yourname", " whispers ", "-> me", "admin", ".com", ]
# List of words/strings to NOT alert you on.
Excludes = [ "myserver.com", "Yourname>:", "Player Yourname", "Yourname joined", "Yourname left", "[Lockette] (Admin)", " Yourname:", "Yourname is", ]

# Send a command on a regular or random basis or make the bot walk around randomly to avoid automatic AFK disconnection
# /!\ Make sure your server rules do not forbid anti-AFK mechanisms!
# /!\ Make sure you keep the bot in an enclosure to prevent it wandering off if you're using terrain handling! (Recommended size 5x5x5)
[ChatBot.AntiAFK]
Enabled = false
Delay = { min = 3.0, max = 5.0 }            # The time interval for execution. (in seconds)
Command = "s"                               # Command to send to the server.
Use_Sneak = false                           # Whether to sneak when sending the command.
Use_Terrain_Handling = false                # Use terrain handling to enable the bot to move around.
Walk_Range = 5                              # The range the bot can move around randomly (Note: the bigger the range, the slower the bot will be)
Walk_Retries = 0                            # How many times can the bot fail trying to move before using the command method.

# Automatically attack hostile mobs around you
# You need to enable Entity Handling to use this bot
# /!\ Make sure server rules allow your planned use of AutoAttack
# /!\ SERVER PLUGINS may consider AutoAttack to be a CHEAT MOD and TAKE ACTION AGAINST YOUR ACCOUNT so DOUBLE CHECK WITH SERVER RULES!
[ChatBot.AutoAttack]
Enabled = false
Mode = "single"                             # "single" or "multi". single target one mob per attack. multi target all mobs in range per attack
Priority = "distance"                       # "health" or "distance". Only needed when using single mode
Cooldown_Time = { Custom = false, value = 1.0 } # How long to wait between each attack. Set "Custom = false" to let MCC calculate it.
Interaction = "Attack"                      # Possible values: "Interact", "Attack" (default), "InteractAt" (Interact and Attack).
Attack_Hostile = true                       # Allow attacking hostile mobs.
Attack_Passive = false                      # Allow attacking passive mobs.
List_Mode = "whitelist"                     # Wether to treat the entities list as a "whitelist" or as a "blacklist".
Entites_List = [ "Zombie", "Cow", ]         # All entity types can be found here: https://bit.ly/3Rg68lp

# Automatically craft items in your inventory
# See https://mccteam.github.io/guide/chat-bots.html#auto-craft for how to use
# You need to enable Inventory Handling to use this bot
# You should also enable Terrain and Movements if you need to use a crafting table
[ChatBot.AutoCraft]
Enabled = true
CraftingTable = { X = -4611.0, Y = 59.0, Z = -1090.0 } # Location of the crafting table if you intended to use it. Terrain and movements must be enabled.
OnFailure = "abort"                         # What to do on crafting failure, "abort" or "wait".
# Recipes.Name: The name can be whatever you like and it is used to represent the recipe.
# Recipes.Type: crafting table type: "player" or "table"
# Recipes.Result: the resulting item
# Recipes.Slots: All slots, counting from left to right, top to bottom. Please fill in "Null" for empty slots.
# For the naming of the items, please see:
# https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs

[[ChatBot.AutoCraft.Recipes]]
Name = "farm"
Type = "table"
Result = "MelonSeeds"
Slots = [ "MelonSlice", "Null", "Null", "Null", "Null", "Null", "Null", "Null", "Null", ]

[[ChatBot.AutoCraft.Recipes]]
Name = "Recipe-Name-2"
Type = "table"
Result = "StoneBricks"
Slots = [ "Stone", "Stone", "Null", "Stone", "Stone", "Null", "Null", "Null", "Null", ]

# Auto-digging blocks.
# You need to enable Terrain Handling to use this bot
# You can use "/digbot start" and "/digbot stop" to control the start and stop of AutoDig.
# Since MCC does not yet support accurate calculation of the collision volume of blocks, all blocks are considered as complete cubes when obtaining the position of the lookahead.
# For the naming of the block, please see https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Mapping/Material.cs
[ChatBot.AutoDig]
Enabled = false
Mode = "lookat"                             # "lookat", "fixedpos" or "both". Digging the block being looked at, the block in a fixed position, or the block that needs to be all met.
Locations = [
    { x = 123.5, y = 64.0, z = 234.5 },
    { x = 124.5, y = 63.0, z = 235.5 },
]                                           # The position of the blocks when using "fixedpos" or "both" mode.
Location_Order = "distance"                 # "distance" or "index", When using the "fixedpos" mode, the blocks are determined by distance to the player, or by the order in the list.
Auto_Start_Delay = 3.0                      # How many seconds to wait after entering the game to start digging automatically, set to -1 to disable automatic start.
Dig_Timeout = 60.0                          # Mining a block for more than "Dig_Timeout" seconds will be considered a timeout.
Log_Block_Dig = true                        # Whether to output logs when digging blocks.
List_Type = "whitelist"                     # Wether to treat the blocks list as a "whitelist" or as a "blacklist".
Blocks = [ "Cobblestone", "Stone", ]

# Automatically drop items in inventory
# You need to enable Inventory Handling to use this bot
# See this file for an up-to-date list of item types you can use with this bot:
# https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/Inventory/ItemType.cs
[ChatBot.AutoDrop]
Enabled = true
Mode = "exclude"                            # "include", "exclude" or "everything". Include: drop item IN the list. Exclude: drop item NOT IN the list
Items = [ "MelonSlice", ]

# Automatically eat food when your Hunger value is low
# You need to enable Inventory Handling to use this bot
[ChatBot.AutoEat]
Enabled = false
Threshold = 6

# Automatically catch fish using a fishing rod
# Guide: https://mccteam.github.io/guide/chat-bots.html#auto-fishing
# You can use "/fish" to control the bot manually.
# /!\ Make sure server rules allow automated farming before using this bot
[ChatBot.AutoFishing]
Enabled = false
Antidespawn = false                         # Keep it as false if you have not changed it before.
Mainhand = true                             # Use the mainhand or the offhand to hold the rod.
Auto_Start = true                           # Whether to start fishing automatically after entering a world.
Cast_Delay = 0.4                            # How soon to re-cast after successful fishing.
Fishing_Delay = 3.0                         # How long after entering the game to start fishing (seconds).
Fishing_Timeout = 300.0                     # Fishing timeout (seconds). Timeout will trigger a re-cast.
Durability_Limit = 2.0                      # Will not use rods with less durability than this (full durability is 64). Set to zero to disable this feature.
Auto_Rod_Switch = true                      # Switch to a new rod from inventory after the current rod is unavailable.
Stationary_Threshold = 0.001                # Hook movement in the X and Z axis less than this value will be considered stationary.
Hook_Threshold = 0.2                        # A "stationary" hook that moves above this threshold in the Y-axis will be considered to have caught a fish.
Log_Fish_Bobber = false                     # Used to adjust the above two thresholds, which when enabled will print the change in the position of the fishhook entity upon receipt of its movement packet.
Enable_Move = false                         # This allows the player to change position/facing after each fish caught.
# It will move in order "1->2->3->4->3->2->1->2->..." and can change position or facing or both each time. It is recommended to change the facing only.

[[ChatBot.AutoFishing.Movements]]
facing = { yaw = 12.34, pitch = -23.45 }

[[ChatBot.AutoFishing.Movements]]
XYZ = { x = 123.45, y = 64.0, z = -654.32 }
facing = { yaw = -25.14, pitch = 36.25 }

[[ChatBot.AutoFishing.Movements]]
XYZ = { x = -1245.63, y = 63.5, z = 1.2 }

# Automatically relog when disconnected by server, for example because the server is restating
# /!\ Use Ignore_Kick_Message=true at own risk! Server staff might not appreciate if you auto-relog on manual kicks
[ChatBot.AutoRelog]
Enabled = true
Delay = { min = 3.0, max = 3.0 }            # The delay time before joining the server. (in seconds)
Retries = 3                                 # Retries when failing to relog to the server. use -1 for unlimited retries.
Ignore_Kick_Message = false                 # When set to true, autorelog will reconnect regardless of kick messages.
# If the kickout message matches any of the strings, then autorelog will be triggered.
Kick_Messages = [ "connection has been lost", "server is restarting", "server is full", "too many people", ]

# Run commands or send messages automatically when a specified pattern is detected in chat
# Server admins can spoof chat messages (/nick, /tellraw) so keep this in mind when implementing AutoRespond rules
# /!\ This bot may get spammy depending on your rules, although the global messagecooldown setting can help you avoiding accidental spam
[ChatBot.AutoRespond]
Enabled = false
Matches_File = "matches.ini"
Match_Colors = false                        # Do not remove colors from text (Note: Your matches will have to include color codes (ones using the § character) in order to work)

# Logs chat messages in a file on disk.
[ChatBot.ChatLog]
Enabled = false
Add_DateTime = true
Log_File = "chatlog-%username%-%serverip%.txt"
Filter = "messages"

# This bot allows you to send and recieve messages and commands via a Discord channel.
# For Setup you can either use the documentation or read here (Documentation has images).
# Documentation: https://mccteam.github.io/guide/chat-bots.html#discord-bridge
# Setup:
# First you need to create a Bot on the Discord Developers Portal, here is a video tutorial: https://www.youtube.com/watch?v=2FgMnZViNPA .
# /!\ IMPORTANT /!\: When creating a bot, you MUST ENABLE "Message Content Intent", "Server Members Intent" and "Presence Intent" in order for bot to work! Also follow along carefully do not miss any steps!
# When making a bot, copy the generated token and paste it here in "Token" field (tokens are important, keep them safe).
# Copy the "Application ID" and go to: https://bit.ly/2Spn2Q3 .
# Paste the id you have copied and check the "Administrator" field in permissions, then click on the link at the bottom.
# This will open an invitation menu with your servers, choose the server you want to invite the bot on and invite him.
# Once you've invited the bot, go to your Discord client and go to Settings -> Advanced and Enable "Developer Mode".
# Exit the settings and right click on a server you have invited the bot to in the server list, then click "Copy ID", and paste the id here in "GuildId".
# Then right click on a channel where you want to interact with the bot and again right click -> "Copy ID", pase the copied id here in "ChannelId".
# And for the end, send a message in the channel, right click on your nick and again right click -> "Copy ID", then paste the id here in "OwnersIds".
# How to use:
# To execute an MCC command, prefix it with a dot ".", example: ".move 143 64 735" .
# To send a message, simply type it out and hit enter.
[ChatBot.DiscordBridge]
Enabled = true
Token = "************" # Your Discord Bot token.
GuildId = ************                # The ID of a server/guild where you have invited the bot to.
ChannelId = ***************             # The ID of a channel where you want to interact with the MCC using the bot.
OwnersIds = [ ***************, ]         # A list of IDs of people you want to be able to interact with the MCC using the bot.
# Message formats
# Words wrapped with { and } are going to be replaced during the code execution, do not change them!
# For example. {message} is going to be replace with an actual message, {username} will be replaced with an username, {timestamp} with the current time.
# For Discord message formatting, check the following: https://bit.ly/3F8CUCm
PrivateMessageFormat = "**[Private Message]** {username}: {message}"
PublicMessageFormat = "{username}: {message}"
TeleportRequestMessageFormat = "A new Teleport Request from **{username}**!"

# Automatically farms crops for you (plants, breaks and bonemeals them).
# Crop types available: Beetroot, Carrot, Melon, Netherwart, Pumpkin, Potato, Wheat.
# Usage: "/farmer start" command and "/farmer stop" command.
# NOTE: This a newly added bot, it is not perfect and was only tested in 1.19.2, there are some minor issues like not being able to bonemeal carrots/potatoes sometimes.
# or bot jumps onto the farm land and breaks it (this happens rarely but still happens). We are looking forward at improving this.
# It is recommended to keep the farming area walled off and flat to avoid the bot jumping.
# Also, if you have your farmland that is one block high, make it 2 or more blocks high so the bot does not fall through, as it can happen sometimes when the bot reconnects.
# The bot also does not pickup all items if they fly off to the side, we have a plan to implement this option in the future as well as drop off and bonemeal refill chest(s).
[ChatBot.Farmer]
Enabled = false
Delay_Between_Tasks = 1                     # Delay between tasks in seconds (Minimum 1 second)

# Enabled you to make the bot follow you
# NOTE: This is an experimental feature, the bot can be slow at times, you need to walk with a normal speed and to sometimes stop for it to be able to keep up with you
# It's similar to making animals follow you when you're holding food in your hand.
# This is due to a slow pathfinding algorithm, we're working on getting a better one
# You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite,
# this might clog the thread for terain handling) and thus slow the bot even more.
# /!\ Make sure server rules allow an option like this in the rules of the server before using this bot
[ChatBot.FollowPlayer]
Enabled = false
Update_Limit = 1.0                          # The rate at which the bot does calculations (in seconds) (You can tweak this if you feel the bot is too slow)
Stop_At_Distance = 3.0                      # Do not follow the player if he is in the range of 3 blocks (prevents the bot from pushing a player in an infinite loop)

# A small game to demonstrate chat interactions. Players can guess mystery words one letter at a time.
# You need to have ChatFormat working correctly and add yourself in botowners to start the game with /tell <bot username> start
# /!\ This bot may get a bit spammy if many players are interacting with it
[ChatBot.HangmanGame]
Enabled = false
English = true
FileWords_EN = "hangman-en.txt"
FileWords_FR = "hangman-fr.txt"

# Relay messages between players and servers, like a mail plugin
# This bot can store messages when the recipients are offline, and send them when they join the server
# /!\ Server admins can spoof PMs (/tellraw, /nick) so enable this bot only if you trust server admins
[ChatBot.Mailer]
Enabled = false
DatabaseFile = "MailerDatabase.ini"
IgnoreListFile = "MailerIgnoreList.ini"
PublicInteractions = false
MaxMailsPerPlayer = 10
MaxDatabaseSize = 10000
MailRetentionDays = 30

# Allows you to render maps in the console and into images (which can be then sent to Discord using Discord Bridge Chat Bot)
# This is useful for solving captchas which use maps
# The maps are rendered into Rendered_Maps folder if the Save_To_File is enabled.
# NOTE:
# If some servers have a very short time for solving captchas, enabe Auto_Render_On_Update to see them immediatelly in the console.
# /!\ Make sure server rules allow bots to be used on the server, or you risk being punished.
[ChatBot.Map]
Enabled = false
Render_In_Console = true                    # Whether to render the map in the console.
Save_To_File = false                        # Whether to store the rendered map as a file (You need this setting if you want to get a map on Discord using Discord Bridge).
Auto_Render_On_Update = false               # Automatically render the map once it is received or updated from/by the server
Delete_All_On_Unload = true                 # Delete all rendered maps on unload/reload or when you launch the MCC again.
Notify_On_First_Update = true               # Get a notification when you have gotten a map from the server for the first time
Rasize_Rendered_Image = false               # Resize an rendered image, this is useful when images that are rendered are small and when are being sent to Discord.
Resize_To = 512                             # The size that a rendered image should be resized to, in pixels (eg. 512).
# Send a rendered map (saved to a file) to a Discord channel via the Discord Bride chat bot (The Discord Bridge chat bot must be enabled and configured!)
# You need to enable Save_To_File in order for this to work.
# We also recommend turning on resizing.
Send_Rendered_To_Discord = false

# Log the list of players periodically into a textual file.
[ChatBot.PlayerListLogger]
Enabled = false
File = "playerlog.txt"
Delay = 180.0                               # (In seconds)

# Send MCC console commands to your bot through server PMs (/tell)
# You need to have ChatFormat working correctly and add yourself in botowners to use the bot
# /!\ Server admins can spoof PMs (/tellraw, /nick) so enable RemoteControl only if you trust server admins
[ChatBot.RemoteControl]
Enabled = false
AutoTpaccept = true
AutoTpaccept_Everyone = false

# Enable recording of the game (/replay start) and replay it later using the Replay Mod (https://www.replaymod.com/)
# Please note that due to technical limitations, the client player (you) will not be shown in the replay file
# /!\ You SHOULD use /replay stop or exit the program gracefully with /quit OR THE REPLAY FILE MAY GET CORRUPT!
[ChatBot.ReplayCapture]
Enabled = false
Backup_Interval = 3000.0                    # How long should replay file be auto-saved, in seconds. Use -1 to disable.

# Schedule commands and scripts to launch on various events such as server join, date/time or time interval
# See https://mccteam.github.io/guide/chat-bots.html#script-scheduler for more info
[ChatBot.ScriptScheduler]
Enabled = true

[[ChatBot.ScriptScheduler.TaskList]]
Task_Name = "Task Name 1"
Trigger_On_First_Login = false
Trigger_On_Login = false
Trigger_On_Times = { Enable = false, Times = [ 14:00:00, ] }
Trigger_On_Interval = { Enable = false, MinTime = 3.6, MaxTime = 4.8 }
Action = "send /hello"

[[ChatBot.ScriptScheduler.TaskList]]
Task_Name = "Task Name 2"
Trigger_On_First_Login = false
Trigger_On_Login = true
Trigger_On_Times = { Enable = false, Times = [ ] }
Trigger_On_Interval = { Enable = false, MinTime = 5.0, MaxTime = 10.0 }
Action = "script s"

Device

Laptop

Operating System

Windows

Server Address (If applicable)

play.mc4fun.net

milutinke commented 1 year ago

Should be fixed in the latest release.