client icon indicating copy to clipboard operation
client copied to clipboard

new: HighwayTools

Open Avanatiker opened this issue 4 years ago • 21 comments

Description Adding fully automated highway building as module to KAMI Blue. The tool places building material and destroys wrong blocks in high frequency using well timed packets. The module can build autonomously highways in all 8 directions while its pathfinder keeps you at the desired position and takes care of any possible dangerours situation. It is highly customizable and allows deep changes in system using configurations. It is fully compatible with most modules of KAMI blue like AutoObsidian, LagNotifier etc and also is confirmed to work with Rusherhack Future Impact etc.

Features

  • [x] Digs tunnel and paves Obsidian floor at the same time
  • [x] Faster block breaking and placing then any other solution
    • Reaches 30+ blocks per second mining interactions on 2b2t
    • Reaches 7+ blocks per second placing interactions on 2b2t
    • Confirmed over 300% faster then previous cutting edge digging solutions (source: MEG)
  • [x] Intelligent liquid handling
    • Reacts on liquid pockets using cutting edge placing exploits to patch lava pockets before even opening them
    • Reacts on complex flow strucutres and cleans up
  • [x] Diagonal highway mode
  • [x] Intelligent repair mode
  • [x] The built in Anti-Anti-Cheat works with 2b2t's anti-cheat and NoCheatPlus
  • [x] Pauses on lag to avoid kick (enable LagNotifier for this feature)
  • [x] Ignore Blocks: Signs, Portals, Banners, Bedrock and more
  • [x] Choose custom building materials
  • [x] Auto clipping to starting coordinates
  • [x] Commands:
    • ;highwaytools - alias: ;ht
    • ;ht ignore add <block> Adds block to ignore list
    • ;ht ignore del <block> Removes block from ignore list
    • ;ht material <block> Choose an alternative building block (default: Obsidian)
    • ;ht filler <block> Choose an alternative filler block to fill liquids (default: Netherrack)
    • ;ht settings or ;ht Shows detailed settings of the module
    • ;ht west 0 for starting the bot with direction west clipped at the coordinate 0 (Planned)
  • [x] Compatible with:
    • LagNotifier (Baritone mode) To stop while lagging to not get kicked
    • AutoObsidian to automatically get new Obsidian from Ender Chests even from shulker boxes
    • AutoEat set PauseBaritone on false and below health 19.0 and u are safe from lava and other threads having gapples in inventory
    • InventoryManager (Support pending) to refill the Hotbar and get rid of overburden (mostly Netherrack)
    • AutoLog to logout on any given danger
    • AutoReconnect (Support pending) to get back on server after waiting (for example a player comes in range)
    • AntiHunger slows food level decrease but makes block breaking slower
  • [x] Highly dynamical generated blueprints:
    • Three Modes: Highway (for full highways), Tunnel (optimized for digging), Flat (for repair obsidian sky)
    • ClearSpace: Choose to break wrong blocks and tunneling
    • ClearHeight: Choose the height of tunnel
    • BuildWidth: Choose the width of the highway
    • Railing: Choose if the highway has rims/guardrails
    • RailingHeight: Choose height of the rims/guardrails
    • CornerBlock: Choose if u want to have a corner block or not

Pending for update v9.9 Last stable version before merge

  • [x] Fix diagonal default blueprint tunnel floor
  • [x] Fix adding break tasks for ignore blocks
  • [x] Fix wrong hardness calculation when fast switching slot
  • [x] Refactor Place Deep Search > Return list of shortest path to position
  • [x] Fix mining portal blocks inside the structure
  • [x] Click slot when stuck
  • [ ] Stop bot after x distance / change direction
  • [ ] Priorize container position on same Y as player
  • [ ] Fix item drop finder to get only correct drops
  • [ ] Fix cleanfloor on narrow tunnels
  • [ ] Fix CornerBlock option
  • [x] Fix onStuck on new states
  • [ ] Get deep place working
  • [ ] AntiHunger activation for idle walking
  • [ ] AnfiAFK by cycling a place break
  • [ ] Fix inventory desync when placing more blocks then blocks are in inv
  • [ ] Optimize placements for no anticheat servers
  • [ ] Maybe change origin of total blocks broken placed
  • [ ] Make pending task check packets for other not pending tasks

Read NCP Code

  • [x] Fix random place freeze
  • [x] Check if hard limit for mining is needed

Pending for update v11 post merge Features:

  • [x] Smart back fill: Saves block states and remembers where to place the blocks
  • [x] Long term inventory management: InventoryProcessor
    • Burn overburden with Lava
    • If inventory is empty get all mats from shulker or from enderchest
    • Priority: Inventory, Shulker in Inventory, E-Chest, Shulker in E-Chest
    • Cache shulker storage
    • Easy way to select shulker for usage
  • [x] Skynet
    • Make bots communicate over whisper
    • Use different lanes
    • Assign jobs: Miner, Scaffolder, Restock etc
  • [x] MovementProcessor
    • [x] LiquidHandler > Move to liquids source when out of reach
    • [x] Make any width possible
  • [x] Commands to force specific mode, position and direction

AutoObsidian:

  • [x] Fix that the player places last e chest but never breaks it
  • [x] Fix when in placing state and no e chest check for shulker again
  • [x] Fix when switching position to leave a chest
  • [x] Fix using the last echest in inventory

