Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions plugins.json
Original file line number Diff line number Diff line change
Expand Up @@ -1413,13 +1413,13 @@
"title": "Hytale Bridge",
"author": "Tazer",
"icon": "icon.png",
"version": "0.1.0",
"version": "0.1.1",
"description": "A Hytale/Blockbench plugin that bridges the two together seamlessly and effortlessly",
"tags": ["Hytale"],
"dependencies": ["hytale_plugin"],
"variant": "desktop",
"min_version": "5.0.7",
"creation_date": "2026-2-10",
"creation_date": "2026-02-10",
"await_loading": true,
"has_changelog": true,
"repository": "https://github.com/tazercopter/Hytale-Blockbench-Bridge",
Expand Down
10 changes: 7 additions & 3 deletions plugins/hytale_bridge/about.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
<span style="color:#ba372a"><strong>This plugin is intended to be used with the <em>Blockbench Bridge</em> Hytale plugin installed. You cannot connect to Hytale without it. You can install it [here on CurseForge](https://www.curseforge.com/hytale/mods/bbb).</strong></span>

Blockbench Bridge allows to edit Hytale's Common assets (`.blockymodel` & `.png` files specifically) without leaving Blockbench, even on remote servers!
Hytale Bridge allows to edit Hytale's Common assets (`.blockymodel` & `.png` files specifically) without leaving Blockbench, even on remote servers!

You can connect a Blockbench client to the server by running `/blockbench` in the console or as a player with the correct permissions. You will receive an authorisation key which you can input alongside the server's connection address (with the Blockbench-specific port) to form a bridge and sync all files!
You can connect to Hytale by running `/blockbench` in the console or as a player with the correct permissions in your server. You will receive an authorisation key which you can input alongside the server's connection address to form a bridge and sync all files!

Once connected, you'll see all of the asset packs installed on your world, including all of their Common files. You're then free to open any model/texture into blockbench or save any of your creations into your own asset packs. Folder creation/management is also supported, so just Blockbench can manage your entire Common directory!

<sup>Note this plugin is still in beta and some minor bugs are to be expected. I have many more ideas on how to further improve this project, and I'd love to hear all of your thoughts and feedback.</sup>

### Usage
1. Go to the Hytale File Browser Panel > click on Connect to Hytale
2. Input the server address (with the custom Blockbench port the server uses) and the key provided by Hytale to connect.
2. Input the server address and the key provided by Hytale to connect.
3. Left/Right click folders and files to interact
4. Request files at any time by going to File > Request Hytale Files
14 changes: 14 additions & 0 deletions plugins/hytale_bridge/changelog.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,19 @@
]
}
]
},
"0.1.1": {
"title": "0.1.1",
"date": "2026-02-22",
"author": "Tazer",
"categories": [
{
"title": "Changes",
"list": [
"Changed default port in connection dialog to 5520, to match Hytale's",
"Updated some descriptions to match the Hytale plugin better"
]
}
]
}
}
51 changes: 19 additions & 32 deletions plugins/hytale_bridge/hytale_bridge.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
let net;
let fs;
let panel;
let requestFileTreeAction;
let connectToHytaleAction;
let menu;
let usedAddress = 'localhost:8651';

// TODO: panel and actions icon
let net, fs;
let requestFileTreeAction, connectToHytaleAction;
let panel, menu;
let usedAddress = 'localhost:5520';

const bridgeState = {
client: null,
Expand Down Expand Up @@ -47,42 +42,33 @@ BBPlugin.register("hytale_bridge", {
title: "Hytale Bridge",
author: "Tazer",
icon: "icon.png",
version: "0.1.0",
version: "0.1.1",
description: "A Hytale/Blockbench plugin that bridges the two together seamlessly and effortlessly",
tags: ["Hytale"],
dependencies: ["hytale_plugin"],
variant: "desktop",
min_version: "5.0.7",
creation_date: "2026-2-10",
creation_date: "2026-02-10",
await_loading: true,
has_changelog: true,
repository: "https://github.com/tazercopter/Hytale-Blockbench-Bridge",
bug_tracker: "https://github.com/tazercopter/Hytale-Blockbench-Bridge/issues",
onload() {
createPanel();
try {
net = requireNativeModule('net');
} catch {
try {
net = require('net');
} catch {
// ERROR
}
}

try {
fs = requireNativeModule('fs');
} catch {
try {
fs = require('fs');
} catch {
// ERROR
}
}
net = require('net', {
message: "This permission is required to connect to the remote Hytale server socket.",
optional: false
})

fs = require('fs', {
message: "This permission is required to access stored files and encode their data when uploading.",
optional: false
})

requestFileTreeAction = new Action('request_file_tree', {
name: 'Request Hytale Files',
icon: 'add',
icon: 'cloud_download',
click() {
if (bridgeState.client) requestFileTree();
}
Expand Down Expand Up @@ -112,10 +98,11 @@ function createPanel() {
panel = new Panel({
id: 'hytale_file_browser',
name: 'Hytale File Browser',
icon: 'add',
icon: 'folder_open',
resizable: true,
growable: true,
expand_button: true, default_side: 'left',
expand_button: true,
default_side: 'left',
default_position: {
slot: 'left_bar',
float_position: [0, 0],
Expand Down
Loading