TikTokLiveMCBE is a simple tool that connects your TikTok Live stream with your Minecraft BE/PE.
Before you begin, ensure you have Node.js installed on your computer. If you're on an Android device, you can use Termux to run TikTokLiveMCBE.
Click the image below to watch the full setup tutorial on YouTube!
- Download the Latest Release
Download the latest version of TikTokLiveMCBE. Look for the ZIP file in the list of assets.
Show your support by giving it a ⭐!
- Uncompress the ZIP File
- Once the download is complete, extract the contents of the ZIP file to a folder of your choice.
- Navigate to the TikTokLiveMCBE Folder
- Using your terminal or command prompt, navigate to the extracted folder. For example:
cd TikTokLiveMCBE
- Install the Dependencies
npm install
or if you prefer Yarn, first install Yarn globally:
npm install --global yarn
Then install the dependencies:
yarn install
- Start the Server
Start the TikTokLiveMCBE server:
npm start
or if you're using Yarn:
yarn start
TikTokLiveMCBE will prompt you to provide your TikTok username, port number (default is 3000
), and select your desired plugins from the available options.
Welcome to TikTokLiveMCBE!
✔ Enter TikTok username (must be live): rqinix
✔ Enter the port number: 3000
? Select plugins to activate: (Press <space> to select, <a> to toggle all, <i> to invert selection, and <enter> to
proceed)
❯◯ TNT Coin by Rqinix
Welcome to TikTokLiveMCBE!
✔ Enter TikTok username (must be live): rqinix
✔ Enter the port number: 3000
✔ Select plugins to activate: TNT Coin by Rqinix
✔ Connected to rqinix TikTok Live Stream.
Open Minecraft and run this command '/connect localhost:3000' to connect.
<Ctrl + C> to stop the server.
- Connect Minecraft to TikTokLiveMCBE
Once TikTokLiveMCBE is successfully connected to the live stream, open Minecraft and connect to the server using the following command:
/connect localhost:3000
This command establishes the connection between Minecraft and TikTokLiveMCBE. Make sure the port matches the one configured during the setup process.
You can subscribe to Minecraft events like this:
import { connection } from "./core/TikTokLiveMcbe.js";
const { tiktok, minecraft } = connection;
// Subscribe to Minecraft Events
minecraft.subscribeToEvents([
"PlayerMessage",
"BlockBroken",
"BlockPlaced",
// ... other events
]);
// Handle Events
minecraft.on("PlayerMessage", (data) => {
console.log(`PlayerMessage Event: ${data}`);
});
minecraft.on("BlockBroken", (data) => {
console.log(`BlockBroken Event: ${data}`);
});
minecraft.on("BlockPlaced", (data) => {
console.log(`BlockPlaced Event: ${data}`);
});
// ...
Whenever a player sends a message, breaks a block, or places a block, these events will be triggered, and the corresponding code will be executed, such as logging the event data to the console.
For example, when a PlayerMessage event is triggered, the event data is logged as follows:
console.log(`PlayerMessage Event: ${data}`);
This will output the following in the console:
PlayerMessage Event: {"body":{"message":"hello","receiver":"","sender":"Steve","type":"chat"},"header":{"eventName":"PlayerMessage","messagePurpose":"event","version":17039360}}
Similarly, for the BlockBroken event:
console.log(`BlockBroken Event: ${data}`);
The console output will look like this:
BlockBroken Event: {"body":{"block":{"aux":0,"id":"grass_block","namespace":"minecraft"},"count":1,"destructionMethod":0,"player":{"color":"ffededed","dimension":0,"id":-4294967295,"name":"Steve","position":{"x":2.987498283386230,"y":-56.45503997802734,"z":14.11897277832031},"type":"minecraft:player","variant":0,"yRot":-95.82889556884766},"tool":{"aux":0,"enchantments":[],"freeStackSize":0,"id":"iron_pickaxe","maxStackSize":1,"namespace":"minecraft","stackSize":1},"variant":0},"header":{"eventName":"BlockBroken","messagePurpose":"event","version":17039360}}
And for the BlockPlaced event:
console.log(`BlockPlaced Event: ${data}`);
This will output:
BlockPlaced Event: {"body":{"block":{"aux":0,"id":"diamond_block","namespace":"minecraft"},"count":1,"placedUnderWater":false,"placementMethod":0,"player":{"color":"ffededed","dimension":0,"id":-4294967295,"name":"Steve","position":{"x":11.93433761596680,"y":-56.45503997802734,"z":13.82549858093262},"type":"minecraft:player","variant":0,"yRot":-95.34191131591797},"tool":{"aux":0,"enchantments":[],"freeStackSize":0,"id":"diamond_block","maxStackSize":64,"namespace":"minecraft","stackSize":64}},"header":{"eventName":"BlockPlaced","messagePurpose":"event","version":17039360}}
minecraft.sendCommand('say hello, world!');
You can also handle TikTok events, such as receiving gifts, likes, chats and follows, as shown below:
import { connection } from "./core/TikTokLiveMcbe.js";
const { tiktok, minecraft } = connection;
// ...
tiktok.events.onGift(data => {
// If this is a streakable gift and the streak is NOT ending, handle it temporarily
if (data.giftType === 1 && !data.repeatEnd) {
minecraft.sendCommand(`say ${data.uniqueId} is sending gift ${data.giftName} x${data.repeatCount} (streak in progress)`);
return;
}
// Otherwise, process the gift (final count, send Minecraft message, etc.)
const { giftName, uniqueId, nickname } = data;
minecraft.sendCommand(`tellraw @a {"rawtext":[{"text":"§a§l${nickname} §7has sent §a§l${giftName} x${data.repeatCount}"}]}`);
});
tiktok.events.onChat(data => {
const { uniqueId, nickname, comment } = data;
minecraft.sendCommand(`tellraw @a {"rawtext":[{"text":"§a§l${nickname} §7says: §a§l${comment}"}]}`);
});
tiktok.events.onLike(data => {
const { uniqueId, nickname, likeCount } = data;
minecraft.sendCommand(`tellraw @a {"rawtext":[{"text":"§a§l${nickname} §7liked the stream §a§l${likeCount} times!"}]}`);
});
tiktok.events.onFollow(data => {
const { uniqueId, nickname } = data;
minecraft.sendCommand(`tellraw @a {"rawtext":[{"text":"§a§l${nickname} §7has followed the stream!"}]}`);
});
tiktok.events.onShare(data => {
const { uniqueId, nickname } = data;
minecraft.sendCommand(`tellraw @a {"rawtext":[{"text":"§a§l${nickname} §7has shared the stream!"}]}`);
});
// ...
TikTokLiveMCBE supports custom plugins to extend its functionality. Each plugin must have its own folder containing two files:
manifest.json
- This file describes the plugin's metadata.
Below is an example:
{
"name": "My Custom Plugin",
"version": "1.0.0",
"description": "A custom plugin for TikTokLiveMCBE.",
"author": "Your Name"
}
Ensure manifest.json
includes name
, version
, description
, and author
.
main.ts
ormain.js
- Contains the plugin's logic. Example:
import { TikTokLiveMCBE } from "../../core/TikTokLiveMcbe.js";
export function plugin(tiktokLiveMcbe: TikTokLiveMCBE): void {
const { tiktok, minecraft } = tiktokLiveMcbe;
console.log('Hello TikTokLiveMCBE');
minecraft.on("connected", () => {
const data = { tiktokUserName: tiktok.username };
minecraft.sendCommand(`tellraw @a {"rawtext":[{"text":"LOL"}]}`);
});
}
plugins/
├── MyCustomPlugin/
│ ├── manifest.json
│ └── main.ts
If you’ve created a plugin that you’d like to share with the community, feel free to open a pull request or contribute to the TikTokLiveMCBE repository.
Feel free to contribute by submitting issues or pull requests. Any improvements or new features are welcome!