• 2

    posted a message on maptranslator - Minecraft map translator

    GitHub: to2mbn/maptranslator

    The project is licensed under GPLv2.



    1. Supports translating Minecraft1.8+ maps
    2. Resolving commands (e.g. for command /tellraw @a {"text":"ABC"}, ABC will be extracted. Handling commands that are complex or multi-level nested is also ok.)
    3. Supports loot tables and structure block
    4. You can use NBT Explorer to find the source of an original text when translating
    5. It can be used to check the commands in maps(though it's used to translate maps)


    Download from GitHub Releases

    If you find a bug, please open an issue on GitHub. I don't come here often.


    User Tutorial (GitHub wiki)

    If you are a mapmaker, and want to use the tool to check your map, here is the tutorial: Using maptranslator to check maps (GitHub wiki)


    People who helped me with development:

    LoC statistics

    # commit: 1c518a295ec8562848762daa7981bee803911f97
    $ cloc .
         102 text files.
         102 unique files.                                          
          81 files ignored.
    http://cloc.sourceforge.net v 1.60  T=0.19 s (502.8 files/s, 58537.4 lines/s)
    Language                     files          blank        comment           code
    Java                            91           1433           2020           7480
    Maven                            1              1              0             68
    YAML                             1              1              9             31
    CSS                              2              3              0             15
    SUM:                            95           1438           2029           7594

    The principle of the algorithm:

    I turn NBT/JSON into a tree. And I define that each node has one or more than one tag, which represents the properties of a node(such as the usage). Then I define some rules. A rule defines that what tags will be added to a node and the condition that need to meet. Only when the condition is met, the tags will be added to the node. The condition is based on the properties and tags that the node and the nodes related to the node have. First, I add some tags to the root node. Then, I repeat adding tags to the nodes according to the rules, until no tag can be added. For commands, I extract the NBT/JSON in it, parse the NBT/JSON and turn it into a tree. Then, as I said above, I repeat adding tags to the nodes in the tree. In the end, I just need to find out the nodes with translatable tag.

    Sorry for my poor english;)

    Posted in: Minecraft Tools
  • To post a comment, please or register a new account.