Direwolf20-MC / BuildingGadgets

Sometimes, building large structures can be a little tedious, and take a lot of effort. Not all of us are great builders you know!
https://www.curseforge.com/minecraft/mc-mods/building-gadgets
MIT License
204 stars 69 forks source link

Copy/Paste Template Library #580

Open TemperedFool opened 3 years ago

TemperedFool commented 3 years ago

This suggestion has a few related pieces:

My mod of comparison would be how Schematica in 1.12 handles loading models.

MajorTuvok commented 3 years ago

This is related to #563 and might even interfere if, access is granted to loading the templates all the time.

MajorTuvok commented 3 years ago

@TemperedFool I kind of wonder why it is a necessary QoL improvement to copy a file+folder name instead of the contents of a text file - opening the editor of choice should only be an additional click followed by ctrl+a and ctrl+c. Furthermore I'm pretty sure that the copy paste gadget doesn't directly take Templates in it's UI by design - that really doesn't fit there (imo) [@MichaelHillcox ?]

If as per (#)563 Templates would be loadable as datapacks, you could of course copy your favorite templates around and have them availble to you...

However regarding your first comment: I'm pretty sure that this can be covered by (#)563...

TemperedFool commented 3 years ago

Thank you for taking the time to reply, especially given how terribly I explained myself (I realize in retrospect).

To address the #563 issue, this actually aligns with what I was asking for storage-location-wise, even if I didn't explain that well. I think storing at the instance-level rather than the world-save level is fine (and that request is for the modpack I'm playing anyway!)

I totally get if you don't like the idea of loading templates directly from the gadget; I'm not a fan of the separate Template Manager block myself, but my opinion is just that! My argument would be that it's a single-purpose block that adds steps to the process of loading templates, and loading straight from the gadget would be more straight forward. End of day it's not a big deal.

The thing I TOTALLY didn't explain at all (again, I realize in retrospect) is that what I want is the ability to have more than one template "loaded" into a gadget. It would be great if this could just load a whole folder of templates (hence my other suggestions), but even if I had to load them/train them one by one, it would be nice if I could have, say, my "Astral" C/P gadget, that has all of the Astral structures loaded into it, and I can select which one I'm working with from the radial menu (or via some other method, I suppose). This would especially come in handy if you're building up a base, for example, that uses modular parts - you could select a room, paste it, then select. hallway, paste down two segments, etc...

Being able to load/save (rather than copy/paste) a folder of templates for the above feature is what would be easier tbh, not just for a single schematic. I SERIOUSLY apologize for not explaining myself well (both in my initial request, and probably here too!)

Either way, tyvm for taking the time to read any of this, whether or not it's deemed a useful feature to work on!

MajorTuvok commented 3 years ago

No Problem, and thanks for the detailed explanation.

Tahakk commented 3 years ago

Well there could be an idea that Template Manager could act like a storage and connection to the Copy Paste gadget.

Similar to the Tinkers Pattern Chest. As you would create a Template you could place it in the inventory of the TM and link your CP Gadget to it similar to how you can link BG to the any Inventory.

If you would want pack makers to implement it they could give templates as reward in quests, random world loot etc.

MajorTuvok commented 3 years ago

I don't think it is a good idea to bind a copy paste gadget to the Template Manager specifically. First this would be ambigous with linking the C&P to an inventory - a user might expect the C&P to refer to the 2 inventory slots for building and not some Templates in it. However what about scanning all available inventories (player inventory + bound inventory) for Templates and then make them available? This would also solve the Problem of someone intending to take some machine Template to another place, but when arriving there he/she discovers that the TemplateManager has been unloaded and thus the Template which was stored in there is no longer available (this assumes that similiar to bound inventories, the Templates in the bound manager are not tied to a specific player, but instead to the block. I can imagine another quite complex way to get around this loading Problem, but that would be kind of unpleasent to use, implement and test [If it works at all]).

TemperedFool commented 3 years ago

That would definitely work for me, and it seems like it would help with the #536 thing - templates could be given as quest rewards?

Could one template (say, a template... book) hold multiple structures, to reduce inventory clutter?

Would still be nice to have a "import 20 templates at once" strategy, but I understand that is likely a lot more complicated!

MajorTuvok commented 3 years ago

Could one template (say, a template... book) hold multiple structures, to reduce inventory clutter?

Probably. As long as Dire agrees (to all of this)...

Would still be nice to have a "import 20 templates at once" strategy, but I understand that is likely a lot more complicated!

This is not significantly more complicated - in the other issue it was already already talked about maybe allowing Templates in Datapacks. These would then all be loaded into the game and you could select one using some interface perhaps... (assuming this is the road to be taken, not sure what will be done) The Problem I had was importing directly into the C&P Gadget UI as this kind of goes around Dire's design of having a special block to do this - in fact no one commented on this...

MajorTuvok commented 3 years ago

Just got an idea regarding the multiple Template container: Call it a Template Book or something similiar, which you can open to flip through your Templates (aka display a Template per page with a small render (should be copyable from the TemplateManager) and some displayed stats (like size and the name on the top) - potentially including a button to open the MaterialList)

MichaelHillcox commented 3 years ago

Template preview hasn't worked in the Template Manager since 1.14 :cry:

TemperedFool commented 3 years ago

Issues with previews aside, that sounds perfect I think - very reminiscent of the blueprint books in Factorio, which are excellent. Would be exciting to see something similar (spiritually of course, this is 3d ^_^) implemented!

TemperedFool commented 3 years ago

I was also thinking that you could potentially give the gadget itself an inventory for storing the templates? If you implemented that with the template book idea, it could create something of a hierarchy for whatever menu/GUI you build out to choose a template to paste - any templates in the gadget itself would be at the "root" level, while any template books would be submenus?

I'd also hope that the template books can be copy/pasted via the Template Manager block, if possible!

MajorTuvok commented 3 years ago

Copy Pasting books via the Template Manager kind of sounds like a good idea, but it also kind of doesn't:

Not sure how to weight these arguments though.

TemperedFool commented 3 years ago

Being able to paste whole books is just bonus points over having them in the first place, so I get if logistical and support costs outweigh the benefits!

Fireztonez commented 3 years ago

I totally agreed with TempererdFool, it would be really nice for modpack authors, to have possibility to add somes template availiable directly from an interface in-game or possibly just having possibility to create somes template who can be availiable for player without having to go inside the modpack folder, open a json file with notepad and copy-code the json code.

Personnally I think, for better game experiance and question to be really user-friendly, everithing should be availiable directly in-game. But I agree copy-paste structures from a pastebin is a nice additions for more players.

But I agreed, most people don't read, so if things is not availiable in-game in a way, peoples will probably not be able to have the template at the end. And by experience, right now, if you don't do things correctly with the Template Manager the game have a lot chance to crash, and possibly crash the server if on a server, I didn't try.