Baritone AI pathfinder

Baritone AI pathfinder

72.7k Downloads

allow #build to use .nbt files

reticivis-net opened this issue · 19 comments

commented

Currently #build uses .schematic files, An old and now broken format. .nbt files (ones a structure block would save) use 1.14 type string IDs and no more bytelists. They’re both NBT type files at heart, so no new libraries or code will be needed to read the files.

commented

Can you perhaps upload that or link me to it? Would be really great!

lol sorry for the super late reply
this is a sort of hacky python script
put 114blocks.json and your nbt file in the same folder as the script, then edit line 8 of the script (nbt name) and line 50 (output name) and it should spit out a .schematic file that will probably work
nbt2schematic.zip

commented

Schematics are now converted and now work in 1.14.4 and stuff, by the way.

commented
commented

Maybe “allow” isnt the right word here, but you get what I mean hopefully

commented

There's currently a workaround for this: Schematica can load .nbt files just like schematics, and the #schematica command works perfectly fine for auto-building .nbt files once you load it in Schematica. (This won't work on versions above 1.12 because Schematica does not support them.)

commented

Huh. There still should be an update so it works on 1.14+ since the schematic format itself is outdated (it uses 8-bit numeric item IDs)

Also I coded a workaround myself (nbt to schematic converter in python)

commented

Also I coded a workaround myself (nbt to schematic converter in python)

Can you perhaps upload that or link me to it? Would be really great!

commented

How did you create/obtain 114blocks.json?

commented

This website lets you convert nbt to schematic https://cubical.xyz

commented

i don't really understand how the python thing works could you make a tutorial or something explaining how to use it?

commented

look at the code

commented
commented

Can you perhaps upload that or link me to it? Would be really great!

lol sorry for the super late reply
this is a sort of hacky python script
put 114blocks.json and your nbt file in the same folder as the script, then edit line 8 of the script (nbt name) and line 50 (output name) and it should spit out a .schematic file that will probably work
nbt2schematic.zip

so, ive downloaded the files and unzipped them, and ran them through python, but it says "ModuleNotFoundError: No module named 'nbtlib'". what does that mean, and how do i fix that to convert the nbt?

commented

Can you perhaps upload that or link me to it? Would be really great!

lol sorry for the super late reply
this is a sort of hacky python script
put 114blocks.json and your nbt file in the same folder as the script, then edit line 8 of the script (nbt name) and line 50 (output name) and it should spit out a .schematic file that will probably work
nbt2schematic.zip

so, ive downloaded the files and unzipped them, and ran them through python, but it says "ModuleNotFoundError: No module named 'nbtlib'". what does that mean, and how do i fix that to convert the nbt?

nbtlib is an external library that isnt included with python but is downloadable with pip. run <whatever python exe you use> -m pip install nbtlib and try again

commented

Can you perhaps upload that or link me to it? Would be really great!

lol sorry for the super late reply
this is a sort of hacky python script
put 114blocks.json and your nbt file in the same folder as the script, then edit line 8 of the script (nbt name) and line 50 (output name) and it should spit out a .schematic file that will probably work
nbt2schematic.zip

so, ive downloaded the files and unzipped them, and ran them through python, but it says "ModuleNotFoundError: No module named 'nbtlib'". what does that mean, and how do i fix that to convert the nbt?

nbtlib is an external library that isnt included with python but is downloadable with pip. run <whatever python exe you use> -m pip install nbtlib and try again

cough cough, im stupid, so im editing this once again
not sure what this means:
lookuptable[palette[int(block["state"])]]
KeyError: 'minecraft:cobble_stone'

i did the script with a different .nbt file, and it did the same thing but with white concrete this time

(also, thanks for responding to me, it means quite a bit that you responded to a thing this "old")

commented

Can you perhaps upload that or link me to it? Would be really great!

lol sorry for the super late reply
this is a sort of hacky python script
put 114blocks.json and your nbt file in the same folder as the script, then edit line 8 of the script (nbt name) and line 50 (output name) and it should spit out a .schematic file that will probably work
nbt2schematic.zip

so, ive downloaded the files and unzipped them, and ran them through python, but it says "ModuleNotFoundError: No module named 'nbtlib'". what does that mean, and how do i fix that to convert the nbt?

