MattMX

Results 12 issues of MattMX

### Describe the feature It would be nice to be able to trade automatically with villagers by simply walking past them. I could not find any other instance of this...

enhancement

The sender type param should be moved into the `runs` function, allowing for a fresher look of the DSL, as well as different executions for different sender types if wanted....

Currently KtGui supports Java through Kotlin's native compatibility, but I've made no effort to actually add better Java useability. Implementing Builder functions that we can chain, where Kotlin would have...

Holograms are not available for ~6 seconds of worlds starting to tick. This seems to be caused by a [delay in the loading of the holograms in the plugin impl](https://github.com/FancyMcPlugins/FancyHolograms/blob/1b5a31908ee4bf4607bd5e7430978a8eabc2c1c7/src/main/java/de/oliver/fancyholograms/HologramManagerImpl.java#L161)....

Another plugin or sub-project of KtGUI that implements the ability to create guis using the new display entities. See example [here](https://cdn.discordapp.com/attachments/939668202630295632/1267920231725138000/2024-07-30_18-37-04.mp4?ex=66aa8a3c&is=66a938bc&hm=d766ac6caeedecfb50613448dc139d734b49cd1ff1d6688293d1aa85566d59c0&) ![image](https://github.com/user-attachments/assets/8c0cd77a-d31d-409b-a37d-ff5d0ea5698d)

enhancement

Lightweight API allowing for developers to give users control to customize GUIs and save them to YAML. e.g ```kt val existingGui = gui(!"title") { configButton("button.hello.world") { // todo configure default...

enhancement

Signals should be modified to be easily implemented into other components the library provides. This includes scoreboards ```kt val foo = signal("something") scoreboard(!"&cTest Signal") { +!"&fValue: &e${foo()}" } val fooArg...

Add a better api support for hotbar and player-inventory based GUIs. Hotbars allow players to quickly scroll to access buttons. This addition should introduce button callbacks such as the user...

Implementation of a wrapper for placeholder requests. ```kt placeholderExpansion { name = "ktgui" version = "1.0.0" // Reuse arguments from declarative commands val player by onlinePlayerArgument() matches("uuid" / player) {...

Declarative commands should have a flag/option argument type introduced. Example implementation ```kt val player by username() val after by optionArgument() val order by optionArgument() val boolean_option by flag() ("history" /...