Skip to content
Draft

Dev #355

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
d9d38b6
[ci-skip] Update gradle/actions digest to 4f91d42 (#341)
renovate[bot] Dec 11, 2025
487c67e
[ci-skip] Update actions/upload-artifact action to v6 (#342)
renovate[bot] Dec 13, 2025
457ff25
Refactor code for improved readability and add isEnabled property to …
illyrius666 Dec 13, 2025
6183378
Refactor module registration for improved readability and maintainabi…
illyrius666 Dec 13, 2025
1a70dc5
Refactor configuration loading to support custom serializers and defa…
illyrius666 Dec 13, 2025
7e5ef76
Refactor configuration loading to eliminate serializer parameter and …
illyrius666 Dec 13, 2025
1615786
Refactor configuration loading to use extension function for improved…
illyrius666 Dec 13, 2025
f7de2ad
[ci-skip] Update gradle/actions digest to b6208dc (#343)
renovate[bot] Dec 16, 2025
2fd97d6
[ci-skip] Update plugin org.jetbrains.kotlin.plugin.serialization to …
renovate[bot] Dec 16, 2025
d11243a
[ci-skip] Update plugin org.jetbrains.kotlin.jvm to v2.3.0 (#344)
renovate[bot] Dec 16, 2025
70f2808
remove inv unload, as since the copper update we can use vanilla copp…
illyrius666 Dec 17, 2025
f48d83a
[ci-skip] Update gradle/actions digest to 030fdb2 (#347)
renovate[bot] Dec 17, 2025
0bfee58
Refactor chat module strings for improved readability and add Qodana …
illyrius666 Dec 18, 2025
9eea958
Refactor chat module strings for improved clarity and consistency
illyrius666 Dec 18, 2025
64a7dc0
oops
illyrius666 Dec 19, 2025
37b7d39
refactor/LocatorModule/useWaypointAPI (#349)
illyrius666 Dec 20, 2025
0ce9711
[ci-skip] Update gradle/actions digest to bfd5696 (#350)
renovate[bot] Dec 23, 2025
4caf0c3
[ci-skip] Update dependency com.sk89q.worldedit:worldedit-bukkit to v…
renovate[bot] Dec 24, 2025
a18c233
[ci-skip] Update gradle/actions digest to 6d6beca (#352)
renovate[bot] Jan 2, 2026
a426293
[ci-skip] Update plugin com.gradleup.shadow to v9.3.1 (#353)
renovate[bot] Jan 6, 2026
e2748cc
[ci-skip] Update gradle/actions digest to 576fcbe (#354)
renovate[bot] Jan 6, 2026
441448f
removed arrowmodule.
illyrius666 Jan 7, 2026
cc24dec
Refactor pet ownership transfer logic for improved clarity and effici…
illyrius666 Jan 7, 2026
74e5ece
Refactor pet interaction logic for improved clarity and consistency
illyrius666 Jan 7, 2026
71e65fd
Refactor BlockUtils and PlayerUtils for improved method clarity and e…
illyrius666 Jan 7, 2026
29277cf
Refactor ChatModule to use PlayerUtils for improved method clarity
illyrius666 Jan 7, 2026
03873db
Refactor imports to replace ExtUtils with Utils for consistency acros…
illyrius666 Jan 7, 2026
c81f851
Refactor PetModule to TameableModule for improved clarity and consist…
illyrius666 Jan 7, 2026
8820bf3
Merge branch 'main' into dev
illyrius666 Jan 7, 2026
5f9fc27
Move locator functionality to PlayerUtils for better organization and…
illyrius666 Jan 7, 2026
8e9a89e
Refactor event handler methods for consistency and clarity across mod…
illyrius666 Jan 7, 2026
62aa53a
Refactor PlayerModule and TabListModule for improved clarity and func…
illyrius666 Jan 7, 2026
39e6b91
Refactor ChatModule and related files to use MM.deserialize for messa…
illyrius666 Jan 7, 2026
9021f35
Refactor BookData and TabListModule to use MM.deserialize for message…
illyrius666 Jan 7, 2026
eed2242
Add block break event handling to remove sitting ArmorStands
illyrius666 Jan 7, 2026
09dad9d
+
illyrius666 Jan 8, 2026
417ca1a
Merge branch 'main' into dev
illyrius666 Jan 8, 2026
50ecca4
feat/EntityModule/RandomAnimalSizes (#356)
illyrius666 Jan 8, 2026
47400c0
refactor: update command argument handling to use new argument types
illyrius666 Jan 8, 2026
c796d62
refactor: replace Java file handling with Kotlin path utilities and c…
illyrius666 Jan 8, 2026
0c99b6b
refactor: update PlayerUtils to use Kotlin's Base64 encoding and clea…
illyrius666 Jan 8, 2026
f554d27
refactor: replace IOException with more specific exceptions in TreesM…
illyrius666 Jan 8, 2026
76d2ccb
refactor: rename InvModule to InventoryModule and update references
illyrius666 Jan 9, 2026
2e28bc3
refactor: update material argument handling to use ItemStack instead …
illyrius666 Jan 9, 2026
dffef82
refactor: restrict player interaction in SitModule to Survival mode only
illyrius666 Jan 12, 2026
3a0f39e
refactor: manage occupied blocks for sitting players in SitModule
illyrius666 Jan 13, 2026
61cf190
refactor: add reload command and permission to ConfigData for dynamic…
illyrius666 Jan 13, 2026
33bd150
removing custom trees until i find a better solution
illyrius666 Jan 13, 2026
9ae0360
cleanup
illyrius666 Jan 13, 2026
4f2e67f
feat/PaintingPicker (#357)
illyrius666 Jan 13, 2026
355f840
fix/ReplantEnchantment/SeedUsage (#359)
illyrius666 Jan 13, 2026
064f028
refactor: remove entity scale randomization logic from EntityModule
illyrius666 Jan 13, 2026
14bb3c4
refactor: simplify nickname handling and scoreboard visibility logic
illyrius666 Jan 14, 2026
d51df6e
feat: add 'sinv' command alias for inventory search and refactor sear…
illyrius666 Jan 14, 2026
d6fef6d
refactor: streamline inventory search command handling and remove red…
illyrius666 Jan 14, 2026
c503c9f
cleanup
illyrius666 Jan 14, 2026
d9621c4
docs: add config documentation for various modules
illyrius666 Jan 14, 2026
1643055
feat: add website URL to paperPluginYaml configuration
illyrius666 Jan 15, 2026
d5b645f
[ci-skip] Update Gradle to v9.3.0 (#361)
renovate[bot] Jan 16, 2026
f0a83d1
refactor: replace sequential guard clauses with when expression in fe…
illyrius666 Jan 20, 2026
51fe367
[ci-skip] Update dependency org.jetbrains.kotlinx:kotlinx-serializati…
renovate[bot] Jan 21, 2026
cbdde50
feat/ArmorStandModule (#362)
illyrius666 Jan 22, 2026
b1aa93c
[ci-skip] Update actions/checkout action to v6.0.2 (#364)
renovate[bot] Jan 22, 2026
6a3a61b
fix/PlayerModule/EventMessages (#368)
illyrius666 Jan 23, 2026
02ae1a1
refactor: unify and optimize module and recipe registration logging
illyrius666 Jan 23, 2026
6be81fd
style: remove unnecessary blank line in VanillaPlus.kt
illyrius666 Jan 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build_app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
steps:
- id: checkout
name: Checkout
uses: actions/checkout@v6.0.1
uses: actions/checkout@v6.0.2

- id: setup-java
name: Setup Java
Expand All @@ -30,7 +30,7 @@ jobs:

- id: setup-gradle
name: Setup Gradle
uses: gradle/actions/setup-gradle@63b23c47ec369cc3851ad527daec269a2f949651
uses: gradle/actions/setup-gradle@576fcbecfed70890e466eeffd7c78d93b30b0472

- id: build-gradle
name: Build with Gradle
Expand All @@ -39,6 +39,6 @@ jobs:
- id: upload-artifact
name: Upload Build Artifact
if: ${{ success() }}
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
path: build/libs/*.jar
63 changes: 0 additions & 63 deletions .github/workflows/codeql.yml

This file was deleted.

1 change: 1 addition & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/dictionaries/project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion .idea/kotlinc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 5 additions & 10 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import xyz.jpenilla.resourcefactory.paper.PaperPluginYaml
import xyz.jpenilla.runtask.task.AbstractRun

plugins {
id("java")
id("idea")
kotlin("jvm") version "2.2.21"
kotlin("plugin.serialization") version "2.2.21"
id("com.gradleup.shadow") version "9.3.0"
kotlin("jvm") version "2.3.0"
kotlin("plugin.serialization") version "2.3.0"
id("com.gradleup.shadow") version "9.3.1"
id("xyz.jpenilla.run-paper") version "3.0.2"
id("xyz.jpenilla.resource-factory-paper-convention") version "1.3.1"
}
Expand All @@ -20,16 +19,14 @@ description = "Minecraft plugin that enhances the base gameplay"
repositories {
mavenCentral()
maven("https://repo.papermc.io/repository/maven-public/")
maven("https://maven.enginehub.org/repo/")
}

dependencies {
compileOnly("io.papermc.paper:paper-api:$version-R0.1-SNAPSHOT")
compileOnly("com.sk89q.worldedit:worldedit-bukkit:7.3.17") // TODO("Move away from WorldEdit")

implementation(kotlin("stdlib"))
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.10.0")
}

java {
Expand Down Expand Up @@ -57,10 +54,8 @@ tasks {

paperPluginYaml {
main.set(group.toString())
website.set("https://github.com/XodiumSoftware/VanillaPlus")
authors.add("Xodium")
apiVersion.set(version)
bootstrapper.set("org.xodium.vanillaplus.VanillaPlusBootstrap")
dependencies {
server(name = "WorldEdit", load = PaperPluginYaml.Load.BEFORE, required = false, joinClasspath = true)
}
}
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
63 changes: 36 additions & 27 deletions src/main/kotlin/org/xodium/vanillaplus/VanillaPlus.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ package org.xodium.vanillaplus
import io.papermc.paper.plugin.lifecycle.event.types.LifecycleEvents
import org.bukkit.plugin.java.JavaPlugin
import org.xodium.vanillaplus.data.ConfigData
import org.xodium.vanillaplus.hooks.WorldEditHook
import org.xodium.vanillaplus.managers.ConfigManager
import org.xodium.vanillaplus.data.ConfigData.Companion.load
import org.xodium.vanillaplus.modules.*
import org.xodium.vanillaplus.modules.ArmorStandModule.info
import org.xodium.vanillaplus.recipes.PaintingRecipe
import org.xodium.vanillaplus.recipes.PaintingRecipe.info
import org.xodium.vanillaplus.recipes.RottenFleshRecipe
import org.xodium.vanillaplus.recipes.TorchArrowRecipe
import org.xodium.vanillaplus.recipes.WoodLogRecipe

/** Main class of the plugin. */
Expand All @@ -34,35 +35,43 @@ internal class VanillaPlus : JavaPlugin() {

instance.lifecycleManager.registerEventHandler(LifecycleEvents.COMMANDS) { event ->
event.registrar().register(
ConfigManager.reloadCommand.builder.build(),
ConfigManager.reloadCommand.description,
ConfigManager.reloadCommand.aliases,
ConfigData.reloadCommand.builder.build(),
ConfigData.reloadCommand.description,
ConfigData.reloadCommand.aliases,
)
}
instance.server.pluginManager.addPermission(ConfigManager.reloadPermission)

configData = ConfigManager.load()
instance.server.pluginManager.addPermission(ConfigData.reloadPermission)

RottenFleshRecipe.register()
TorchArrowRecipe.register()
WoodLogRecipe.register()
configData = ConfigData().load("config.json")

BooksModule.register()
ChatModule.register()
DimensionsModule.register()
EntityModule.register()
InvModule.register()
LocatorModule.register()
MotdModule.register()
OpenableModule.register()
PetModule.register()
PlayerModule.register()
ScoreBoardModule.register()
SignModule.register()
SitModule.register()
TabListModule.register()
ArrowModule.register()
if (WorldEditHook.get()) TreesModule.register()
logger.info(
listOf(
PaintingRecipe,
RottenFleshRecipe,
WoodLogRecipe,
),
)

logger.info(
listOf(
ArmorStandModule,
BooksModule,
ChatModule,
DimensionsModule,
EntityModule,
InventoryModule,
LocatorModule,
MotdModule,
OpenableModule,
PlayerModule,
ScoreBoardModule,
SignModule,
SitModule,
TabListModule,
TameableModule,
),
)
}

/**
Expand Down
5 changes: 3 additions & 2 deletions src/main/kotlin/org/xodium/vanillaplus/data/BookData.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import kotlinx.serialization.Serializable
import net.kyori.adventure.inventory.Book
import org.bukkit.permissions.PermissionDefault
import org.xodium.vanillaplus.VanillaPlus.Companion.instance
import org.xodium.vanillaplus.utils.ExtUtils.mm
import org.xodium.vanillaplus.utils.Utils.MM

/**
* Represents the data structure for a book in the game.
Expand All @@ -26,5 +26,6 @@ internal data class BookData(
* Converts this [BookData] instance to a [Book] instance.
* @return A [Book] instance with the properties of this [BookData].
*/
fun toBook(): Book = Book.book(title.mm(), author.mm(), pages.map { it.joinToString("\n").mm() })
fun toBook(): Book =
Book.book(MM.deserialize(title), MM.deserialize(author), pages.map { MM.deserialize(it.joinToString("\n")) })
}
Loading
Loading