diff --git a/api/.gradle/caches/paperweight/taskCache/reobfJar.log b/api/.gradle/caches/paperweight/taskCache/reobfJar.log index 173a686..ef38c4b 100644 --- a/api/.gradle/caches/paperweight/taskCache/reobfJar.log +++ b/api/.gradle/caches/paperweight/taskCache/reobfJar.log @@ -1,2 +1,2 @@ Command: C:\Program Files\Java\jdk-17\bin\java.exe -Xmx1G -classpath C:\Users\Mangr\.gradle\caches\modules-2\files-2.1\net.fabricmc\tiny-remapper\0.10.1\c293b2384ae12af74f407fa3aaa553bba4ac6763\tiny-remapper-0.10.1-fat.jar net.fabricmc.tinyremapper.Main D:\PC\Projects\KtBukkitGui\api\build\libs\ktgui-2.4.1-dev-all.jar D:\PC\Projects\KtBukkitGui\api\build\libs\api-2.4.1.jar C:\Users\Mangr\.gradle\caches\paperweight-userdev\ff775525efc29c3503a07d1006e63e5695a742b7505cf63e157d49d32419c69f\module\io.papermc.paper\dev-bundle\1.20.4-R0.1-SNAPSHOT\paperweight\setupCache\extractDevBundle.dir\data\mojang+yarn-spigot-reobf.tiny mojang+yarn spigot C:\Users\Mangr\.gradle\caches\paperweight-userdev\ff775525efc29c3503a07d1006e63e5695a742b7505cf63e157d49d32419c69f\module\io.papermc.paper\dev-bundle\1.20.4-R0.1-SNAPSHOT\paperweight\setupCache\applyMojangMappedPaperclipPatch.jar --threads=1 -Finished after 2836.52 ms. +Finished after 2771.45 ms. diff --git a/api/src/main/kotlin/com/mattmx/ktgui/components/screen/pagination/GuiCramMultiPageScreen.kt b/api/src/main/kotlin/com/mattmx/ktgui/components/screen/pagination/GuiCramMultiPageScreen.kt index d21840f..8d63766 100644 --- a/api/src/main/kotlin/com/mattmx/ktgui/components/screen/pagination/GuiCramMultiPageScreen.kt +++ b/api/src/main/kotlin/com/mattmx/ktgui/components/screen/pagination/GuiCramMultiPageScreen.kt @@ -54,22 +54,4 @@ class GuiCramMultiPageScreen( } fun cramMultiPageScreen(title: Component, rows: Int = 6, block: GuiCramMultiPageScreen.() -> Unit) = - GuiCramMultiPageScreen(title, rows).apply(block) - -fun main() { - val gui = cramMultiPageScreen(!"Materials") { - reserve(last() - 8..last()) - - button(Material.SPECTRAL_ARROW) { - named(!"&aNext") - click.left { navigateNextPage() } - } slot last() - - button(Material.SPECTRAL_ARROW) { - named(!"&cLast") - click.left { navigatePreviousPage() } - } slot last() - 8 - - +Material.values().map { button(it) {} } - } -} \ No newline at end of file + GuiCramMultiPageScreen(title, rows).apply(block) \ No newline at end of file diff --git a/api/src/main/kotlin/com/mattmx/ktgui/components/screen/pagination/GuiMultiPageScreen.kt b/api/src/main/kotlin/com/mattmx/ktgui/components/screen/pagination/GuiMultiPageScreen.kt index cf940d5..ec66403 100644 --- a/api/src/main/kotlin/com/mattmx/ktgui/components/screen/pagination/GuiMultiPageScreen.kt +++ b/api/src/main/kotlin/com/mattmx/ktgui/components/screen/pagination/GuiMultiPageScreen.kt @@ -6,6 +6,7 @@ import com.mattmx.ktgui.event.EventCallback import com.mattmx.ktgui.utils.not import net.kyori.adventure.text.Component import org.bukkit.Material +import org.bukkit.entity.Player import java.util.* import kotlin.math.max import kotlin.math.min @@ -23,6 +24,10 @@ open class GuiMultiPageScreen( val pageChange = EventCallback() val pages = Collections.synchronizedList(arrayListOf()) + override fun open(player: Player) { + TODO() + } + infix fun page(block: GuiScreen.() -> Unit) = page(null, block) open fun page(index: Int? = null, block: GuiScreen.() -> Unit) = apply { val sub = GuiScreen(Component.empty(), rows).apply(block) @@ -43,26 +48,4 @@ open class GuiMultiPageScreen( } fun multiPageGui(title: Component, rows: Int = 6, block: GuiMultiPageScreen.() -> Unit) = - GuiMultiPageScreen(title, rows).apply(block) - -fun main() { - val gui = multiPageGui(!"Test") { - button(Material.SPECTRAL_ARROW) { - named(!"&aLast") - click.left { navigatePreviousPage() } - } slot last() - - button(Material.SPECTRAL_ARROW) { - named(!"&aNext") - click.left { navigateNextPage() } - } slot last() - - page { - - } - - page { - - } - } -} \ No newline at end of file + GuiMultiPageScreen(title, rows).apply(block) \ No newline at end of file diff --git a/plugin/.gradle/caches/paperweight/taskCache/reobfJar.log b/plugin/.gradle/caches/paperweight/taskCache/reobfJar.log index 9591d0a..f2db6a9 100644 --- a/plugin/.gradle/caches/paperweight/taskCache/reobfJar.log +++ b/plugin/.gradle/caches/paperweight/taskCache/reobfJar.log @@ -1,2 +1,2 @@ Command: C:\Program Files\Java\jdk-17\bin\java.exe -Xmx1G -classpath C:\Users\Mangr\.gradle\caches\modules-2\files-2.1\net.fabricmc\tiny-remapper\0.10.1\c293b2384ae12af74f407fa3aaa553bba4ac6763\tiny-remapper-0.10.1-fat.jar net.fabricmc.tinyremapper.Main D:\PC\Projects\KtBukkitGui\plugin\build\libs\ktgui-plugin-2.4.1-dev-all.jar D:\PC\Projects\KtBukkitGui\plugin\build\libs\plugin-unspecified.jar C:\Users\Mangr\.gradle\caches\paperweight-userdev\ff775525efc29c3503a07d1006e63e5695a742b7505cf63e157d49d32419c69f\module\io.papermc.paper\dev-bundle\1.20.4-R0.1-SNAPSHOT\paperweight\setupCache\extractDevBundle.dir\data\mojang+yarn-spigot-reobf.tiny mojang+yarn spigot C:\Users\Mangr\.gradle\caches\paperweight-userdev\ff775525efc29c3503a07d1006e63e5695a742b7505cf63e157d49d32419c69f\module\io.papermc.paper\dev-bundle\1.20.4-R0.1-SNAPSHOT\paperweight\setupCache\applyMojangMappedPaperclipPatch.jar --threads=1 -Finished after 2562.93 ms. +Finished after 1940.16 ms. diff --git a/plugin/src/main/kotlin/com/mattmx/ktgui/KotlinGui.kt b/plugin/src/main/kotlin/com/mattmx/ktgui/KotlinGui.kt index ae059b7..146cb09 100644 --- a/plugin/src/main/kotlin/com/mattmx/ktgui/KotlinGui.kt +++ b/plugin/src/main/kotlin/com/mattmx/ktgui/KotlinGui.kt @@ -64,7 +64,9 @@ class KotlinGui : JavaPlugin() { "java-new" to { JavaUpdateExample() }, "refresh" to { RefreshBlockExample() }, "config-gui" to { GuiConfigExample() }, - "refresh-scoreboard" to { signalScoreboardExample } + "refresh-scoreboard" to { signalScoreboardExample }, + "new-multi-screen-cram" to { NewCramMultiPageExample() }, + "new-multi-screen" to { NewMultiPageExample() } ) GuiHookExample.registerListener(this) diff --git a/plugin/src/main/kotlin/com/mattmx/ktgui/examples/NewCramMultiPageExample.kt b/plugin/src/main/kotlin/com/mattmx/ktgui/examples/NewCramMultiPageExample.kt new file mode 100644 index 0000000..dc1ef2e --- /dev/null +++ b/plugin/src/main/kotlin/com/mattmx/ktgui/examples/NewCramMultiPageExample.kt @@ -0,0 +1,27 @@ +package com.mattmx.ktgui.examples + +import com.mattmx.ktgui.components.screen.pagination.cramMultiPageScreen +import com.mattmx.ktgui.dsl.button +import com.mattmx.ktgui.utils.not +import org.bukkit.Material +import org.bukkit.entity.Player + +class NewCramMultiPageExample : Example { + val gui = cramMultiPageScreen(!"Materials") { + reserve(last() - 8..last()) + + button(Material.SPECTRAL_ARROW) { + named(!"&aNext") + click.left { navigateNextPage() } + } slot last() + + button(Material.SPECTRAL_ARROW) { + named(!"&cLast") + click.left { navigatePreviousPage() } + } slot last() - 8 + + +Material.values().map { button(it) {} } + } + + override fun run(player: Player) = gui.open(player) +} \ No newline at end of file diff --git a/plugin/src/main/kotlin/com/mattmx/ktgui/examples/NewMultiPageExample.kt b/plugin/src/main/kotlin/com/mattmx/ktgui/examples/NewMultiPageExample.kt new file mode 100644 index 0000000..5c10c10 --- /dev/null +++ b/plugin/src/main/kotlin/com/mattmx/ktgui/examples/NewMultiPageExample.kt @@ -0,0 +1,31 @@ +package com.mattmx.ktgui.examples + +import com.mattmx.ktgui.components.screen.pagination.multiPageGui +import com.mattmx.ktgui.dsl.button +import com.mattmx.ktgui.utils.not +import org.bukkit.Material +import org.bukkit.entity.Player + +class NewMultiPageExample : Example { + val gui = multiPageGui(!"Test") { + button(Material.SPECTRAL_ARROW) { + named(!"&aLast") + click.left { navigatePreviousPage() } + } slot last() + + button(Material.SPECTRAL_ARROW) { + named(!"&aNext") + click.left { navigateNextPage() } + } slot last() + + page { + button(Material.BEACON) { named(!"Page 1 test") } slot middle() + } + + page { + button(Material.NETHER_STAR) { named(!"Page 2 test") } slot middle() + } + } + + override fun run(player: Player) = gui.open(player) +} \ No newline at end of file