nbtlib is an external library that isnt included with python but is downloadable with pip. run <whatever python exe you use> -m pip install nbtlib and try again

cough cough, im stupid, so im editing this once again
not sure what this means:
lookuptable[palette[int(block["state"])]]
KeyError: 'minecraft:cobble_stone'

i did the script with a different .nbt file, and it did the same thing but with white concrete this time

(also, thanks for responding to me, it means quite a bit that you responded to a thing this "old")

Can this python be used in convert 1.16.5 nbt to 1.16.5 schematic?

commented

Can you perhaps upload that or link me to it? Would be really great!

lol sorry for the super late reply

this is a sort of hacky python script

put 114blocks.json and your nbt file in the same folder as the script, then edit line 8 of the script (nbt name) and line 50 (output name) and it should spit out a .schematic file that will probably work

nbt2schematic.zip

so, ive downloaded the files and unzipped them, and ran them through python, but it says "ModuleNotFoundError: No module named 'nbtlib'". what does that mean, and how do i fix that to convert the nbt?

nbtlib is an external library that isnt included with python but is downloadable with pip. run <whatever python exe you use> -m pip install nbtlib and try again

cough cough, im stupid, so im editing this once again

not sure what this means:

lookuptable[palette[int(block["state"])]]

KeyError: 'minecraft:cobble_stone'

i did the script with a different .nbt file, and it did the same thing but with white concrete this time

(also, thanks for responding to me, it means quite a bit that you responded to a thing this "old")

Can this python be used in convert 1.16.5 nbt to 1.16.5 schematic?

Maybe? Like I said, it was bodged together code just good enough to get the job done at the time. So,,, maybe? Obviously won't work on blocks added after 1.12 but might still work with the rest

commented

Can you perhaps upload that or link me to it? Would be really great!

lol sorry for the super late reply

this is a sort of hacky python script

put 114blocks.json and your nbt file in the same folder as the script, then edit line 8 of the script (nbt name) and line 50 (output name) and it should spit out a .schematic file that will probably work

nbt2schematic.zip

so, ive downloaded the files and unzipped them, and ran them through python, but it says "ModuleNotFoundError: No module named 'nbtlib'". what does that mean, and how do i fix that to convert the nbt?

nbtlib is an external library that isnt included with python but is downloadable with pip. run <whatever python exe you use> -m pip install nbtlib and try again

cough cough, im stupid, so im editing this once again

not sure what this means:

lookuptable[palette[int(block["state"])]]

KeyError: 'minecraft:cobble_stone'

i did the script with a different .nbt file, and it did the same thing but with white concrete this time

(also, thanks for responding to me, it means quite a bit that you responded to a thing this "old")

The error means it can't find the numeric block id for "minecraft:cobble_stone" but the namespaced id of cobble doesn't have an underscore so "cobble_stone", to my knowledge, isn't a thing? What program is generating your schematic files

commented

Can you perhaps upload that or link me to it? Would be really great!

lol sorry for the super late reply

this is a sort of hacky python script

put 114blocks.json and your nbt file in the same folder as the script, then edit line 8 of the script (nbt name) and line 50 (output name) and it should spit out a .schematic file that will probably work

nbt2schematic.zip

so, ive downloaded the files and unzipped them, and ran them through python, but it says "ModuleNotFoundError: No module named 'nbtlib'". what does that mean, and how do i fix that to convert the nbt?

nbtlib is an external library that isnt included with python but is downloadable with pip. run <whatever python exe you use> -m pip install nbtlib and try again

cough cough, im stupid, so im editing this once again
not sure what this means:
lookuptable[palette[int(block["state"])]]
KeyError: 'minecraft:cobble_stone'
i did the script with a different .nbt file, and it did the same thing but with white concrete this time
(also, thanks for responding to me, it means quite a bit that you responded to a thing this "old")

The error means it can't find the numeric block id for "minecraft:cobble_stone" but the namespaced id of cobble doesn't have an underscore so "cobble_stone", to my knowledge, isn't a thing? What program is generating your schematic files

a friend introduced me to the website, and its been pretty nice, but ive been using https://rebane2001.com/mapartcraft/
is there some other website i should be using to get past this error? ;-;