Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
This is a community fork maintained by SharkMI, based on CardboardPowered/cardboard.
It includes additional compatibility fixes that have not yet been merged upstream.
🐛 Issues & Feedback
- Fork-specific bugs or suggestions → Please open an Issue in this repository.
- General discussion or questions → Feel free to join the Cardboard Discord (the upstream community).
Fork Differences
This is a fork of the official Cardboard project with the following changes:
- Enhanced mixin compatibility: Replaced
@Overwriteannotations with precise injection methods (@Inject,@ModifyArg,@Redirect) to avoid conflicts with other Fabric mods - MiniMOTD compatibility: Fixed server status ping conflicts with MiniMOTD mod
- carpet-tis-addition compatibility: Fixed boat item placement conflicts
- Fabric API NPE fix: Resolved crash caused by Fabric API field injection timing
- OWASP security scanning: Integrated OWASP Dependency-Check into the build pipeline
- Mixin conflict detection tool: Built-in runtime scanner that detects mixin conflicts across all loaded mods at startup (6 detection rules, FATAL/HIGH/MEDIUM/LOW severity levels, console + JSON report output, optional auto-disable for fatal conflicts)
Overview
Cardboard is an implementation of the Bukkit/Spigot/Paper API for FabricMC. It allows you to run plugins from the Bukkit ecosystem on a Fabric modded server, giving you the best of both worlds: mods and plugins.
Features
- Support for Bukkit/Spigot/Paper plugins
- Full Bukkit API implementation (work in progress)
- NMS (
net.minecraft.server) support with automatic remapping - Compatible with Fabric API
- Mojang official mappings
Installation
Prerequisites
| Software | Version |
|---|---|
| Java | 21+ |
| Fabric Loader | 0.16+ |
| Minecraft | 1.21.1+ |
Steps
-
Install Fabric Server
- Download the Fabric Installer
- Or use the Fabric Server Installer
-
Download Cardboard
- Get the latest jar from the official website or GitHub Releases
-
Place in mods folder
server/ ├── mods/ │ ├── cardboard-xxx.jar <-- put here │ └── fabric-api-xxx.jar <-- Fabric API (required) ├── eula.txt └── server.properties -
Start the server
- The config file will be generated automatically on first launch
- Place plugins in the
plugins/folder
Usage
Loading Plugins
Simply drop .jar plugin files into the plugins/ directory and restart the server.
Configuration
Configuration file is located at config/cardboard/cardboard-config.yml:
# Enable automatic conflict resolution
auto-conflict-resolution: true
# Force-disabled mixins (for resolving conflicts)
mixin-force-disable: []
# Mixin conflict detection
runtime-conflict-scan: true
conflict-scan-json-output: false
auto-disable-fatal-conflicts: false
# Debug options
debug-print-event-call: false
debug-print-all-calls: false
For detailed conflict detection configuration, see docs/mixin-conflict-detection/user-guide.md.
Building
Requirements
- Java 21+
- Gradle (wrapper included, no extra installation needed)
Build Commands
# Windows
.\gradlew.bat build
# Linux/Mac
./gradlew build
# Skip tests (faster)
.\gradlew.bat build -x test
Build artifacts are located in build/libs/.
Version Support
| Minecraft Version | Fabric Version | Branch | Status |
|---|---|---|---|
| 1.21.11 | 0.16+ | ver/1.21.11 | Active |
| <= 1.21.8 | - | - | No Longer Supported |
This fork focuses exclusively on the latest Minecraft version. Older versions are not maintained. See Supported Versions for upstream details.
Plugin Compatibility
Tested Working
| Plugin | Status | Notes |
|---|---|---|
| EssentialsX | Partial | Core features work |
| WorldEdit | Partial | Basic operations work |
| Vault | Experimental | Economy system integration |
| LuckPerms | Experimental | Permission system |
Known Incompatibilities
| Plugin/Mod | Reason | Workaround |
|---|---|---|
| Some mods using Mixin | Injection point conflicts | Disable conflicting mixins in config |
Known Issues
- Mixin Conflicts: Some Fabric mods using
@Overwritemay conflict with Cardboard- Solution: Configure
mixin-force-disableincardboard-config.yml
- Solution: Configure
- NMS Plugins: Some plugins deeply dependent on NMS may not work
- Cardboard supports automatic NMS remapping, but coverage is not 100%
- Missing Events: A few Bukkit events are not yet implemented
Contributing
We welcome contributions of all kinds.
Reporting Bugs
- Search Issues for existing reports of the same problem
- If not found, create a new issue with:
- Server log (
latest.log) - Cardboard version
- Steps to reproduce
- Server log (
Submitting Code
- Fork this repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Create a Pull Request
Development Guidelines
- Follow Conventional Commits specification
- Use English for code comments
- Use
@Injectinstead of@Overwritefor new mixins
Documentation
Note: Comprehensive documentation for this fork is still being written. For now, refer to the upstream resources below.
Credits
- BukkitTeam, Spigot, and Paper for their work on the API
- Glowstone for the library loader
- md_5's SpecialSource, SrgLib by Techcable & Orion, MinecraftMapping by Phase
- All Cardboard contributors
- All SharkMI fork contributors
- Trae SOLO and OpenCode for AI-assisted development
License
This project inherits the license from Paper. See Paper's License for full details. SrgLib is licensed under MIT.
This project is licensed under the GPL-3.0 License. See LICENSE for details.


