CustomOres
Advanced Custom Ore Generation for Minecraft 1.21.4+
⭐ Create Unique Veins ⭐ Particles & Glow ⭐ Full Control ⭐
(Replace above with an actual banner image!)
Overview
CustomOres is a powerful Minecraft server plugin designed to give administrators complete control over custom ore vein generation. Create, manage, and customize a variety of ore veins, each with unique properties such as materials, generation conditions, drop tables, required tools, particle effects, and even glowing outlines to make them stand out!
Whether you want to add rare, new resources to your survival world, create special event ores, or finely tune the existing ore distribution, CustomOres provides the tools you need.
Spoiler: Why Choose CustomOres?
- Unparalleled Customization: Define every aspect of your ores, from their appearance to their behavior.
- Engaging Gameplay: Introduce new challenges and rewards for your players.
- Performance Conscious: Designed with server performance in mind (though always test in your environment).
- Easy to Use: Configure via intuitive commands or detailed YAML files.
- Visually Appealing: Make your custom ores pop with particles and glowing effects.
(Replace with actual screenshots/GIFs!)
Features
- Create Custom Ore Veins:
- Define ore vein names and their base block material (e.g., a custom textured block or an existing one like Diamond Ore).
- Use items in hand to easily set materials.
- Define ore vein names and their base block material (e.g., a custom textured block or an existing one like Diamond Ore).
- Precise Generation Control:
- Specify target worlds for generation.
- Set density (chunks) and vein size.
- Configure Y-level ranges (min/max height) for underground generation.
- Choose to generate on the surface (`OnGround: true/false`).
- Define specific blocks ores can generate on if on the surface (e.g., `GRASS_BLOCK`, `SAND`).
- Set XY coordinate regions for generation (`setregion`).
- Specify which existing blocks your custom ores can replace (e.g., `STONE`, `DEEPSLATE`).
- Specify target worlds for generation.
- Custom Drops & Mining:
- Define multiple custom item drops per ore, each with its own drop chance.
- Restrict mining to specific tools (e.g., only a Netherite Pickaxe can mine "Superium Ore").
- Clear tool restrictions easily.
- Define multiple custom item drops per ore, each with its own drop chance.
- Visual Enhancements:
- Add particle effects (type, count, shape, refresh rate, display distance, offset, toggle).
- Make ores glow (see-through, display distance, color, toggle, scale, block light, sky light).
- Add particle effects (type, count, shape, refresh rate, display distance, offset, toggle).
- Management & Regeneration:
- Set automatic generation (`spawn: true/false`) for each ore type.
- Configure respawn cooldowns for mined veins.
- Force generate specific ores at coordinates.
- Clear all custom ores or ores of a specific type.
- Regenerate all defined ore veins.
- Reload plugin configuration without a server restart.
- List all ore configurations and view detailed info for specific ores.
- Set automatic generation (`spawn: true/false`) for each ore type.
- Configuration:
- Manage everything through in-game commands or by directly editing YAML configuration files.
- `config.yml`: Main plugin settings (e.g., debug mode).
- `ores.yml`: Detailed configurations for each custom ore type.
- `messages.yml`: Customize all player-facing messages (supports multi-language).
- `debugmessage.yml`: Customize debug messages.
- `minecraft_lang.yml`: For item/material name translations.
- Manage everything through in-game commands or by directly editing YAML configuration files.
Dependencies
- Java 17 or higher
- Paper API 1.20.1-1.21.5 (or compatible Spigot/Bukkit versions)
- No other plugin dependencies are required for core functionality.
Commands
Main command: /ro (alias for /customores - configurable)
Permission for all commands: `customores.admin` (Example, actual permissions might vary based on `plugin.yml`)
Spoiler: Main Command Groups (Examples - Full list in README or Wiki)
Ore Management:
Generation Settings:
Mining & Drops:
Visual Effects:
Manual Generation & Clearing:
Code (Text):
/ro create <oreName>
/ro delete <oreName>
/ro list
/ro info <oreName>
/ro reload
/ro delete <oreName>
/ro list
/ro info <oreName>
/ro reload
Code (Text):
/ro setWorld <oreName> <worldName>
/ro setDensity <oreName> <min>,<max>
/ro setSize <oreName> <size>
/ro setDeepY <oreName> <minY>,<maxY>
/ro setOnGround <oreName> <true|false>
/ro setOnGroundBlock <oreName> <material>
/ro setRegion <oreName> <minXY> <maxXY>
/ro setReplace <oreName> <material1,material2,...>
/ro spawn <oreName> <true|false>
/ro setCooldown <oreName> <minutes>
/ro setDensity <oreName> <min>,<max>
/ro setSize <oreName> <size>
/ro setDeepY <oreName> <minY>,<maxY>
/ro setOnGround <oreName> <true|false>
/ro setOnGroundBlock <oreName> <material>
/ro setRegion <oreName> <minXY> <maxXY>
/ro setReplace <oreName> <material1,material2,...>
/ro spawn <oreName> <true|false>
/ro setCooldown <oreName> <minutes>
Code (Text):
/ro setMaterial <oreName> (uses item in hand)
/ro setDrops <oreName> <itemName> <chance> (itemName can be complex, see docs)
/ro setTools <oreName> (uses item in hand)
/ro clearTools <oreName> [toolType]
/ro setDrops <oreName> <itemName> <chance> (itemName can be complex, see docs)
/ro setTools <oreName> (uses item in hand)
/ro clearTools <oreName> [toolType]
Code (Text):
/ro setParticle <oreName> <type> <count> <shape> [refresh] [distance] [offset] [enabled]
/ro setGlow <oreName> <seeThrough> <distance> <color> [enabled] [scale] [blockLight] [skyLight]
/ro setGlow <oreName> <seeThrough> <distance> <color> [enabled] [scale] [blockLight] [skyLight]
Code (Text):
/ro generate <oreName> <x> <y> <z>
/ro clearall
/ro cleartype <oreName>
/ro regenerateall
/ro clearall
/ro cleartype <oreName>
/ro regenerateall
Installation
- Download the latest `CustomOres.jar` file.
- Place the `.jar` file into your server's `plugins` folder.
- Restart or load the plugin using your server's plugin manager.
- The plugin will generate default configuration files in `plugins/CustomOres/`.
- Configure permissions for your staff.
Basic Usage Example: Creating a New Ore
- Create the ore config: `/ro create MyShinyOre`
- Hold the block you want it to look like (e.g., an Iron Ore block) and type: `/ro setMaterial MyShinyOre`
- Set its world: `/ro setWorld MyShinyOre world`
- Set its density (e.g., 5-10 veins per 16x16 chunk area, approximately): `/ro setDensity MyShinyOre 5,10`
- Set its vein size: `/ro setSize MyShinyOre 4`
- Set Y-level generation: `/ro setDeepY MyShinyOre 0,60`
- Set what it drops (e.g., a diamond with 100% chance): `/ro setDrops MyShinyOre DIAMOND 100`
(Note: For custom items, you might need to use serialized item data or a translation key. Refer to `ItemSerializer.java` or `ItemNameTranslator.java` concepts mentioned in the README for advanced item definitions.) - Hold a diamond pickaxe and set it as the required tool: `/ro setTools MyShinyOre`
- Enable automatic generation: `/ro spawn MyShinyOre true`
- (Optional) Add some flair: `/ro setParticle MyShinyOre FLAME 10 SPHERE`
- (Optional) Make it glow red: `/ro setGlow MyShinyOre false 32 #FF0000 true`
Configuration Example (ores.yml)
Spoiler: Example ores.yml structure
# ores.yml
MyShinyOre:
Material : # The block material for this ore
# This would be serialized item data if set via /ro setMaterial
# Example:
# serialized-item: "=="
World : world
Density :
- 5 # Min density
- 10 # Max density
Size : 4
OnGround : false
OnGroundBlocks : # Blocks it can spawn on if OnGround is true
- GRASS_BLOCK
deepY : # Underground Y-level range
- 0 # Min Y
- 60 # Max Y
OreItem : # Items dropped when mined
drop1:
chance : 100 # 100% chance
# serialized-item: "==" (e.g., for a Diamond)
# For simple items, it might store material name like:
material : DIAMOND
amount : 1
tools : # Tools required to mine (list of serialized items)
# - serialized-item: "==" (e.g., for a Diamond Pickaxe)
Cooldown : 5 # 5 minutes respawn cooldown
Spawn : true # Automatically generate
Particle:
Type : FLAME
Count : 10
Shape : SPHERE
RefreshRate : 20 # ticks
DisplayDistance : 16.0
HeightOffset : 0.5
Enabled : true
Glow:
SeeThrough : false
DisplayDistance : 32.0
Color : ' #FF0000' # Red
Enabled : true
Scale : 1.0
BlockLight : 0 # No extra block light
SkyLight : 0 # No extra sky light
Region : # Optional XY generation bounding box
minX : -1000
minZ : -1000
maxX : 1000
maxZ : 1000
ReplaceMaterials : # Blocks this ore can replace
- STONE
- DEEPSLATE
- DIRT
- GRAVEL
Code (YAML):
# ores.yml
MyShinyOre:
Material : # The block material for this ore
# This would be serialized item data if set via /ro setMaterial
# Example:
# serialized-item: "=="
World : world
Density :
- 5 # Min density
- 10 # Max density
Size : 4
OnGround : false
OnGroundBlocks : # Blocks it can spawn on if OnGround is true
- GRASS_BLOCK
deepY : # Underground Y-level range
- 0 # Min Y
- 60 # Max Y
OreItem : # Items dropped when mined
drop1:
chance : 100 # 100% chance
# serialized-item: "==" (e.g., for a Diamond)
# For simple items, it might store material name like:
material : DIAMOND
amount : 1
tools : # Tools required to mine (list of serialized items)
# - serialized-item: "==" (e.g., for a Diamond Pickaxe)
Cooldown : 5 # 5 minutes respawn cooldown
Spawn : true # Automatically generate
Particle:
Type : FLAME
Count : 10
Shape : SPHERE
RefreshRate : 20 # ticks
DisplayDistance : 16.0
HeightOffset : 0.5
Enabled : true
Glow:
SeeThrough : false
DisplayDistance : 32.0
Color : ' #FF0000' # Red
Enabled : true
Scale : 1.0
BlockLight : 0 # No extra block light
SkyLight : 0 # No extra sky light
Region : # Optional XY generation bounding box
minX : -1000
minZ : -1000
maxX : 1000
maxZ : 1000
ReplaceMaterials : # Blocks this ore can replace
- STONE
- DEEPSLATE
- DIRT
- GRAVEL
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.20, 1.20.6, 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
del is a free Minecraft Java mod. Compatible with Minecraft 1.20, 1.20.6, 1.21. Downloaded 74 times (via Spigot). Download it and open it directly in the game.