Giter Club home page Giter Club logo

unbted's Introduction

Una's NBT Editor

Note: This repository is primarily on Forgejo โ€” the GitHub repository is a mirror. To contribute to this repository, you must do it on Forgejo. You can log in to Forgejo with a GitHub account.

unbted (Una's NBT Editor) is a command-line interactive NBT editor. That's about it, really. Since it's command-line, it can be easily used over SSH connections on remote servers, instead of having to download the file and edit it locally with one of the many GUI editors.

Downloads

Releases are on Forgejo. 1.2.1 and prior are also on GitHub.

Running

Run the JAR (e.g. unbted-1.2.jar) with any JRE. You can then put a shell script like the following in your PATH:

#!/bin/sh
java -jar /opt/unbted/unbted-1.2.jar "$@"

Features

  • ANSI-colorized output for more distinctive and easier to skim output
  • Can convert NBT files to well-formed JSON for processing by anything that can parse JSON
    • A special NBT JSON format is supported that can be roundtripped. Want to edit an NBT file with jq? Now you can.
  • Support for "inferred" types when printing NBT trees in its default format. This includes:
    • JSON - JSON objects such as generatorOptions in level.dat will be colorized, indented, and split into multiple lines for easier reading
    • Old-style UUID - Pairs of long NBT tags with names ending in Most and Least will be printed as a UUID
    • New-style UUID - Int arrays of length 4 will be decoded into UUIDs
      • The set command supports both forms of UUIDs, which makes working with them easy
    • Forge registries - Lists containing compounds with only two children, K and V, will be printed in a condensed format for easier skimming, and sorted by their value
    • Booleans - unbted will try to guess whether or not an NBT byte is a boolean, and if it thinks it is, will print 0 as false and 1 as true.
  • Support for all NBT tags, including int and long arrays
  • Full help included
  • Full line editing and tab completion
  • Persistent history
  • Compression autodetection
  • Written in Java and compiled to a native statically linked executable
  • Support for little-endian legacy Pocket Edition NBT files
  • SNBT (i.e. command block format) support for set --compound

Planned features

  • Anvil file support
  • Scripting

Building

gradle build, as per usual. Your JAR will be in build/libs.

License

unbted - Una's NBT Editor
Copyright (C) 2018 - 2023 Una Thompson (unascribed)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

unbted's People

Contributors

unascribed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

dashaw92

unbted's Issues

Unable to set player position to negative coordinates

Like the title says, I was trying to modify my player's position, but I seem to be unable to set the x, y, or z values to negatives.

*[/Data/Player/Pos]> ls
double 0 = 8713.701122062399
double 1 = 83.62000000476837
double 2 = 3737.35901907849
*[/Data/Player/Pos]> cd 0
unbted: cd: double is not valid here
*[/Data/Player/Pos]> set 0 -3500.0
unbted: set: 3 is not a recognized option
*[/Data/Player/Pos]> set 0 "-3500.0"
unbted: set: 3 is not a recognized option
*[/Data/Player/Pos]> set "0" -3500.0
unbted: set: 3 is not a recognized option
*[/Data/Player/Pos]> set "0" "-3500.0"
unbted: set: 3 is not a recognized option
*[/Data/Player/Pos]> 

I have also tried using backslashes to no avail

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.