Skye Crates
The Crates plugin used for the SkyeNetwork Server
Skye Crates
SkyeCrates
A Minecraft plugin for Paper/Spigot servers that adds customizable crates with native Minecraft loot tables and particle effects.
Features
- Paper API: Full support for Minecraft's loot table format, compatible with Paper API - Paper API: Customizable particle effects for each crate type with full control over particle behavior - Paper API: YAML configuration files for each crate type - Paper API: Built-in permission system for admins and users - Paper API: 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
1. Download the latest release 2. Place the JAR file in your server's `plugins` folder 3. Restart your server 4. 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
```yaml 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
```yaml
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
1. Go to Misode's Loot Table Generator 2. Create your desired loot table using the visual interface 3. Copy the generated JSON from the output 4. Paste it directly into the `loot:` section of your crate configuration file
Supported Loot Table Features
- All vanilla items with different roll counts - All vanilla items for item rarity - All vanilla items like `set_count`, `set_damage`, `enchant_with_levels` - All vanilla items for advanced loot logic - All vanilla items and their properties
Example Configurations
Basic Crate
Simple crate with a single guaranteed diamond:
```yaml 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:
```yaml 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
```bash ./gradlew build ```
The compiled JAR will be in `build/libs/`