Please Note: The TotalFreedom Forum has now been put into a read-only mode. Total Freedom has now closed down and will not be returning in any way, shape or form. It has been a pleasure to lead this community and I wish you all the best for your futures.
  • I've been working on a bot called EpsilonBot over the past few weeks, so I'll make a post describing what I've implemented so far.

    Commands

    • `help [] - shows a list of commands
    • `repair - Attempts to repair a specified plot
    • `creator - Says who the bot's creator is (it's me)
    • `test - A test command
    • `reloadindex - Reloads the plot index
    • `buildstatus - Gets the current build status
    • `mapart [] [] - Builds mapart for a given image
    • [RESTRICTED] `restart - Restarts the bot
    • [RESTRICTED] `stop - Stops the bot

    Build Sync

    A system that lets my sync procedural builds I make in a local server with TotalFreedom

    On my local build server, it looks like this:

    I write code in golang that creates a file I call REGION_DUMP representing a structure in Minecraft, and my local server has a plugin that automatically detects and loads these files into the world. The bossbar at the top is how my plugin tells me what plot I'm currently standing in. I can select, name, and save plots. The REGION_DUMP is always loaded into my currently selected plot.

    This allows me to immediately see my procedural builds ingame whenever I edit and run my code, which is very useful because I usually edit and rerun my programs many times before I'm satisfied with the result.

    When saved, the plots are registered in an index that can be copied over to EpsilonBot's BuildSync directory, which is how I sync my local builds over to TotalFreedom.

    With this, I've been able to create all sorts of interesting procedural code to generate structures in minecraft, including a fancy tree generator that uses a space colonization algorithm, various hypercomplex fractals that I've tuned to look good in minecraft (such as the quaternion geode you see above), an mmd converter that can turn convert mmd models into minecraft structures, and more.

    Mapart

    You use the mapart command like `mapart <url> [<width>] [<height>]

    The url must be a direct link to an image. If you give it a link to a page containing an image, it will not know what to do.

    As for width and height, these are optional arguments that determine the number of maps horizontally and vertically. By default, they are both 1. However, you can specify up to 3x3 mapart.

    For maparts with dimensions greater than 1, all the tiles will be laid out along the x axis, so you can just fly down the line to collect all your maps.

    When it's done, it will give you a warp that you can use to go to where it built the first mapart tile. It will look something like /warp epsilon_mapart_13.

    Source Code

    All of the code used in both EpsilonBot and my local build sync server are open source and can be found on my Github. Here are the links:

    EpsilonBot: https://github.com/hhhzzzsss/EpsilonBot

    Build Sync Server: https://github.com/hhhzzzsss/BuildSyncServer

    Build Sync Plugin: https://github.com/hhhzzzsss/BuildSyncPlugin

  • Quote

      hhhzzzsss I write code in golang that creates a file I call REGION_DUMP representing a structure in Minecraft, and my local server has a plugin that automatically detects and loads these files into the world. The bossbar at the top is how my plugin tells me what plot I’m currently standing in. I can select, name, and save plots. The REGION_DUMP is always loaded into my currently selected plot.

    This allows me to immediately see my procedural builds ingame whenever I edit and run my code, which is very useful because I usually edit and rerun my programs many times before I’m satisfied with the result.

    When saved, the plots are registered in an index that can be copied over to EpsilonBot’s BuildSync directory, which is how I sync my local builds over to TotalFreedom.

    With this, I’ve been able to create all sorts of interesting procedural code to generate structures in minecraft, including a fancy tree generator that uses a space colonization algorithm, various hypercomplex fractals that I’ve tuned to look good in minecraft (such as the quaternion geode you see above), an mmd converter that can turn convert mmd models into minecraft structures, and more.

    I'd like to speak with you about this, please send me a message through discord (DragonSlayer2189#2186) and I'll get back to you as soon as I can