Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mapart plugin #26

Open
bstar16 opened this issue Oct 18, 2023 · 27 comments
Open

Mapart plugin #26

bstar16 opened this issue Oct 18, 2023 · 27 comments
Assignees
Labels
enhancement New feature or request

Comments

@bstar16
Copy link

bstar16 commented Oct 18, 2023

just curious if this bot would be capable of making mapart if someone coded such thing, would be survival obviously and fully afk if also possible

@SilkePilon
Copy link
Collaborator

i think this can be done.

you can even use a lib to convert an image to minecraft blocks (there are also websites that can do this) and make the bot build it

@SilkePilon
Copy link
Collaborator

if you want you can make a plugin for it (if you decide to code it) so everyone can use it

@SilkePilon
Copy link
Collaborator

https://minecraftart.netlify.app/ < maybe

@bstar16
Copy link
Author

bstar16 commented Oct 18, 2023

https://rebane2001.com/mapartcraft/ this website turns images into schematics and is very customizable

@SilkePilon
Copy link
Collaborator

SilkePilon commented Oct 18, 2023

https://github.com/PrismarineJS/mineflayer-builder/ can work

its in js but does also work in python. you also need to change the createbot part to use lodestone

@bstar16
Copy link
Author

bstar16 commented Oct 18, 2023

the main issue i see is getting bot to collect more resources when it runs out - how will it know where to get them from? will it be able to know which shulkers to use if the user is making a larger mapart? etc etc. On servers that allowing duping like anarchy servers this bot would thrive their, keep in mind tho carpet duping still works on most servers even if it isnt anarchy and such thing is allowed. I'm mentioning carpet duping since the website listed above supports making maparts in this way, it just adds placeholder blocks under the carpet, you can also use frost walker but i dont think that would be easy to code.

@SilkePilon
Copy link
Collaborator

You will need to add your own code for getting blocks. I don't know if that plugins support survival

@bstar16
Copy link
Author

bstar16 commented Oct 18, 2023

https://github.com/PrismarineJS/mineflayer-builder/ can work

its in js but does also work in python. you also need to change the createbot part to use lodestone

im not sure how useable this actually is for the reasons mentioned above. the main goal is to be able to automate the process in survival which would be great. dont get me wrong i love spending hours placing all these blocks with printer and then seeing my creation, however would be nice to be able to go afk and do other things.

@SilkePilon
Copy link
Collaborator

Well mineflayer has a plugin to load those blueprints. You can write your own code based on that data

@bstar16
Copy link
Author

bstar16 commented Oct 18, 2023

yeah i dont have the skills to code such thing unfortunately, hopefully someone else does tho would be sick to have a bot for this.

@bstar16
Copy link
Author

bstar16 commented Oct 18, 2023

would probably be easier as a mod but it would be nice to make maparts from a web panel

@SilkePilon
Copy link
Collaborator

I can maybe make it as a plugin but it's gonna take some time

@bstar16
Copy link
Author

bstar16 commented Oct 18, 2023

that would be great, honestly would consider compensating you for your time if you're serious about it. Mapart is probably the only thing that is stopping me from not playing the game just think its amazing you can create almost anything even tho its just pixels

@SilkePilon SilkePilon changed the title Mapart Bot? Mapart plugin Oct 18, 2023
@SilkePilon
Copy link
Collaborator

Going to work on a plugin for this.

@SilkePilon SilkePilon self-assigned this Oct 24, 2023
@SilkePilon SilkePilon added the enhancement New feature or request label Oct 24, 2023
@SilkePilon
Copy link
Collaborator

Good news @bstar16 i almost got it fully working!

@SilkePilon
Copy link
Collaborator

@bstar16 i just implemented it after some hours of coding!

import lodestone
from lodestone import plugins

mcbot = lodestone.createBot(
  host='localhost',
  port=44103,
  username='Bot',
  auth='offline',
  ls_plugin_list=[plugins.schematic]
)
input('press enter... ')

mcbot.emit('build_schematic', '../examples/schematics/smallhouse.schem')

@bstar16
Copy link
Author

bstar16 commented Oct 30, 2023

wow that's great! how did you implement it does the bot begin to build the map after you set the coordinates of where it needs to be placed and how does it get the resources for the map. quite amazed you did this, good job

@bstar16
Copy link
Author

bstar16 commented Oct 30, 2023

also how does it take the schematics, would love a full walkthrough of what it's capable of so far

@SilkePilon
Copy link
Collaborator

Well atm i fully converted the JavaScript (old code) to python. Atm it does not work in survival. Although this is really easy to implement. Tho it cant get the items itself. It needs to be in the inventory. (For creative it gets it from the creative menu). In the examples folder there are some great examples including an map art of the lodestone logo. I have still a lot of bugs to work out bur im planning on doing that today.

@SilkePilon
Copy link
Collaborator

The code (for now) only supports .schem and .nbt files but .schmatics can be converted to .nbt online

@SilkePilon
Copy link
Collaborator

You can try it out on a supperflat world

@SilkePilon
Copy link
Collaborator

@bstar16 I'm working on a update for the plugin. Fixed most bugs and added a progress bar.

@bstar16
Copy link
Author

bstar16 commented Dec 1, 2023

interesting but i'd much rather prefer something that works for survival as that's the main goal, i know mapart bots work for creative but that's not very helpful but i do appreciate what you've done so far

@SilkePilon
Copy link
Collaborator

So for survival mode what does the bot need to do to obtain the blocks?

also maybe join the discord server. Its a bit easier to chat there

@ChuanWu930
Copy link

Please God, I need this robot that can automatically build map art.
Although writing programs is a bit difficult for me, I should be able to give you some inspiration.

@ChuanWu930
Copy link

I hope these robots can get materials from the box. If my blueprint materials are limited, the robots can only take the corresponding materials. The robots can communicate with each other to detect whether there are any missing materials, or there can be an interface that can directly place your materials. nbt file for the robot to detect and build

@ChuanWu930
Copy link

I'm very sorry I can only provide my thoughts, I hope it helps you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants