Litematica

Litematica

8M Downloads

AutoPrinter

JeffWooden opened this issue ยท 12 comments

commented

Actually, i don't know how i can use the AutoPrinter in this mod. I see that the tool is named "easyPlace" but i don't know by which way it may works. Thanks in advance to answer my question.

commented

There is no "auto printer" yet. The Easy Place mode basically just allows you to easily place any schematic blocks you click on or look at while holding down the use key (if the hold enabled option is on) in the correct orientation (with some limitations - currently the rotation only works on a Carpet mod server on 1.12). The traditional type auto printer will be added in the (possibly near?) future.

commented

Ok, thanks a lot !
So now if I want to use this tool I just have to hold the easyPlaceActivation's key and right click in direction of the chosen block ?

commented

You have to basically look at each of the schematic blocks while holding down the use key, and having the Easy Place mode enabled, and also the easyPlaceHoldEnabled option enabled (unless you want to actually right click on each block separately).

Also note that you should disable the Easy Place mode after you stop placing blocks, because you can't right click anything else/anywhere else while it's enabled, because it tries to prevent wrongly placed blocks, ie. anything that isn't in the schematic. I'll try to improve it in the future release so that it would only prevent clicks inside the schematic areas.

commented

@maruohon Ive implemented a hacky printer feature on my fork that you can (possibly) use. It works, but since I am new to Minecraft modding, the code is a bit of a mess.

The biggest challenge I think I had was getting the block direction right. Annoyingly, each block seems to have its own direction code. So, what Schematica and the fork does is to have each behavior pre-programmed in. This requires including tons of classes and manually programming edge cases. I think there may be a better method of doing this.

commented

Your fork includes a commit which changes every line ending in the entire codebase to CRLF. I'd recommend fixing your git config so that you don't contaminate every project you work on with Windows line endings.

commented

That, plus the presumably auto-formatted brace style change makes it rather difficult to easily see the actual diff...

commented

@vktec Your right. Apparently, VSCode auto formatted it (I didnt even notice) :(

commented

VSCode was probably the culprit for the brace style change that masa mentioned, but it's likely git itself was to blame for the CRLFs. There's an option you can enable in your git config to automatically translate between CRLF and LF though, so I'd recommend doing that.

commented

@maruohon @vktec I think I fixed it. It should be easier to see now. The main change is in WorldUtils.java -- this should probably be moved to a separate file though

commented

Your replies are very helpful, please consider adding this to your Howto/FAQ/whatever.
#25 (comment)
#28 (comment)
#1 (comment)

commented

Hi @maruohon the printer function will soon be added or you gave up ?

commented

I didn't give up, the printer is still on the to-do list for version 1.0. But there are currently also 112 other lines on the to-do list of various additions and improvements for version 1.0. And I also need to finish various planned changes and additions to malilib and some other mods before I can even start the next merge from 1.12 forward. So there is still no ETA on anything