Skip to content

Conversation

@Strokkur424
Copy link

This PR does a few things:

  1. Cleans up Brigadier command logic with logic sharing between Fabric/Forge/NeoForge.
  2. Adds Brigadier support for Paper-based servers.

In order to achieve this, it split the Bukkit plugin main class into two classes, each with their accompanying (paper-)plugin.yml and own command handling.

This commit turned out a bit bigger than I would've wanted. Here is a list of changes:
- added the Brigadier dependency to common
- moved Brigadier command creation to common (used fabric as a template)
- replaced the individual fabric/forge/neoforge Brigadier command implementations with the common impl
- split ChunkyBukkit into AbstractChunkyBukkit for common logic, ChunkyBukkit for Spigot only, and ChunkyPaper for Paper only
- added Paper Brigadier command implementation for the Paper plugin
- added paper-plugin.yml to support this change
@pop4959 pop4959 added enhancement New feature or request common Issues related to the common implementation bukkit Issues related to the Bukkit platform and removed common Issues related to the common implementation labels Sep 9, 2025
name: ${name}
version: ${version}
main: ${group}.chunky.ChunkyBukkit
api-version: 1.21
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
api-version: 1.21
api-version: 1.21.1

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am like 99% certain that version does not exist. api-version: 1.21 had something weird going on where it only started accepting "minor" version from like .5.

Or I am mistaking it for 1.20, in which case please call me out.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The minor version being usable in the api-version was added in 1.20.5

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, good to know, I was convinced it was 1.21. Too many versions 😂

}
}

public Chunky getChunky() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the purpose of shifting some methods and fields around in the ChunkyBukkit/BukkitPlayer/BukkitWorld classes? It seems to only create extra diff and confuse the git blame for the future

}
}
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-add the newline at the end of file to reduce diff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bukkit Issues related to the Bukkit platform enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants