Commit graph

814 commits

Author SHA1 Message Date
ORelio
dd992dc4ee McClient: Reorganize code regions in .cs file 2021-05-16 11:55:47 +02:00
ORelio
6fe6116831 InvokeOnMainThread: Avoid big lambda functions 2021-05-16 11:48:52 +02:00
ORelio
ecb69bbdfd Add CreativeDelete in ChatBot API (#1590) 2021-05-16 11:26:48 +02:00
ORelio
64123a26a5 Add /inventory creativedelete (#1590) 2021-05-15 20:11:07 +02:00
ORelio
95d6318350 Implement thread-safe ChatBot API (#1510, #1579)
+ Rework task scheduling in chatbots
+ Switch back terrain processing to tasks
2021-05-15 17:36:16 +02:00
ORelio
c1cfaf520d Improve InvokeOnMainThread mechanism
Add documentation to make the invoke mechanism easier to understand
Make it clear in documentation that code is invoked synchronously
Use Action and Func<T> for minimizing the amount of code to write
Use type parameter T to automatically adjust return value type
Throw exceptions on the calling thread, not the main thread
2021-05-15 16:31:02 +02:00
ReinforceZwei
9e5364a4ff
Use a dedicated thread to process world data (#1585)
This change allow low-end devices to join servers without timeout
2021-05-12 20:07:53 +02:00
ReinforceZwei
3b5488a7bf
Remove illegal characters in chat messages before sending (#1587)
Sending illegal character will cause server to kick the client. This happens when using remote control to execute some command that contains color output. Message checking applies to remote control only.
2021-05-12 19:34:55 +02:00
ReinforceZwei
b15c3a8e46
Fix calling schedule task cause deadlock (#1586) 2021-05-12 22:31:06 +08:00
ReinforceZwei
7723ed57ea
Update de.ini (#1584) 2021-05-12 12:41:49 +08:00
ReinforceZwei
f848495243
Implement schedule main thread task with return value (#1579)
* Implement schedule main thread task with return value

* Revert change of TestBot.cs
2021-05-12 12:20:13 +08:00
ReinforceZwei
073458f5f2
Improve inventory command output (#1582)
* Improve inventory command output

* Remove unused code

* Sort item list before printing

* Fix incorrect container slot count

* Update Container.IsHotbar method
2021-05-11 14:02:47 +08:00
ReinforceZwei
1cd7c098c3
Add command for dropping items from inventory (#1581)
* Add command for dropping items from inventory
* Allow other container to be used
2021-05-10 20:27:18 +02:00
ReinforceZwei
f7e74c76c2
Revert change in commit aeba54 2021-05-08 21:10:26 +08:00
ReinforceZwei
a5a8075efb
Add method to schedule main thread task (#1570)
* Add method to schedule main thread task
* ChatBot API: New delay task method
* Add sealed attribute to ChatBot internal method
2021-05-08 15:03:23 +02:00
Daenges
b8ce4d16c4 Add more intuitive link for hardcoding 2021-05-08 11:48:15 +02:00
ReinforceZwei
512d78d307 Remove thread sleep in disconnect method 2021-05-07 22:48:57 +02:00
Daenges
2bf29c06a4
Implement hardcoding the WebhookURL (#1571)
* Implement hardcoding the WebhookURL

* Convert tabs to spaces

* Add comment
2021-05-06 19:53:20 +08:00
ReinforceZwei
0400ad89ac
Add ability to perform clean-up code before quitting (#1561)
* Add ability to perform clean-up code before quitting
* Move to WinAPI namespace
2021-05-01 16:56:31 +02:00
ReinforceZwei
750684e010
ReplayMod: Prevent file backup while saving replay (#1562) 2021-05-01 20:38:41 +08:00
ReinforceZwei
ad14edad2e Add timeout detect on server login 2021-04-30 21:32:37 +02:00
ReinforceZwei
7fd0f9157f
DiscordWebhook: Fix syntax error 2021-04-28 10:37:32 +08:00
ORelio
663d617ef6 OnDisconnect: Call AutoRelog last (#1517)
Call AutoRelog last to leave other bots time to perform cleanup
2021-04-18 18:44:02 +02:00
Daenges
239900451d
Improvements for Discord Webhook (#1544)
* Improve caching and remove unused functions
* Save Player UUID before leaving
Save the UUID when they leave and save it until they join again.
* Clear the cache after disconnect
* Update MinecraftClient/config/ChatBots/DiscordWebhook.cs
2021-04-18 16:14:09 +02:00
ReinforceZwei
92eb4e1457
Update de.ini (#1539) 2021-04-15 22:32:41 +08:00
Daenges
b3bae6c2f8
Add DiscordWebhook ChatBot (#1532)
* Send chatmessages to Discord via webhook.

With corresponding Minecraft skins as profilepicture.

* Support for pings at keywords and server messages.

* Cleanup, Settings Class and applied suggestions.

* Fix all function names

* Improve variable naming and UUID search

* Re-format some comment

* Rename file to DiscordWebhook.cs

* Add message caching and option for disabling UUID lookup

Add Message class
Add Cache class
Change internal Message delivery

* Add an ignore list

Improved help message
Add option to get all settings

* Add feature to deactivat CustomChatDetection

Comment some functions

* Option to unload the bot

Fix crash when not entering a valid ping syntax

Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>
2021-04-14 10:21:18 +08:00
LesterLian
621e5e2200
Implement Realms support (#1533)
Resolve #51 

* Realms: update to new API; fix HTTP Get

* Realms: suggested changes

Co-authored-by: ORelio <ORelio@users.noreply.github.com>

* Realms: suggested changes

Co-authored-by: ORelio <ORelio@users.noreply.github.com>

* Add negative number support for JSON parser

* Nice print realms worlds result

* Option to join Realms world with world ID

* Suggested changes

Co-authored-by: ORelio <ORelio@users.noreply.github.com>

* Failure handle

Co-authored-by: ORelio <ORelio@users.noreply.github.com>

* world id paired with index

* fix text

* Clean up the code a bit

* Add setting for displaying Realms worlds

* Rename Realms worlds setting

* Put messages into translation file

Co-authored-by: Zizhen Lian <zizhlian@umd.edu>
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>
2021-04-12 19:46:33 +08:00
ReinforceZwei
d7089c534f
Adjust line break of default configuration file before writing (#1538) 2021-04-12 19:28:46 +08:00
goldenlib
cca0f1f47c
TreeFarmer: Change sapling direction to up (#1537)
Invalid direction to place the sapling
2021-04-11 22:53:53 +08:00
ReinforceZwei
58feaaa39a
Fix TreeFarmer bot syntax error (#1535) 2021-04-11 21:47:48 +08:00
Daenges
b83fc2c9b9
Add German language support (#1526)
Translated by Daenges and cyb3rko

Co-authored-by: Niko Diamadis <niko@cyb3rko.de>
2021-04-09 21:29:55 +02:00
ReinforceZwei
011eada59b Specify the CSharp version to 4 in project file 2021-04-07 21:01:07 +02:00
ReinforceZwei
53e2413204
Add setting for overriding attack speed for autoattack (#1512)
* Add setting for overriding attack speed for autoattack

* Change cooldown value type to float

* Fix minor grammar issue
2021-03-28 19:26:38 +08:00
ORelio
70d3b6175b Process command prompt text on main thread (#1510)
Fix possible threading issues when MCC commands interactively
2021-03-27 19:15:58 +01:00
ORelio
47c19466c3 Catch exceptions on bot load (#1510)
Also return a copy of ChatBot list inside GetLoadedChatBots()
because UnloadBot() must be used to properly unload the bot
2021-03-27 16:43:57 +01:00
ReinforceZwei
c15b071cad
New entity status packet event (#1506) 2021-03-21 22:17:19 +08:00
ORelio
49603db657
Server ping: Attempt 1.7+ ping first (#1507)
Forge detection might not work otherwise
2021-03-20 18:00:52 +01:00
Tan to the Dashi
fd7a84bc91
Add Dockerfile (#1504)
* feat: Add Dockerfile
* fix: Download latest version and not a fixed one

Using jq we can query the appvoyor api to get the latest jobId
2021-03-14 11:14:13 +01:00
ReinforceZwei
90505dbc4c
New method for getting looking location (#1503)
* New method for getting looking location

* improve
2021-03-13 22:23:58 +08:00
ReinforceZwei
240468ad22
Implement log to file logger (#1494)
* Implement log to file

Logger moved to it's own namespace

* Add lock to log file
2021-03-07 14:23:26 +08:00
ReinforceZwei
62c985376e
Add command auto-unregister mechanism (#1492)
* Add command auto-unregister mechanism

* Improve logic
2021-03-07 14:21:19 +08:00
ReinforceZwei
4853871ea1
Add lock to chatlog file (#1488) 2021-03-07 14:20:54 +08:00
ORelio
771a5b9e08 Catch Zlib exceptions (#1483)
Consider that connection is lost on invalid Zlib data
2021-02-27 22:37:21 +01:00
ORelio
b78e8e064a
Remove SendText delay in C# scripts (#1480)
Delay is not necessary anymore since MCC has a global message queue now (#661 / 9169036893)
2021-02-25 18:02:41 +01:00
ORelio
4d0d81d5c8
Mark sendImmediately param as deperated ( #1465) 2021-02-12 20:23:03 +01:00
ReinforceZwei
9d41e2223d
Implement dynamic sleep time (#1459)
* Dynamic sleep time

* Small code refactor in dynamic sleep time

Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2021-02-06 09:30:41 +08:00
ReinforceZwei
71eb1dca17
Implement browser sign-in method (#1447)
* Implement browser sign-in method

* Handle empty link

* Improve

* Handle user cancel login
2021-02-06 09:29:14 +08:00
ReinforceZwei
d19764869c
Fix player inventory being deleted by server (#1430)
* Fix auto drop crash

* Fix player inventory being deleted by server
2021-01-31 08:25:04 +08:00
ORelio
f5f1a22b93 Add sample-script-random-command (#972, #1117) 2021-01-30 23:41:24 +01:00
ReinforceZwei
38a890f840
Implement new logger (#1426)
* Implement multi-channel logger

* Implement chat filter

* Improve a bit

* Improvement

* Add debug message filter and filter mode

* Avoid duplicate debug prefix string

Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2021-01-29 07:45:18 +08:00