Baritone: Add a "legit" mode to MineBehavior

Created on 24 Oct 2018  路  11Comments  路  Source: cabaletta/baritone

The idea being that it would mine like a real player would, mining straight with shafts to either side at eye level every 4 blocks, and it only goes after ore if it can actually see it. This is what MineBot had, and it would be super cool because it can be very obviously not X-Raying.

enhancement

Most helpful comment

https://github.com/leijurv/MineBot/blob/master/mcp918/src/minecraft/minebot/mining/MickeyMine.java#L369
lol this is epic!!!!

    public static boolean isNull(Object object) {
        try {
            object.toString();
            return false;
        } catch (NullPointerException ex) {
            return true;
        }
    }

All 11 comments

maybe have different mining tactics too
https://minecraft.gamepedia.com/Tutorials/Mining#Horizontal_Mining_.28or_Resource_Mining.2FStratifying.29
https://minecraft.gamepedia.com/Tutorials/Mining#Space.2FPortion_Mining
most simple would be random mining
where you mine forward 5-10 blocks and have a chance to change direction to left right forward

layouted mining means a recognizer of some sort is needed to be implemented

Yeah, we already did this in MineBot just need to copy it over. https://github.com/leijurv/MineBot/blob/master/mcp918/src/minecraft/minebot/mining/MickeyMine.java

https://github.com/leijurv/MineBot/blob/master/mcp918/src/minecraft/minebot/mining/MickeyMine.java#L369
lol this is epic!!!!

    public static boolean isNull(Object object) {
        try {
            object.toString();
            return false;
        } catch (NullPointerException ex) {
            return true;
        }
    }

Okay, THIS is epic.

Lol the blame for that is you =P

@HowardStark just take credit and wear it proud

OK, so there are a few ways do do this. I'm thinking I'm gonna

  • Add a setting "allowXrayWhileMining" which defaults to true (configurable in imp cat under auto mine -> bot i guess)
  • Add a setting "legitMineYLevel" ? idk what to call it. it's what Y level it goes to before starting its mining pattern.
  • Add a setting "legitMineMode"? "legitMinePattern"? It could be an enum? but that would be a pain in the ass. Maybe I'll make it a string...? or an int? idk. Or maybe I'll just support one mode for mining. Or maybe when you call MineBehavior.mine you can pass in what legit mode you want it to use, otherwise it'll default to 4-gap feather mining?

MineBot feature that I just remembered it should have -- when there's something really special that it needs to mine (like diamond ore) it will also mine all adjacent blocks, in case there's a vein with two parts that are diagonally separated.

Made a video of this as-is:
https://youtu.be/WXjP6KEOhS0?t=246
~12:40 to ~13:40 is also cool

https://youtu.be/0PkkS-qCLlI?t=461

https://youtu.be/0PkkS-qCLlI?t=1008

After some improvements, closing this as done.

Was this page helpful?
0 / 5 - 0 ratings