Commit graph

96 commits

Author SHA1 Message Date
BruceChen
4d4940a3b9 Trim 2022-09-07 00:08:31 +08:00
BruceChen
8ce5c40b28 Another fix for #2159 2022-09-07 00:02:09 +08:00
BruceChen
ecb5d1e2ce Fix #2159 2022-09-06 22:43:56 +08:00
BruceChen
0eb8d9998c Support for using relative coordinates in /move 2022-09-05 22:03:47 +08:00
BruceChen
db17babe58 Bug fix 2022-09-04 17:34:12 +08:00
BruceChen
afdf2f9e2c Merge from master 2022-09-04 10:44:25 +08:00
BruceChen
6cb0c35ab8 Trim 2022-09-02 22:38:59 +08:00
BruceChen
11fe93a128 Merge from milutinke 2022-09-02 21:38:43 +08:00
BruceChen
0382e07d50 Bug fix: Chunk deleted by mistake 2022-09-02 21:02:25 +08:00
BruceChen
71ecebedce
Merge branch 'master' into 1.19.1-dev-new 2022-09-02 11:08:39 +08:00
BruceChen
8ed2bc9d07
Merge branch 'master' into bugfix 2022-09-02 10:53:29 +08:00
BruceChen
0a689e407e Trim 2022-08-31 19:50:11 +08:00
BruceChen
9089bb4cdb Change how world is stored & Bug fix 2022-08-31 18:00:00 +08:00
BruceChen
1a90b6d942 Use separate threads for decryption and decompression 2022-08-30 17:37:46 +08:00
BruceChen
e09016cea5 Improve ReadBlockStatesField 2022-08-30 12:33:13 +08:00
BruceChen
cd45c64300 Change chunk storage structure 2022-08-30 10:41:27 +08:00
Milutinke
71d11f4155 Fixed #1632 and #1648 by adding missing blocks in IsSolid. 2022-08-29 00:55:11 +02:00
BruceChen
bc5298bf5f Terrain support for 1.19 2022-08-28 22:27:21 +08:00
BruceChen
9e4184a98d Add 1.19 block palette 2022-08-28 18:39:59 +08:00
BruceChen
d10ad138f1 Trim 2022-08-28 14:57:44 +08:00
BruceChen
ed8e97fd2d Bug fix: /move command went to the wrong location 2022-08-25 14:36:15 +08:00
BruceChen
5f520e2cf4 Improve ReadBlockStatesField 2022-08-25 10:40:55 +08:00
BruceChen
58eafdfd5c Optimize cold start speed and block loading speed 2022-08-25 01:34:07 +08:00
BruceChen
01ef9a89ca Bug fix: Cancel chunk load task when switching worlds 2022-08-24 18:16:16 +08:00
Milutinke
d7310e477b Added Item, Entity, Block, Material Palettes for 1.19. Fixed SpawnEntity and disabled BlockChange packet on 1.19 to prevent crashing until it's fixed. Enabled Entity and Inventory handling. 2022-08-22 19:46:30 +02:00
ORelio
1ce7850193 MC 1.17/1.18 Terrain/Entity/Inventory (#1943)
Merge branch 'master' of github.com:milutinke/Minecraft-Console-Client into milutinke-master

Manually fix merge conflicts
Additional changes:
 - WindowItems: Fix data type for "elements" below 1.17
 - DestroyEntities: Fix packet palettes and remove DestroyEntity
 - EntityMetadata: Throw exception if health field mapping is not updated

Co-authored-by: Milutinke <bgteam@live.com>
Co-authored-by: BruceChen <MrChen131217@gmail.com>
2022-08-19 16:35:55 +02:00
Milutinke
af6f655d5e Fixed the requested changes for Terrain Movement. Tested and working. 2022-08-18 20:58:49 +02:00
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
94fd8b118d "/move X Y Z" now moves the player to the center of the block first 2022-07-25 18:11:10 +08:00
BruceChen
b0b45a74a0 Make chunk loading status to be displayed using "/move" command 2022-07-25 14:20:24 +08:00
BruceChen
ff014d2912 Delete unnecessary comments 2022-07-25 03:50:31 +08:00
BruceChen
357820e1c2 Fix bugs in gravity handle 2022-07-25 03:19:24 +08:00
BruceChen
3429989527 change .NET version to 4.0 2022-07-24 22:03:02 +08:00
BruceChen
735d182468 Rename variables 2022-07-24 21:48:09 +08:00
BruceChen
516effa81d terrain handling for 1.18(1.18.1) and 1.18.2 2022-07-24 21:41:56 +08:00
BruceChen
f9bb74a8bd Implemented ChunkData packet process for 1.17/1.17.1 2022-07-23 22:34:16 +08:00
Dušan Milutinović
9d3357eeee Fixed requested changes in the review. Except: Container (TODO) 2022-06-28 13:45:23 +02:00
Anon
3ea109b330
Merge branch 'MCCTeam:master' into master 2022-06-28 10:43:13 +00:00
Daenges
b3cc2351ee
CalculatePath: Fix offset calculation, improve approaching (#2013)
* Square minOffset and maxOffset to match DistanceSquared
* Rewrite squaring
* Add minOffset
* Implement h-score selection
2022-05-05 20:05:05 +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
ORelio
aeca6a8f53 Add thead safety to terrain data (#1999)
Allow safely reading terrain data from other threads
2022-04-23 12:00:50 +02:00
ORelio
d6220ff779 Fix potentual issue with location != operator 2022-04-23 11:50:43 +02:00
Marko von Oppen
8795aab810
Add command to disable Gravity (#1955)
Allow disabling gravity (flying) for servers that allow this.
/move gravity: show gravity handling status
/move gravity on: enable gravity handling (falling)
/move gravity off: disable gravity handling (flying)

Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2022-03-06 19:37:27 +01:00
Dusan Milutinovic
61a682a69b Added Entity, Item and Block palletes for 1.17/1 and 1.18/1. Added pallete generators as a command line option. Fixed a minor warning with AttackBot 2022-02-13 01:10:10 +01:00
Daenges
b3b9a26288
Add script for excavating cubes (#1677)
* Add MineCube.cs

* Clear unused comments and using directives

* Move the command to a chatbot class

* Set a maximum sleep time for block mining

* Add tool selection function

* Improve the block - tool detection

* Improve naming and comments

* Add missing blocktypes

* Add block-tool assertion and tool switching in hotbar

* Remove unused using declaratives and improve coordinate handling

* Move Material2Tool in the Mapping folder

* Add function to let the bot mine up to 5 blocks above its head

* Remove obsolete function to detect breakability

* Implement mineup command
Users can dig out a 2 high square manually. The client will walk through it
mining everything that is reachable above, while avoiding falling blocks and liquids.

* Refactor big parts of the code
Move the function for obtaining cubes to a seperate file.
Sort Unbreakables alphabetically.
Change the distance to wait in the mine function back to 2.

* Fix suggestions from review
Change several parts of the code according to the review
Add credits

* Convert the bot into a script file and move it to config folder
Adjust the script to be loadable with /script
Remove unnecessary code
Add public modifier to material2tool

* Add checking for lava and water for normal mining

* Remove MineCube.cs from chatbots

* Code re-format

Rename variables
Fix indentation

Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>
2021-08-03 13:25:43 +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
53bd56100f
1.16+ Terrain and Movement support (#1353)
* First implementation
* Improve chunk reading performance
* Fix indentation
* Remove debug information
* Update MultiBlockChange packet
* Move skip varint to a method
* Fix crash when not using block palette
* Fix DataTypes.cs not compiling on .NET 4.0
Binary (0b) values not handled so converted to Hexadecimal (0x)
* Use the 1.16 chunk parsing code for 1.15 too
Document the differences in padding and factor the code
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2020-11-28 20:48:35 +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