1.0.1
Compatibility
Changes
SkyeCrates
A Minecraft plugin for Paper/Spigot servers that adds customizable crates with native Minecraft loot tables and particle effects.
Features
- Native Minecraft Loot Tables: Full support for Minecraft's loot table format, compatible with Misode's Loot Table Generator
- Particle Effects: Customizable particle effects for each crate type with full control over particle behavior
- Digital Key System: Players need keys to open crates, with
/skyecrates keyscommand to check key counts - Barrier-based Crates: Crates are placed as barrier blocks that stay persistent after opening
- Loot Preview: Left-click on crates to preview possible items and their drop chances
- Admin Deletion: Admins can Shift+Left-click crates to open a secure deletion confirmation GUI
- Easy Configuration: YAML configuration files for each crate type
- Permissions: Built-in permission system for admins and users
- Commands: Complete command system for managing crates and keys
- Paper API: Built specifically for Paper 1.21.4+ with modern Java features
Requirements
- Minecraft 1.21.4+
- Paper server (recommended) or Spigot
- Java 21+
Installation
- Download the latest release
- Place the JAR file in your server's
pluginsfolder - Restart your server
- Configure your crates in
plugins/SkyeCrates/crates/
Configuration
Each crate is configured in its own YAML file in the plugins/SkyeCrates/crates/ folder.
Crate Configuration Format
name: <name of crate>
particles:
type: <particle type> # Bukkit Particle enum value
deltaX: <x spread> # How far particles spread on X axis
deltaY: <y spread> # How far particles spread on Y axis
deltaZ: <z spread> # How far particles spread on Z axis
count: <particle count> # Number of particles per spawn
speed: <particle speed> # Speed of particles
loot: |
<loot table JSON pasted here>
Example Crate Configuration
# Example Crate Configuration
name: "Example Crate"
# Particle configuration
particles:
type: "FLAME" # Particle type (see Bukkit Particle enum)
deltaX: 0.5 # Particle spread on X axis
deltaY: 0.5 # Particle spread on Y axis
deltaZ: 0.5 # Particle spread on Z axis
count: 15 # Number of particles per spawn
speed: 0.1 # Particle speed
# Loot table (JSON format from Misode's loot table generator)
loot: |
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:diamond",
"weight": 1,
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 1,
"max": 3
}
}
]
}
]
}
]
}
Commands
/skyecrates reload- Reload plugin configuration/skyecrates list- List all available crates/skyecrates give <player> <crate> [amount]- Give a crate placer to a player/skyecrates place <crate>- Place a crate at your target location/skyecrates remove- Remove a crate you're looking at/skyecrates givekey <player> <crate> [amount]- Give digital keys to a player/skyecrates keys- Show your key counts
Crate Interactions
- Right-click: Open crate (requires key)
- Left-click: Preview possible loot and drop chances
- Shift+Left-click (Admins only): Open deletion confirmation GUI
Permissions
skyecrates.admin- Access to all SkyeCrates commands (default: op)skyecrates.use- Allows using crates (default: true)
Using Misode's Loot Table Generator
- Go to Misode's Loot Table Generator
- Create your desired loot table using the visual interface
- Copy the generated JSON from the output
- Paste it directly into the
loot:section of your crate configuration file
Supported Loot Table Features
- Multiple pools with different roll counts
- Weighted entries for item rarity
- Functions like
set_count,set_damage,enchant_with_levels - Conditions for advanced loot logic
- All vanilla items and their properties
Example Configurations
Basic Crate
Simple crate with a single guaranteed diamond:
name: "Basic Crate"
particles:
type: "FLAME"
deltaX: 0.5
deltaY: 0.5
deltaZ: 0.5
count: 10
speed: 0.1
loot: |
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:diamond"
}
]
}
]
}
Treasure Crate
Advanced crate with multiple items and different rarities:
name: "Treasure Crate"
particles:
type: "VILLAGER_HAPPY"
deltaX: 1.0
deltaY: 0.8
deltaZ: 1.0
count: 25
speed: 0.05
loot: |
{
"type": "minecraft:block",
"pools": [
{
"rolls": {
"min": 2,
"max": 4
},
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:diamond",
"weight": 5
},
{
"type": "minecraft:item",
"name": "minecraft:emerald",
"weight": 8,
"functions": [
{
"function": "minecraft:set_count",
"count": {
"min": 2,
"max": 5
}
}
]
}
]
}
]
}
Building from Source
./gradlew build
The compiled JAR will be in build/libs/
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:FAlmXSuJ:kqh7v6DQ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:FAlmXSuJ:kqh7v6DQ"
}
