Skye Crates 1.0.1
on Jun 11, 2025SkyeCrates
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 keys
command 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
plugins
folder - 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/
Skye Crates 1.0.0
on Jun 11, 2025SkyeCrates
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
- 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
- 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
plugins
folder - 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 item to a player/skyecrates place <crate>
- Place a crate at your target location/skyecrates remove
- Remove a crate you're looking at
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/
Migration from Kotlin Version
This is a complete Java rewrite of the original Kotlin plugin. Configuration files are compatible, but the plugin is now:
- Written in pure Java for better compatibility
- Optimized for Paper 1.21.4+
- Enhanced with better loot table parsing
- Improved error handling and logging
License
This project is licensed under the MIT License.