Skip to content
Back to search

LiftOff

by MiracleForest

Carry On for Minecraft Bedrock Edition: pick up chests, blocks and mobs and carry them in your arms

0.1.1

README0.1.1

LiftOff

Build License

Pick up chests, blocks and mobs and carry them in your arms. LiftOff brings Tschipp's Java mod Carry On to Bedrock, for dedicated servers and single-player worlds.

How to play

  • Pick up: with both hands empty, hold the Carry key (default Left Shift; on a vanilla client: sneak) and use (right-click) a block that has contents, such as a chest, or a mob. You carry it in both arms and walk slower, the heavier the load. Players can be carried too.
  • Put down: use a block while carrying. Blocks keep their contents; mobs keep their name, health and data.
  • Stack: use a mob while carrying a mob to put it on top.
  • While carrying you cannot switch the hotbar slot, use items, open containers, break blocks or attack.

Servers can choose what may be carried (black/whitelists, scripts, custom pickup conditions); see docs/SPEC.md for the complete behaviour.

Players without the client mod can still pick up and put down everything. They see the arm pose and a stand-in of the carried block or mob (a carried chest shows no block), but no first-person view of the load.

Differences from Carry On

  • In first person a carried mob is a client-side stand-in of its type: its variant, colours, age, saddle, chest, shorn wool, armour and held items come from the carried data. Its size comes from the mob your client saw picked up, another mob of that kind it has seen, or a table of vanilla mob sizes (a modded mob of a kind the client has never seen is sized as one block). An armour stand (blacklisted by default) is not drawn in first person.
  • Players without the client mod may briefly see the hotbar slot change or the block-breaking crack while carrying.

Install

You need Minecraft Bedrock Edition 1.26.51 for Windows (x64) with LeviLamina 26.51.x (on a client, installed through LeviLauncher).

With lip:

lip install github.com/MiracleForest/LiftOff         # dedicated server
lip install github.com/MiracleForest/LiftOff#client  # client

Or download the zip from the latest release and extract it next to LeviLamina/:

WhereZipFolder
Dedicated serverliftoff-server-windows-x64.zipplugins/LiftOff/
Client (LeviLauncher)liftoff-client-windows-x64.zipmods/LiftOff/

Commands

CommandWhoWhat it does
/carryon debugEveryoneShows what you carry (block, state, NBT / entity, name, NBT).
/carryon clearEveryoneDeletes what you carry without placing it.
/carryon clear <targets>OperatorsDeletes what the targets carry.
/carryon place [targets]OperatorsPuts down what you / the targets carry, at the nearest free spot.
/carryon reloadOperators, consoleReloads the configuration and translations.
/carryon selftest ["glob"]Operators, consoleRuns the in-game selftests.

/liftoff is an alias of /carryon.

Configuration

Settings live in config/*.json inside the mod folder (plugins/LiftOff/ or mods/LiftOff/). Each file is created with defaults on first start; /carryon reload applies changes. On a server, a client with the mod applies changes to its own carryon_client.json by itself within about a second.

FileSettingDefaultMeaning
mod.jsonlanguageen_USLanguage of server messages when a player's own language has no translation.
usePlayerLocaletrueUse each player's game language when a translation exists.
requireResourcePacktrueDedicated server: players must accept the resource pack to join.
carryon.jsonsettings.maxDistance2.5How far away (blocks) something can be picked up.
settings.scaleDistancetrueScale the distance with the reach (longer in creative).
settings.maxEntityWidth / maxEntityHeight1.5 / 2.5Largest mob that can be picked up in survival.
settings.relativePlayerScaletrueMob sizes relative to the carrier's size.
settings.heavyTiles / heavyEntitiestrueHeavier blocks (more contents) and bigger mobs slow you down more.
settings.blockSlownessMultiplier / entitySlownessMultiplier1.0Scale the slowness.
settings.slownessInCreativetrueSlow down creative players too.
settings.pickupAllBlocksfalseAllow blocks without contents (stone, ...).
settings.pickupUnbreakableBlocksfalseAllow unbreakable blocks in survival.
settings.pickupHostileMobsfalseAllow monsters in survival.
settings.allowBabiesfalseBaby mobs ignore the entity lists.
settings.pickupPlayerstrueAllow carrying players.
settings.stackableEntitiestrueAllow stacking mobs.
settings.maxEntityStackLimit10Highest mob stack.
settings.entitySizeMattersStackingtrueOnly smaller (or equal) mobs go on top.
settings.hitWhileCarryingfalseAllow breaking blocks and attacking while carrying.
settings.dropCarriedWhenHitfalseDrop what you carry when you take damage.
settings.useScriptsfalseEnable scripts (config/scripts/).
settings.useWhitelistBlocks / useWhitelistEntities / useWhitelistStackingfalseUse the whitelists instead of the blacklists.
settings.placementStateExceptions(list)Block states recomputed when a block is put down.
blacklist.forbiddenTiles / forbiddenEntities / forbiddenStacking(lists)What can never be picked up / stacked on.
whitelist.allowedBlocks / allowedEntities / allowedStacking[]What can be, in whitelist mode.
customPickupConditions.customPickupConditionsBlocks / ...Entities[]Pickups that need a stage (player tag carryon:stage:<name>).
carryon_client.jsonsettings.facePlayerfalseCarried blocks face you.
settings.rotateEntitiesSidewaysfalseCarried mobs are held sideways.
settings.renderArmstrueShow the arms holding the load.
modelOverrides.modelOverrides(list)Draw some blocks as another block or item.

List entries are ids (minecraft:chest), wildcards (minecraft:*_door), tags (#tag) or ids with states (minecraft:seagrass[sea_grass_type=double_top]).

Contributing

See CONTRIBUTING.md. AGENTS.md is the developer guide.

Credits

LiftOff reproduces the behaviour of Carry On by Tschipp. It copies no code or assets from it.

License

LGPL-3.0-or-later

Install LiftOff

Run this in your server folder with lip:

lip install github.com/MiracleForest/LiftOff@0.1.1

On a client, install it through LeviLauncher

Download from GitHub