Commit graph

186 commits

Author SHA1 Message Date
Booquefius
613f52d3ae
AuotoAttack: add support for multiple interact modes (#2044)
* Adds support for multiple interact modes
* Entity interaction: Implement enum

Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2022-08-15 23:31:17 +02:00
Daenges
aa1f54d0d8
Rework of MineCube.cs and further improvements to CalculatePath() (#2014)
* Add function to determine if the client is executing a walking process
* Add comments
* Remove test bot entry
* Add funtion to approach a block as close as possible
* Add funtion to approach a block as close as possible
* Add funtion to approach a block as close as possible
* Add comment to function in McClient.cs
* Improve concurrency and reduce potential calculation power
* Apply code suggestions
* Apply code suggestions
* Improve CalculatePath() function to allow approaching
* Fix typo in MinecraftClient/ChatBot.cs
* Add comments to Chatbot fucntion
* Add break to for loop to exit quicker
* Allow to give a maxOffset to the goal
* Comment the sample bot again.
* Add parameter for calculation timeout
* Remove TestBot again
* Implement timeout in Chatbot class
* Remove test commands
* Update comment in Chatbot.cs
* Set timeout to default 5 sec
* Change order of parameters back
* Add suggested improvements
* Move task and fix missing methods in .NET 4.0
* Create switch for tool handling
* Remove unused function
* Improve movement
* Improve performance of CalculatePath()

 - Replace Hashset OpenSet with a Binary Heap
  - Temporary remove maxOffset / minOffset features
 - Round start location for easier calculation
 - Add 0.5 to each location in reconstruct path to avoid getting stuck
    on edges

* Add diagonal movement
* Remove direct block movement
- causes kick for invalid packet movement if moving on the block you are
  currently standing on

* Floor start in A* and improve diagonal walking check
* Add helperfunctions to McClient.cs
* Prevent client from falling into danger
* Add comment to function and remove dependencies
* Add comments
* Remove debug settings

Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2022-08-15 18:26:40 +02:00
BruceChen
a8bbb1ac76
Basic support for minecraft 1.19 (#2084)
* merge commit from milutinke
* chat signature & encrypted login
* Bug fix :EncryptionResponse format error below 1.18.2
* Implemented chat command signature
* Chat message parsing and verification for 1.19
* Add signature settings
* Update Simplified Chinese Translation
* Clear up comments
* Fix wrong variable naming
* Bug fix: SignatureV2 Processing
2022-08-15 17:55:44 +02:00
BruceChen
a18b526a41 bug fix: Error handling for empty slots 2022-07-25 17:22:01 +08:00
BruceChen
cbe348555b Fix bug: drop single item cause exception 2022-07-25 17:08:59 +08:00
BruceChen
b0b45a74a0 Make chunk loading status to be displayed using "/move" command 2022-07-25 14:20:24 +08:00
BruceChen
357820e1c2 Fix bugs in gravity handle 2022-07-25 03:19:24 +08:00
BruceChen
86dfd60d07 Bugs fix for “ClickWindow“ packet 2022-07-25 01:13:41 +08:00
BruceChen
59ed18bb40 Fixed incorrect handling in 1.18(1.18.1) and 1.18.2 2022-07-24 22:21:15 +08:00
breadbyte
d9f1a77ac2
.NET 5+ Support (#1674)
Implement changes to support .NET 5 onwards.
Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2022-07-03 22:34:07 +08:00
Dušan Milutinović
3d8c112159 Implemented "Click Window" for 1.18 (now sending the new required fields), formated few files with Visual Studio formatting. PS: left debug for people to see, I'll remove it once everything is working 2022-07-01 18:59:58 +02:00
Daenges
708815fe61
Improve pathfinding capabilities (#1999)
* Add `ClientIsMoving()` API to determine if currently walking/falling
* Improve `MoveToLocation()` performance and allow approaching location
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2022-04-30 00:56:41 +02:00
ReinforceZwei
25248025c2 Fix hyperlink in chat message cause crash
See #1850
2021-12-24 11:57:27 +08:00
xXjojaXx
76a10c0cd8
Spectator-Teleport Implementation (#1825) 2021-11-18 00:33:52 +08:00
Daenges
6928cd40fd
Add toggle to head movement while walking (#1805)
* Add toggle to head movement while walking

* correct typo

* Correcting the correcting

* Improve description.

Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>

Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>
2021-10-29 12:45:30 +08:00
Рома Данилов
48577bf034
More events (#1660)
* + OnBlockBreakAnimation

* + OnBlockBreakAnimation

* + OnEntityAnimation

* Add checks

* + OnBlockChange

* + OnMultiBlockChange

* Fix

* Fix

* Fix

* add summary

* Fix

* fix other summary
2021-07-04 14:26:41 +08:00
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
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
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
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
ReinforceZwei
512d78d307 Remove thread sleep in disconnect method 2021-05-07 22:48:57 +02:00
ReinforceZwei
ad14edad2e Add timeout detect on server login 2021-04-30 21:32:37 +02: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
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
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
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
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
ReinforceZwei
9b5fde0689
Enable TCP Read Timeout (#1348)
Fix attempt for #1321
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2020-11-27 22:17:51 +01:00
ORelio
20f6375153 Merge #1332 and #1333
Add optional arguments to DigBlock()
2020-11-14 10:19:55 +01:00
mexiscool
28f47cc532
Adds support for villager trading (#1316)
* adds villager trading support
Adds handler for tradeList packet and selectTrade packet
* added extra line at end
* removed tab; removed size and hasSecondItem
removed a mistakenly added tab instead of 4 spaces. SelectTrade was already added in 1.13. Removed unnecessary size and hasSecondItem from trade dataType.
* Added VillagerInfo class and capitalized vars in Trade class
* Update VillagerInfo.cs
* Small formatting/naming adjustments
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2020-11-08 23:39:07 +01:00
ORelio
330dda9c15 Add random demay in AutoRelog
Useful when reconnecting many accounts at once
Related issues: #663, #740, #975, #1312
2020-11-04 19:23:46 +01:00
ORelio
d3ea597dd1 Fix compile error (#1298, #1302) 2020-10-30 22:50:48 +01:00
ReinforceZwei
ce389b6b31
Fix null reference when trying to get protocol version (#1298)
* Fix null reference when trying to get protocol version
* Use only stored version of protocolversion
(No need to add a switch because the protocol version will not change between InitializeClient() calls)
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2020-10-30 20:35:03 +01:00
ReinforceZwei
ec9f999857
Add Mode switching command for AutoDrop (#1293)
* Add new command for AutoDrop
* Minor imporvement for AutoDrop
* Fix inventory update event passed a non-exist inventory ID
* Minor improvement for AutoDrop
2020-10-25 17:43:05 +01:00
ORelio
9169036893 Implement global chat message cooldown (#661)
Merge 'splitmessagedelay' and 'botmessagedelay' settings into
a single 'messagecooldown' entry, implement global cooldown to
fix autorespond, scripts and commands not being delayed properly.
2020-10-24 17:49:18 +02:00
ReinforceZwei
2017d5d652
Add support of language files (#1273)
* Basic support of language file
Only mapped main part of MCC.
* Translations function imporve
* Change translation file naming
* Fix default translation file naming
* Complete translation file mapping for main part
Command and ChatBot not done yet
* Complete translation mapping for commands
Except Entitycmd
* Complete translation mapping for ChatBots
* Add new method for replacing translation key
Just for Entitycmd. Be proud of yourself. We have a convenient method now.
* Complete all translation mapping
* Add default config and translation file to resource
* Remove untranslatable messages from default translation file
2020-10-17 13:41:31 +02:00
ORelio
b1233ace7c Perform arm animation when breaking blocks (#1254) 2020-09-13 16:33:25 +02:00
ReinforceZwei
7e20e409a8
Add support for creating replay mod capture files (#1246)
* Add test replay handler
* Fix incorrect built raw packet
* Fix incorrect built raw packet
* Add filter
* Add not working zip lib
* Add dotNetZip lib and complete basic function
* Update ReplayHandler.cs
* Complete Replay handler
Without client player handling
* Complete replay mod
- New ChatBot OnNetworkPacket event
* Add auto-backup and command for Replay Mod
* Add ReplayMod description to readme
* Small naming changes, fix compile error on .NET4.0
* ReplayHandler slight optimizations
Use Path.Combine to automatically use Windows '\' or Linux '/'
Move re-usable common parts outside the Replay handler
Small optimizations in building JSON strings
Co-authored-by: ORelio <oreliogitantispam.l0gin@spamgourmet.com>
2020-09-06 21:51:42 +02:00
ReinforceZwei
cd1badb9d6
Add item moving helper class (#1243)
* Create item moving helper class
* Change the method calling order for joined game
 Dispatch bot after things are initialized such as inventories
* Add GetItemMovingHelper ChatBot method
2020-08-29 17:53:29 +02:00
Рома Данилов
de9dcd6d77
Latency improve (#1244)
* Update ChatBot.cs
* Update McClient.cs
* Update ChatBot.cs
* Update ChatBot.cs
* Update McClient.cs
2020-08-29 14:46:04 +02:00