Skip to content

Commit 7d66ad6

Browse files
Refactor package structure for better maintainability and UX (#6)
* Initial plan * Refactor: Consolidate packages and improve structure Co-authored-by: CoasterFreakDE <28011628+CoasterFreakDE@users.noreply.github.com> * Update README with new package structure documentation Co-authored-by: CoasterFreakDE <28011628+CoasterFreakDE@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: CoasterFreakDE <28011628+CoasterFreakDE@users.noreply.github.com>
1 parent f020179 commit 7d66ad6

28 files changed

Lines changed: 59 additions & 46 deletions

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,23 @@ class MyPlugin : KPlugin() {
3232
}
3333
```
3434

35+
## Package Structure
36+
37+
KPaper is organized into several focused packages:
38+
39+
- **`util`** - Utility functions including console output, logging, random number generation, and text processing
40+
- **`extensions`** - Kotlin extension functions for Bukkit/Paper classes
41+
- **`event`** - Event handling system with custom events and listeners
42+
- **`inventory`** - Inventory management, item builders, and GUI systems
43+
- **`command`** - Command framework and argument parsing
44+
- **`main`** - Core plugin functionality and feature configuration
45+
- **`world`** - World generation and manipulation utilities
46+
- **`messages`** - Message formatting and translation support
47+
- **`visuals`** - Visual effects and display systems
48+
- **`game`** - Game mechanics like countdowns and player management
49+
- **`file`** - File I/O and configuration management
50+
- **`coroutines`** - Kotlin coroutines integration for async operations
51+
3552
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests on the [GitHub repository](https://github.com/ModLabsCC/KPaper).
3653

3754
## Acknowledgments

src/main/kotlin/cc/modlabs/kpaper/consts/NameSpaces.kt

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/main/kotlin/cc/modlabs/kpaper/extensions/InventoryExtensions.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package cc.modlabs.kpaper.extensions
22

3-
import cc.modlabs.kpaper.consts.NAMESPACE_GUI_IDENTIFIER
4-
import cc.modlabs.kpaper.consts.NAMESPACE_ITEM_IDENTIFIER
53
import cc.modlabs.kpaper.coroutines.taskRunLater
64
import cc.modlabs.kpaper.inventory.ItemBuilder
75
import cc.modlabs.kpaper.inventory.toItemBuilder
@@ -18,6 +16,10 @@ import org.bukkit.inventory.InventoryHolder
1816
import org.bukkit.inventory.ItemStack
1917
import org.bukkit.inventory.PlayerInventory
2018
import org.bukkit.inventory.meta.ItemMeta
19+
20+
// Constants for inventory namespaces
21+
val NAMESPACE_GUI_IDENTIFIER = pluginKey("gui_identifier")
22+
val NAMESPACE_ITEM_IDENTIFIER = pluginKey("item_identifier")
2123
import org.bukkit.persistence.PersistentDataType
2224
import org.jetbrains.annotations.ApiStatus.Experimental
2325
import java.util.UUID
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package cc.modlabs.kpaper.extensions
22

3-
import cc.modlabs.kpaper.functions.getInternalKPaperLogger
4-
import cc.modlabs.kpaper.functions.getLogger
3+
import cc.modlabs.kpaper.util.getInternalKPaperLogger
4+
import cc.modlabs.kpaper.util.getLogger
55

6-
@Deprecated("Moved into functions folder", replaceWith = ReplaceWith("getLogger()", "cc.modlabs.kpaper.functions"))
6+
@Deprecated("Moved into util folder", replaceWith = ReplaceWith("getLogger()", "cc.modlabs.kpaper.util"))
77
fun getLogger(): org.slf4j.Logger = getLogger()
88

9-
@Deprecated("Moved into functions folder", replaceWith = ReplaceWith("getInternalKPaperLogger()", "cc.modlabs.kpaper.functions"))
9+
@Deprecated("Moved into util folder", replaceWith = ReplaceWith("getInternalKPaperLogger()", "cc.modlabs.kpaper.util"))
1010
fun getInternalKPaperLogger(): org.slf4j.Logger = getInternalKPaperLogger()

src/main/kotlin/cc/modlabs/kpaper/inventory/AnvilGUI.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package cc.modlabs.kpaper.inventory
22

3-
import cc.modlabs.kpaper.inventory._internal.AnvilListener
3+
import cc.modlabs.kpaper.inventory.internal.AnvilListener
44
import dev.fruxz.stacked.text
55
import org.bukkit.Bukkit
66
import org.bukkit.entity.Player

src/main/kotlin/cc/modlabs/kpaper/inventory/InventoryBuilder.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package cc.modlabs.kpaper.inventory
22

3-
import cc.modlabs.kpaper.inventory._internal.ItemClickListener
3+
import cc.modlabs.kpaper.inventory.internal.ItemClickListener
44
import net.kyori.adventure.text.Component
55
import org.bukkit.Bukkit
66
import org.bukkit.entity.Player

src/main/kotlin/cc/modlabs/kpaper/inventory/ItemBuilder.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
package cc.modlabs.kpaper.inventory
44

55
import cc.modlabs.kpaper.coroutines.taskRunLater
6-
import cc.modlabs.kpaper.inventory._internal.ItemClickListener
6+
import cc.modlabs.kpaper.inventory.internal.ItemClickListener
77
import cc.modlabs.kpaper.inventory.mineskin.MineSkinFetcher
88
import cc.modlabs.kpaper.inventory.mineskin.MinecraftSkin
99
import cc.modlabs.kpaper.inventory.mineskin.SKIN
1010
import cc.modlabs.kpaper.inventory.mineskin.Textures
11-
import cc.modlabs.kpaper.inventory.mineskin.models.texture.MineSkinResponse
11+
import cc.modlabs.kpaper.inventory.mineskin.MineSkinResponse
1212
import com.destroystokyo.paper.profile.ProfileProperty
1313
import com.google.gson.Gson
1414
import dev.fruxz.ascend.extension.forceCastOrNull

src/main/kotlin/cc/modlabs/kpaper/inventory/_internal/AnvilListener.kt renamed to src/main/kotlin/cc/modlabs/kpaper/inventory/internal/AnvilListener.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cc.modlabs.kpaper.inventory._internal
1+
package cc.modlabs.kpaper.inventory.internal
22

33
import cc.modlabs.kpaper.inventory.AnvilGUI
44
import cc.modlabs.kpaper.inventory.AnvilSlot

src/main/kotlin/cc/modlabs/kpaper/inventory/_internal/ItemClickListener.kt renamed to src/main/kotlin/cc/modlabs/kpaper/inventory/internal/ItemClickListener.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cc.modlabs.kpaper.inventory._internal
1+
package cc.modlabs.kpaper.inventory.internal
22

33
import cc.modlabs.kpaper.event.EventHandler
44
import cc.modlabs.kpaper.event.listen
@@ -54,4 +54,4 @@ object ItemClickListener: EventHandler() {
5454
itemClick.register()
5555
inventoryClick.register()
5656
}
57-
}
57+
}

src/main/kotlin/cc/modlabs/kpaper/inventory/mineskin/models/MineSkinBaseResponse.kt renamed to src/main/kotlin/cc/modlabs/kpaper/inventory/mineskin/MineSkinBaseResponse.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cc.modlabs.kpaper.inventory.mineskin.models
1+
package cc.modlabs.kpaper.inventory.mineskin
22

33
data class MineSkinBaseResponse(
44
val success: Boolean,

0 commit comments

Comments
 (0)