croxis / Lift

Minecraft/Bukkit elevator plugin
23 stars 26 forks source link

Feature request: Improved floor selection #178

Closed TheoRetisch1 closed 4 years ago

TheoRetisch1 commented 4 years ago

The current floor selection is made by clicking several times on the elevator sign. This process can be very nerve-racking in increasingly complex house and basement systems: If you click once too far, you can start all over again.

I have two possible proposals to solve this problem:

1) GUI-System: A GUI could open as soon as you click on the elevator sign. In the GUI, all floors should be represented by different colored blocks following the established floor naming system. The color selection of the floor blocks could be random, static or based on the block of the elevator sign. As soon as you click on a floor block in the GUI, the elevator moves to the desired floor. The challenge with this method would be the intuitive visualisation of >9 floors.

2) A very simple and intuitive solution would be to scroll through the floor names via mouse wheel. Instead of having to click again and again you should be able to scroll through the floor selection with the mouse wheel after selecting the elevator sign. When scrolling back and forth, the elevator sign should change as dynamically as it does when clicking through. If you click on any block or air block, you leave the mouse wheel editor and can press the elevator button to start moving. Maybe you know this method from the image selection of various plugins (https://proxy.spigotmc.org/28303483478d5134a609d4d2d50da6258693d758?url=http%3A%2F%2Fwww.zrips.net%2Fwp-content%2Fuploads%2F2019%2F02%2F2018-03-23_11-30-11.gif).

The old solution could also be continued and one of the new functions could be activated with Shift+Right-click. This way, everyone could be satisfied. This would make the floor selection more intuitive and take advantage of the new technical possibilities of the last years. What do you think?

TheoRetisch1 commented 4 years ago

May I ask what do you think of the ideas? Is there a chance to see them implemented in future versions or do you think this is ambiguous?

croxis commented 4 years ago

Yes! Sorry! One would think with this pandemic that they would have more free time....

I've always been meaning to update the interface to newer apis. The ui dates all the way to hmod and minecraft alpha. I would love to start taking a look at it again this weekend.

croxis commented 4 years ago

Well the pandemic left me with less freetime, not more!

Number 2 seems to be the more viable option, as the edge cases of having more than 9 floors will be problematic in number 1.

Do you mind linking me to an example plugin with the mousewheel code? My google-fu isn't turning up anything.

TheoRetisch1 commented 4 years ago

Hello, glad to hear you're doing well :) The gif is from CMI (https://www.spigotmc.org/resources/cmi-270-commands-insane-kits-portals-essentials-economy-mysql-sqlite-much-more.3742/)), but that's not open-source.

I use craftbook for the feature: wiki explanation: https://craftbook.enginehub.org/en/latest/mechanics/painting_switcher/

github respo: https://github.com/EngineHub/CraftBook

Unfortunately craftbook is not very small, I don't know how complicated it will be to find the code example :/

TheoRetisch1 commented 4 years ago

Probably around here somewhere: https://github.com/EngineHub/CraftBook/blob/master/src/main/java/com/sk89q/craftbook/mechanics/PaintingSwitch.java

croxis commented 4 years ago

Done!

TheoRetisch1 commented 4 years ago

Better later than never: Thanks for the update! The feature is awesome and fun to use :)