maruohon / litematica

A modern client-side schematic mod for Minecraft
GNU Lesser General Public License v3.0
730 stars 221 forks source link

AutoPrinter #25

Open JeffWooden opened 5 years ago

JeffWooden commented 5 years ago

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.

maruohon commented 5 years ago

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.

JeffWooden commented 5 years ago

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 ?

maruohon commented 5 years ago

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.

Fixer-007 commented 5 years ago

Your replies are very helpful, please consider adding this to your Howto/FAQ/whatever. https://github.com/maruohon/litematica/issues/25#issuecomment-467075726 https://github.com/maruohon/litematica/issues/28#issuecomment-475336835 https://github.com/maruohon/litematica/issues/1#issuecomment-447584044

Andrews54757 commented 4 years ago

@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.

silversquirl commented 4 years ago

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.

maruohon commented 4 years ago

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

Andrews54757 commented 4 years ago

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

silversquirl commented 4 years ago

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.

Andrews54757 commented 4 years ago

@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

Chat-Mo commented 4 years ago

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

maruohon commented 4 years ago

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