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
206 stars 65 forks source link

Combine Destruction Gadget's Shift+Right-click settings into the Radial Menu? #374

Closed pneumaticLance closed 4 years ago

pneumaticLance commented 5 years ago

My original suggestion was to make Destruction Gadget have the same targeting options in the radial menu as the Exchanger. It never crossed my mind that there's a in-depth setting hidden away in shift+right-click until I messed around in a test world.

I think it will be more consistent across all the gadgets to have all the settings adjustable in the radial menu. There should be enough space in Destruction Gadget's menu to slot the 5 sliders in between the 2 rows of toggles.

MichaelHillcox commented 5 years ago

I personally do not agree that it should be on the same ui. Some people use Gui scale 1 instead of 2 which most would logically use (Looking at you Dire...). Upon that, they are two separate tasks they are handling. One is design for modes and the other is designed for modifying the selection.

I will on the other hand, agree that it's not an ideal way for that tool to work and it's high on my todo list to redo all of the Gui's and keybindings to make them more logical and cleaner in how they function.

(side note: on the copy & paste gadget. There is a button to open the gui (shift+right click)

pneumaticLance commented 5 years ago

On the other hand, as a player that experienced using Exchanger and Building Gadget first before using Destruction/C&P gadget in gameplay, it kinda imprinted on me that radial menu is for settings while shift+right clicking is for selecting blocks. I think back when Destruction gadget was added, it has a default setting of 16 depth? I just though that's how it works since there's little options in the radial menu and didn't bothered to shift right click.

I didn't know about the new button in the C&P gadget. That's a great solution to implement in the destruction gadget, or a good temporary one until you finished the better Gui.

Mind backporting it to 1.12 if it ever gets added?

MichaelHillcox commented 5 years ago

I'm effectively the 1.12 guy at this point so sure. I can port the button implementation back to 1.12 but I wouldn't be adding the complete overhaul of the Gui to 1.12 as the Gui systems between 1.12 and 1.14 have changed quite a bit.

I do truly get where you are coming from though and would like to attempt to make the tools simpler to use without adding extra layers of complexity.

MajorTuvok commented 5 years ago

As a side note, I intended to move some functionality like rotating, mirrorong etc to a Transaction Gui (my thoughts were to use a Tab layout, where on each Tab you can configure one Operator), which would be usable for all Templates. How would that fit best into this?

You (Pneumatic) said that you can fit the 5 sliders into the Radial Menu, but that won't be the case for a Replacment Transaction (for which you need to slect the Blocks you want to replace in the Template... Aka it needs a list)

MajorTuvok commented 5 years ago

The way I understand it, is that you want everything to be in one Gui - that wouldn't be the case for the TransactionGui which should be useable for every Item that exposes a Template. Should something like that also become a Button, which can be found in the Radial Menu?

MichaelHillcox commented 5 years ago

Hmm, I don't know what you mean about any of this if I'm being honest. We're talking about setting the size for destruction being hidden. I want to try and improve this but I've not got any plans on what I can do right now other than adding a Gui button on the G menu for each tool that has a shift-right click gui to add a way to find that Gui until I've done the overhaul

I do not personally think that a single Gui is the solution to this problem.

MajorTuvok commented 5 years ago

I actually meant to ask Pneumatic XD...

But your last sentence gives the answer - it would still fit to have a seperate Gui, which would not be triggered by a special button in the Radial Menu.

Sorry to interrupt

MichaelHillcox commented 5 years ago

No worries. I wasn't actually sure who it was directed at :P.

I think the G(ui) haha... Puns... The Radial menu needs to contain actions to find these other Gui's but I also think the G key needs support for modifiers to change the buttons behaviour. Example, holding shift whilst pressing G would bring up the current shift+right click gui (translation gui). This could also be the same for your template stuff... maybe haha. Modifiers tend to be simpler than new key binding buts I'm as of yet unsure on how the changes would plan out.

pneumaticLance commented 5 years ago

@MajorTuvok Replacment Transaction?? Is that a new feature? I'm still using 2.7.3 and I can't find anything related to replacing in Template or Template Manager. Or is it another menu hidden away?

IMO simple gadget types that supposed to work quick and easy should have all the adjustable settings exposed in one menu to allow fast and efficient workflow; or at least have a hierarchy where most used settings are exposed while detailed settings are hidden away in a accessible button (under the same menu), just to keep the gui clean. Things that require more planning can have different Gui that suits their nature. It'd be unreasonable to cram a long list into the radial menu.

I think the template manager and C&P gadget (1.12) have the right idea. C&P gadget: simple duplicating of structure with a few clicks, so simple radial menu for quick access, with button to access offsets; Template manager: It has advance functions that interact with players' inventory (saving and loading templates), and functions that interact outside of minecraft (copy and pasting codes), plus it's in a block form, so it kinda makes sense to have a different Gui.

Maybe do the replacement in a block with a Gui that can accommodate the list, but the mirroring/rotating/offsetting in the radial menu of a template?

MajorTuvok commented 5 years ago

The Transaction System is a part of the new Template api being introduced in 1.14+... Basically everything that modifies a Template will run a TemplateTransaction - I just didn't get to hooking up the code yet (including the new Feature: replacing or removing blocks).

So you'd suggest, that the main functionality is centered in the Radial-Menu with other more specific Guis. I guess you'd then put rotating around y-axis and x or z mirroring in the Radial Menu and the configurable mirror/rotate+replacement into the Transaction Gui which is available for all Items which expose a Template (the copy paste Gadget and Template Item for example). That sounds from a user friendliess stand-point like a good idea to me (though it kind of makes me unhappy because it mixes the Transactions into another Gui - I hate duplicates... XD)

MichaelHillcox commented 4 years ago

To keep things tidy, we now have master list of feature requests, we thank you for your suggestion and we will use this issue for future reference. Closing in preference for https://github.com/Direwolf20-MC/BuildingGadgets/issues/534