lambda-client / lambda

Minecraft utility mod coded in Kotlin
GNU Lesser General Public License v3.0
583 stars 144 forks source link

WIP: ActivitySystem, BuildTools, HighwayTools #567

Open Avanatiker opened 1 year ago

Avanatiker commented 1 year ago

Activity System

The implementation pattern involves breaking down complex problems into smaller, more manageable parts that can be solved individually using the divide-and-conquer approach. This approach simplifies the code and enables the system to handle the coordination between activities. Once an activity is implemented, it can be reused in different contexts. For instance, if an activity that stores items in a chest is implemented, it can be reused by other activities to achieve different outcomes like for instance a stash mover.

The new pattern introduces a new build engine known as BuildTools, which addresses the challenge of building complex structures in a more general way than legacy HighwayTools.

BuildTools

HighwayTools has been completely rewritten to take full advantage of the new system like unlimited width.

Example of the rotation exploit:

https://user-images.githubusercontent.com/8580605/221100560-01e3ff58-7ca9-496d-9c9d-63a4487e24c0.mp4

Complex blocks:

https://user-images.githubusercontent.com/8580605/221100493-982baa56-597d-4a7a-91ac-95a6b5e6a2be.mp4

The new InventoryManager feature:

https://user-images.githubusercontent.com/8580605/221100624-a5966716-b79e-416a-91a3-785e0cb79671.mp4

The new AutoObsidian:

https://user-images.githubusercontent.com/8580605/221100678-ddfb2d91-a136-4d88-ba02-d75c25beb0c3.mp4

Highspeed HighwayTools lol (wont work on 2b but is possible now):

https://user-images.githubusercontent.com/8580605/221102702-1ed70847-5c3c-47ec-8624-198ad69a5a05.mp4

The videos are already outdated and will be updated soon

ToDo:

WorldEater