Planned

  • [x] Maybe add setting for placing enderchests or portals all x blocks (auto milestones)
  • [x] With new settings and config module:
    • Save stats with server etc hashed
  • [x] Keep maparts at walls with prio at the block behind it
  • [x] Create costum blueprints to get something like buildrepeat
  • [x] Fix NCP internal catches
  • [x] Algorithm for dynamic fillerblock generation for support structures and liquid handling > liquid handler refactor

Known issues

  • [x] AutoLog is not compatible with AutoReconnect > Should

Troubleshooting

  • [x] Deactivate AntiHunger for faster block breaking
  • [x] If stuck check if AutoCenter is on MOTION to get moved to middle of the block (Baritone cant move exactly to block center)
  • [x] If placed block disappear increase the TickDelayPlace until it works
  • [x] Deactivate IllegalPlacements if the server requires (like 2b2t)
  • [x] Check if the Baritone process KAMI Blue Pauser is active in GUI. Sometimes it does not stop correctly

Testing

Server Status
2b2t.org Working
0b0t.org Working
8b8t.xyz Working
oldfag.org Test pending
5b5t.org Test pending
9b9t.com Test pending

Avanatiker avatar Aug 19 '20 02:08 Avanatiker

I'll review this when I get back from vacation, on the 5th

5HT2 avatar Sep 01 '20 22:09 5HT2

I'll review this when I get back from vacation, on the 5th

sry i didnt know about this review call feature. was by accident. go relaxing now xD

Avanatiker avatar Sep 01 '20 22:09 Avanatiker

Oops build failed

Luna5ama avatar Sep 15 '20 01:09 Luna5ama

Oops build failed

already fixed it but have more to commit be patient :D

Avanatiker avatar Sep 15 '20 01:09 Avanatiker

Yo sry will continue work after advanced datastructures and algorithms exam i write in uni at 28/09/20 but dont bother to test the tool https://cdn.discordapp.com/attachments/716805893886312589/755668519957561435/client-1.1.7-beta-release.jar (latest commits are only anticheat use the latest working version ) @Xiaro ill rewrite this with better datastructure anyways

Avanatiker avatar Sep 20 '20 21:09 Avanatiker

don't worry about it, everyone needs a break sometimes. thanks for all your work on this c:

5HT2 avatar Sep 20 '20 21:09 5HT2

I just wanna say you're making a wonderful module. Looks super awesome and looking at your todo list its not even done. :O

spide-r avatar Oct 30 '20 15:10 spide-r

Corners are still being placed, even though the setting for them is turned off

ItCameFr0mMars avatar Nov 03 '20 15:11 ItCameFr0mMars

Corners are still being placed, even though the setting for them is turned off

Yes I already found the issue. Normally the filler blocks are only placed when absolutely needed. Somehow it detects it wrong. I'll make a new release soon don't worry.

Avanatiker avatar Nov 04 '20 18:11 Avanatiker

Thank you

On Nov 4, 2020, at 1:55 PM, Avanatiker [email protected] wrote:

 Corners are still being placed, even though the setting for them is turned off

Yes I already found the issue. Normally the filler blocks are only placed when absolutely needed. Somehow it detects it wrong. I'll make a new release soon don't worry.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

ItCameFr0mMars avatar Nov 04 '20 20:11 ItCameFr0mMars

Crashes whenever attempting to mine an ender chest in the path of the highway.

ItCameFr0mMars avatar Nov 05 '20 19:11 ItCameFr0mMars

it's ok he knows about all the bugs, he is fixing them rn.

Natan515 avatar Nov 05 '20 21:11 Natan515

https://youtu.be/s1ei-MbQLbI

Natan515 avatar Nov 05 '20 21:11 Natan515

Thanks for the feedback guys 👍

Avanatiker avatar Nov 06 '20 03:11 Avanatiker

Suggestion, add an option, "Snap to axis" It will build the highway on the nearest axis, no matter your position.

ItCameFr0mMars avatar Nov 06 '20 17:11 ItCameFr0mMars

Don't ask people to explain stuff on other platforms, it detracts from the discussion and then someone else has to ask them to do the same.

5HT2 avatar Nov 06 '20 21:11 5HT2

is it fixed? The diagonal bridging?

Not yet I have higher prios atm. Like better packet timing for faster diggin and fixing the blueprint generator

Avanatiker avatar Dec 22 '20 05:12 Avanatiker

Amazing! Keep up the good work!

ItCameFr0mMars avatar Feb 02 '21 14:02 ItCameFr0mMars

We've refactored me.zeroeightsix.kami to org.kamiblue.client, as the change was long overdue and this project has diverged too far from the original project made by 086, in our opinion. We planned to do it right after the GUI rewrite but it got a bit delayed.

Please update your pull accordingly, the easiest recommendation in this case would be force pushing your branch to the latest commit ok our master branch, and then manually recreating your changes from the diff in the web editor. A bit scuffed but it's probably easiest.

Sorry for the inconvenience.

5HT2 avatar Feb 03 '21 05:02 5HT2

Hello, I have noticed that on 9b9t, I get kicked for being afk, this usually happens when I have not mined or placed for a while, could there be a feature that places a filler block and mines it every so often so that it does not trigger the afk kick?

ItCameFr0mMars avatar Feb 23 '21 13:02 ItCameFr0mMars

Hello, I have noticed that on 9b9t, I get kicked for being afk, this usually happens when I have not mined or placed for a while, could there be a feature that places a filler block and mines it every so often so that it does not trigger the afk kick?

Just turn on anti afk with idle timeout.

Luna5ama avatar Feb 23 '21 15:02 Luna5ama