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
2 changes: 1 addition & 1 deletion plugins.json
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@
"icon": "account_balance",
"author": "JannisX11 & Krozi",
"description": "Import structure files generated by structure blocks in Minecraft Java",
"version": "2.1.6",
"version": "2.1.7",
"min_version": "3.7.0",
"variant": "desktop"
},
Expand Down
36 changes: 35 additions & 1 deletion plugins/structure_importer.js
Original file line number Diff line number Diff line change
Expand Up @@ -732,9 +732,27 @@ function structure_importer_run(ev) {
var dialog = new Dialog({title:'Import Structure', id:'structure_importer_options', lines:[
'<p>Scale: <input type="number" id="scale" value=16></p>',
'<p>Use legacy structure importer: <input type="checkbox" id="structure_importer_legacy"></p>',
'<p>Save assets as default: <input type="checkbox" id="structure_importer_save_assets"></p>',
'<p>Vanilla assets: <input type="text" value="Enter path to assets folder here" id="structure_importer_path_input-0"><button id="structure_importer_path_button-0" onclick="structure_importer_selectResourcePath(this)">Browse</button></p>',
'<button onclick="structure_importer_addResourcePack()" id="structure_importer_add">Add resourcepack'
],
"onOpen": function () {
pathSetting = Settings.get("structure_importer_default_assets")
if (pathSetting) {
var paths = JSON.parse(pathSetting)
if (paths.length > 0) {
for(var i = 0; i < paths.length; i++) {
const assets = paths[i];
var input = $("#structure_importer_path_input-" + String(i))
if (!input[0])
structure_importer_addResourcePack()
input = $("#structure_importer_path_input-" + String(i))

input[0].value = assets
}
}
}
},
"onConfirm": function(data) {
var paths = []
for (var i = 0; i <= structure_importer_resourepackCount; i++) {
Expand All @@ -756,6 +774,12 @@ function structure_importer_run(ev) {
Blockbench.showMessage("Error: no assets folder provided", "center")
throw "Error: no assets folder provided"
}

var saveAssets = $("#structure_importer_save_assets")[0].checked
if (saveAssets){
defaultAssetsSettings.set(JSON.stringify(paths))
Settings.save()
}

var structureBuilder = new StructureBuilder()
structureBuilder.scale = $("#scale")[0].value
Expand Down Expand Up @@ -937,13 +961,14 @@ window.structure_importer_addResourcePack = structure_importer_addResourcePack;
// window.structure_importer_updateSize = structure_importer_updateSize;
window.structure_importer_run = structure_importer_run;

let defaultAssetsSettings;

Plugin.register("structure_importer", {
title: 'Structure Importer',
author: "JannisX11 & Krozi",
icon: "account_balance",
description: "Import structure files generated by structure blocks in Minecraft Java",
version: "2.1.6",
version: "2.1.7",
min_version: "3.7.0",
variant: 'desktop',
onload() {
Expand All @@ -967,13 +992,22 @@ MenuBar.addAction(new Action({
click: structure_importer_run
}), "filter")

defaultAssetsSettings = new Setting("structure_importer_default_assets", {
name: "Structure Importer Default Assets",
type: "text",
icon: "folder_close",
category: "defaults",
description: "The default assets folders used to import structures",
value: "[]"
})
},

onunload() {
MenuBar.removeAction("file.import.structure_importer")
MenuBar.removeAction("filter.structure_importer")
MenuBar.removeAction("structure_importer")
delete StructureBuilder
defaultAssetsSettings.delete()
}
})

Expand Down