← Назад к ресурсам

The Möbius Automata

The biggest breakthrough in Minecraft automation since Baritone

Modrinth game-mechanics technology utility

Описание

# The Möbius Automata ## The first fully player-independent pathfinding, building, and combat automation approach. - This mod takes advantage of the carpet mods' fake player feature, allowing for full usage both on singleplayer and on servers - It is therefore however dependant on the carpet mod, which in turn requires fabric api and a fabric environment **The Wiki explaining all features of the mod can be found here**: [Möbius Automata Wiki](https://srv666339.hstgr.cloud/wiki/) **If you encounter issues or would like to suggest features, join the discord server, or feel free to report them here: [Issue Tracker](https://forms.gle/nsHy919XUrX2hBGb8)** **LEGACY DESCRIPTION WITH ALL DETAILS:** Spoiler ## Capabilities - Möbius Automata can be spawned using the /bot command, by any player, both on servers that have the mod installed and in singleplayer worlds - The Automata traverse the world around them through the A* pathfinding engine, very similar to what baritone uses. - The bot is controlled either in chat via suffixes of the /bot command, or through a full menu opened with /automatamenu or by right-clicking the bot — no client mod needed for either - A bot answers only to the player that spawned it, and to anyone that player chooses to share it with. Nobody else can command it, take its items or so much as make it walk — server operators included - You can only spawn bots that are not in the world yet - Multiple bots can be put into a group and then all be commanded at the same time with /botgroup in place of a bot name - Bots climb ladders, vines and scaffolding, and build their own way out of deep water - Bots jump off a ledge or the end of their own bridge into water below rather than getting stuck, and place their own water to land in if there is none - Spear related commands and actions only available in 1.21.11 and future - All normal carpet player commands are also supported, and every one of them is a button in the menu as well - Actively defends itself from mobs during processes - Looks after itself without being told to: digs itself out when buried by falling gravel or sand, raises its shield when a creeper corners it with nowhere to back away to, and keeps swimming toward where it was going while it comes up for air - Looks after its own gear too: swaps to a spare tool before one shatters, repairs its Mending equipment itself, and keeps everything it is not using in its own ender chest - Says what it is missing before it starts. No pickaxe for that block, a bow with no arrows, no fishing rod, no storage set, an inventory that filled up with nowhere to put things — you hear it once, up front, instead of watching a bot achieve nothing ### Significant features **The Control Panel** - Every command in the mod is also a button. **/automatamenu** opens a menu of every bot you own, each one wearing its own skin and showing what it is doing, its health and where it is. Your groups sit on the row underneath. - Opening a bot gives you its whole panel: health, hunger, position, inventories, take control, and a button for every job — mine, mine area, build, craft, drain, fish, hunt, go to, place, bodyguard, workflows, command chains, the carpet controls and all three storages. Its rules are a page of levers sorted into _Combat_, _Staying alive_, _Working_, _Crafting_ and _Control_. - The carpet controls are their own page: attack, use, jump, drop, drop stack, swap hands, every direction of movement, sneak, sprint, look, turn, hotbar slot, mount and dismount. The repeatable ones ask how you want them — once, held, or a number of ticks between goes — and the button says so while it is running. - The inventory button is a menu of its own: the bot's pack on one side, its ender chest on the other, both live and editable straight from the menu. - It is built entirely out of chests, on the server. A **completely vanilla client** gets the whole thing, on any server running the mod. - Where a command needs a block name or coordinates, the menu asks you in chat — and that message is swallowed before it reaches anybody else. - With the _visualselect_ rule it stops asking in words at all: blocks become a chest of blocks with whatever is near the bot listed first, mobs become a chest of spawn eggs, players become a chest of their own heads, and your schematics and workflows become a chest of their names. Everything pages with arrows. **Mining** - The mod provides both a generic _mine_ command used to find and mine specific blocks, aswell as _mine area_ command used with coordinates. - For actual collection and usefulness, the mod provides an option _pickmineitems_ that makes the bot actively collect the blocks mined. - With _pickmineitems_ on the bot mines and collects at the same time instead of stopping to gather, and sweeps the whole area once more when the job is finished so nothing is left lying on the floor. - Given a fast enough tool it mines straight through soft blocks as it walks rather than aiming at each one in turn, without ever cutting away the ground it is standing on. - In addition to this, to prevent resource loss in case of a full inventory, a coordinate driven _storage gather_ command is provided. The bot will return to the declared radius and deliver his resources to storage utensils in a radius given in the initial command. - With the _biomeseek_ rule the bot stops giving up when a resource simply isn't around. The server knows the whole world, not just what is loaded, so the bot finds the nearest biome that actually grows what you asked for and travels there — thousands of blocks if it has to, flying it if it has an elytra. - When pillaring or bridging, the bot spends anything **except** the material you sent it to collect, so the harvest comes home instead of becoming scaffolding. **Repairs and Spare Gear** - With the _mend_ rule a bot stops when a tool is down to its last uses and repairs it itself with bottles o' enchanting, tool in the offhand, bottles thrown by hand. - _mendOrder_ decides which tools matter first and which it should leave alone. Worn armour counts too, not just tools. - A spare is always the cheaper answer, so if a fresh tool is sitting in its pack, its mend storage or its ender chest it swaps to that instead of spending experience on a broken one. - _storage mend_ gives a bot a chest of its own for spare tools and bottles, set exactly like the other two. It is looked in before the ender chest, which every bot on the server shares — so a crew of bots stops taking each other's spares. Bottles it did not spend go back in the same chest. - It only stops and tells you when there is genuinely nothing left to work with — no spare anywhere, and no experience to spend. **The Ender Chest** - Every bot carries its own ender chest and treats it as a pocket. It always knows what is inside, from anywhere in the world. - Moving things is physical. It walks to a chest standing nearby or sets its own down, opens it, swaps what it needs, then takes the chest back with silk touch — or leaves it standing and remembers exactly where. - At the start of a job it puts away everything that job cannot use, keeping the best armour, a weapon, the best of each tool, food, a stack of blocks to build with, and a totem or a shield. - Mid-job it goes and fetches whatever it runs out of — a fresh tool, food, or the experience for a repair — and comes straight back to what it was doing. - It will never build with a chest, a shulker box or an ender chest, and never puts away the very thing you sent it to mine. **Crafting** - The _craft_ command crafts the real way: in the bot's own 2x2 grid where the recipe allows, otherwise by walking to a crafting table. Missing intermediates are made automatically (logs into planks into whatever you asked for). - If no crafting table is in range but the bot carries one, it puts it down, uses it, breaks it and takes it with it again. With _adaptivecrafting_ on it will even craft the table itself first. - _max_, _repeat_ and _drop_ suffixes turn it into a machine: craft everything the materials allow, keep waiting for new materials forever, and toss the results so hoppers can take them. - With the _adaptivecrafting_ rule, asking for something the bot cannot make is no longer a refusal. It works out what is actually missing all the way down to raw material, tells you plainly, then goes and mines it. It also picks whichever material is **closest** — a recipe asking for "any planks" sends it to the spruce at its feet, not the oak four hundred blocks away. **Draining** - The _drain_ command clears water out of an area with sponges, placing them where they soak up the most, leaving them standing as dams while it works, and collecting every one of them again afterwards — including swapping wet ones for dry at a storage if one is set. - The _draining_ rule decides how _mine area_ deals with water it runs into: with sponges when the bot carries any, or by filling the sources in with spare blocks and mining them back out. **Normal Hunting** - Bots are able to very precisely hunt any entity (if in render distance) using the _hunt_ command **Player Hunting** - A very prominent feature of the mod is player hunting and combat. Multiple rule commands and suffixes are provided to aid the process of commanding a bot to hunt any player anywhere on a world. Alongside this, although not yet bug free, the bot is able to hunt other players through dimensions, by being told where portals are (see Command Definitions and Usage). The Automata harness many capabilities related to combat. These include but are not limited to; - Bridging - Towering - Water Bucket Clutching - Elytra Pursuit - Mace Chain attacking - Spear Charging - Bow usage - Advanced Sword, Axe and Shield usage - Totem usage - Smart Eating - Digging through whatever the target is hiding behind, rather than standing in front of the last block **Building** - Bots are able to access their creator's schematics folder (used by litematica), letting them build any structure of any size automatically. On a server the schematics folder next to the world works just as well, so players on a vanilla client can build from whatever the server provides. They do however like normal players, require enough materials, which can be left at the build storage using the _storage build_ command. - Blocks that need something to attach to (levers, signs, redstone dust, rails, carpets, torches, doors, beds, hanging lanterns, chains and so on) are only placed once their support block exists. Blocks hanging from above are placed in a final pass, after the rest of the build stands. **Workflows** - Bots can record and repeat anything the operator does themselves. The _recordworkflow_ command starts a short guided session; double-tap shift to start, do your cycle, double-tap shift to end. Every movement, block broken, item used and chest interaction is saved under a name. - Any bot you spawned can then replay that exact cycle with _doworkflow_, walking to the recorded starting position by itself first. - Chest interactions are saved by item and amount instead of by slot, meaning the bot still takes and deposits the right things even if the chest was rearranged since. - Together with the _workflowloop_ rule the bot repeats the cycle forever, making any farm or repetitive manual task fully automatic. - Should a mob interrupt the bot mid cycle (see _mobdefense_), it defends itself, returns to the exact position it left off at, and continues. **Command Chains** - Any number of commands, one after the other, separated by commas: _/bot commandchain mine iron_ore 64, goto 100 64 100, store iron_ore all_. - Chains can be saved under a name and run again whenever you like, and _wait_ is a step like any other for when something simply needs time. - A step that fails is tried again before the chain gives up, so one unlucky path does not throw the whole list away. - With the _chainloop_ rule a finished chain starts again from the top, turning any routine into a permanent one. **Ownership and Sharing** - Every bot belongs to the player who spawned it, and that is enforced everywhere — commands, right-click, movement, combat, its inventory, the lot. Being an operator on the server grants nothing. - _ownership share_ hands the controls to a friend, as many people as you like. They can do everything you can with it, except give it away or change who else may drive it. - _ownership transfer_ hands the bot over for good. It leaves your menu and your groups with it. - Both are also buttons on the bot's own panel, where you pick the player out of a chest of heads. **Group Control** - Bots are put into a group with _/botgroup add_, as many at once as you like. The group is made by the first bot you put in it and disappears with the last one you take out, so there is never an empty one lying around. - Any command at all can then be aimed at the group instead of a bot — _/botgroup crew mine diamond_ex_ore_ runs it once for every member. Chat suggestions work inside a group command exactly as they do for a single bot. - Groups get their own panel in the menu with a roll call: how many are working, the lowest health among them, and how far apart they have spread. **Creative Mode** - Should the operator put a bot into creative mode, it gains the according capabilities. - Builds no longer require any materials or a build storage, as the bot takes the blocks straight out of the creative inventory, and wrong blocks are broken instantly. - Movement switches to actual creative flight, sprint flying included, instead of walking, towering and bridging. **Hands-on Control** - With the _easycontrols_ rule you can skip the chat entirely: right-click a bot to open its whole control panel, sneak-right-click it to stop whatever it is doing. Works from a completely vanilla client, no client mod needed, and is on by default. - A bot you do not own ignores you completely — right-clicking somebody else's bot at spawn does nothing at all. ### Command Definitions **Menu** _(used on its own)_ - **/automatamenu** _opens the control panel for every bot you own and every group you have made_ **Base Commands** _(used as /bot xxx)_ - **SPAWN** _spawns a bot_ - **STOP** _makes the bot instantly cancel any running task_ - **STATUS** _shows what the bot is doing right now ("mining 7/15 oak_log", "building myhouse — layer 4/9", "at its enderchest"), where it is, its health, hunger and air, both of its storages, any loaded schematic, and every rule currently on or off_ - **KILL** _kills the bot but lets it keep its items_ - **DROPALL** _makes the bot drop all items in its inventory_ - **OWNERSHIP** _shows who the bot belongs to and who it is shared with. share, unshare and transfer take a player name (used as /bot ownership share )_ **Action Commands** _(used as /bot xxx)_ - **GOTO** _makes the bot go to a specific set of coordinates. If portals are known/declared, can be in any dimension._ - **MINE** _makes the bot search for and mine a specific blocks in the world. compatible with storage gather. can also be used to mine out an area declared with coordinates by using /bot mine area xyz xyz_ - **CRAFT** _makes the bot craft an item, in its own grid or at a table it finds, carries or makes itself. accepts max, repeat, once and drop_ - **PLACE** _makes the bot put a block from its inventory at a set of coordinates, bridging or towering out to reach it if it has to (used as /bot place xyz)_ - **STORE** _makes the bot carry something to its gather storage and put it away, by item and amount (used as /bot store )_ - **DRAIN** _makes the bot clear the water out of an area with sponges and collect them again afterwards (used with two sets of coordinates)_ - **HUNT** _makes the bot search for and kill any entity within render distance. In the case of a player being the target, the bot can use various combat techniques and travel vast distances to eliminate his target._ - **BUILD** _makes the bot build whatever structure is selected per command from the creator's schematics folder, or the server's own._ - **OPENINV** _opens a menu with the bot's own pack and its ender chest, both editable directly_ - **ENDERCHEST** _sends everything the current job cannot use to the bot's ender chest_ - **MEND** _makes the bot repair its worn Mending gear with bottles o' enchanting_ - **MENDORDER** _sets which tools matter first and which to leave alone (used as /bot mendOrder blacklist )_ - **COMMANDCHAIN** _runs a list of commands one after another, separated by commas. save, run and delete keep them under a name (used as /bot commandchain mine iron_ore 64, store iron_ore all)_ - **WAIT** _makes the bot stand and wait for a set time, meant as a step inside a chain (used as /bot wait 5m30s)_ - **FACE** _makes the bot look at an entity, once or constantly (used as /bot face )_ - **BODYGUARD** _makes the bot follow someone and constantly protect them from any attacker. takes start with a name, or stop (used as /bot bodyguard start ). the target can be another bot, so one works while the other watches its back_ - **FISH** _finds nearest open body of water bigger than 5x5, stands at its edge and uses fishing rods given to it to fish. Compatible with storage gather_ - **RECORDWORKFLOW** _starts a guided recording session in which every move and action of the operator is saved under a given name_ - **DOWORKFLOW** _makes the bot walk to the start of one of your recorded workflows and replay it exactly_ - **TAKECONTROL** _makes the operator and the bot switch places and gives the operator the bots items with full control over it. say it once to take control, again to let go_ **Carpet Controls** _(used as /bot xxx, all of them also buttons in the menu)_ - **attack, use, jump, drop, dropStack, swapHands** _each taking once, continuous, interval or stop_ - **move** _forward, backward, left, right or stop_ - **sneak / unsneak, sprint / unsprint, mount / dismount** _held on and off like a key_ - **look** _points the bot north, south, east, west, up, down, or at a set of coordinates_ - **turn** _turns the bot by a number of degrees (used as /bot turn )_ - **hotbar** _selects a hotbar slot, 1 to 9_ **Combat Rules** _(used as /bot combatrule xxx , or all instead of a rule name)_ - **allowelytra** _allows the bot to use an elytra for long range travel and attacks with mace and spear_ - **allowmace** _allows the bot to use a mace in combination with elytra (if allowed) to aggressively mace chain its player target_ - **allowspear** _allows the bot to lunge towards the player to catch up since it cant sprint jump (if enchanted spear is given) or fly into the player using elytra (if allowed) to do massive amounts of damage_ - **allowtrident** _allows the bot to use a riptide enchanted trident to more easily traverse large bodies of water, with which right now (water in general) it struggles_ - **allowbow** _exclusively early game rule auto dissabled when elytra and others get allowed to give the bot a chance to do damage from a distance with minimal gear_ **Gameplay Rules** _(used as /bot gameplayrule xxx , or all instead of a rule name)_ - **mobdefense** _lets the bot defend itself from hostile mobs during any process, on by default_ - **breathing** _lets the bot surface for air on its own when it is drowning, on by default_ - **eating** _lets the bot care about its hunger and pause whatever it is doing to eat, on by default_ - **durability** _keeps a safety margin on tools so they don't shatter, on by default_ - **mend** _lets the bot stop and repair its own Mending gear once a tool is down to its last uses, swapping to a spare first if it has one_ - **draining** _decides how the bot deals with water while area mining; sponges when it has them, filling it in when it doesn't. on by default_ - **pickmineitems** _makes the bot actively try to pick up items dropped from the mine command_ - **workflowloop** _makes the bot repeat a workflow forever, returning to the start after every finished cycle_ - **chainloop** _makes a finished command chain start again from the top_ - **biomeseek** _lets the bot travel to a biome that actually has what it was sent to mine, instead of reporting there is none nearby_ - **adaptivecrafting** _lets the bot say what a recipe is missing and then go and mine it, turning pickmineitems on while it is active_ - **easycontrols** _right-click the bot to open its control panel, sneak-right-click to stop it. on by default_ - **visualselect** _makes the menu ask with a chest of blocks, spawn eggs or player heads instead of asking you to type_ **Group Commands** _(used as /botgroup xxx)_ - **add** _puts bots into the group, making the group itself if it does not exist yet (used as /botgroup add )_ - **remove** _takes bots back out. the group disappears along with its last member_ - **any other command** _/botgroup runs that command once for every bot in the group, from mining and building to stopping and killing them all at once_ - **/botgroups** _lists all of your groups and the bots in them_ **Positional Commands** _(used as /bot storage )_ - **storage gather** _used to tell the bot where to deposit gathered items (from mining or fishing) in case of a full inventory. provide chests or similar_ - **storage build** _used to tell the bot where to find materials for builds. provide chests or similar with materials_ - **storage mend** _used to tell the bot where its own spare tools and bottles o' enchanting are kept. looked in before the ender chest, and leftover bottles go back into it_ **Declaration Commands** _(used as /)_ - **declareNetherPortal** _tells bot a position for a nether portal_ - **declareEndPortal** _tells bot a position for an end portal_ - **automatadebug** _controls how much the bots say in chat; joinmsg for the message on world join, all for everything else. with all off you still get errors and warnings. perf reports what a bot's pathfinding and mining are costing the server_ ## Bugs and Further Development - For suggestions, bug reports or questions, feel free to join the discord server - Nearing the first full release, 1.0.0, bigger updates will become more sparse, bug fixes will still happen often however - Further internal Bug-Testing sessions are to be held to further optimize results