CustomOres icon

CustomOres -----

CustomOres is a powerful Minecraft server plugin designed to give administrators complete control ov




CustomOres
Advanced Custom Ore Generation for Minecraft 1.21.4+
⭐ Create Unique Veins ⭐ Particles & Glow ⭐ Full Control ⭐

[​IMG]
(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.

  • 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.


[​IMG]
(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.
  • 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`).
  • 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.
  • 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).
  • 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.
  • 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.

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`)

Ore Management:
Code (Text):
/ro create <oreName>
/ro delete <oreName>
/ro list
/ro info <oreName>
/ro reload
Generation Settings:
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>
Mining & Drops:
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]
Visual Effects:
Code (Text):
/ro setParticle <oreName> <type> <count> <shape> [refresh] [distance] [offset] [enabled]
/ro setGlow <oreName> <seeThrough> <distance> <color> [enabled] [scale] [blockLight] [skyLight]
Manual Generation & Clearing:
Code (Text):
/ro generate <oreName> <x> <y> <z>
/ro clearall
/ro cleartype <oreName>
/ro regenerateall

Installation
  1. Download the latest `CustomOres.jar` file.
  2. Place the `.jar` file into your server's `plugins` folder.
  3. Restart or load the plugin using your server's plugin manager.
  4. The plugin will generate default configuration files in `plugins/CustomOres/`.
  5. Configure permissions for your staff.

Basic Usage Example: Creating a New Ore
  1. Create the ore config: `/ro create MyShinyOre`
  2. Hold the block you want it to look like (e.g., an Iron Ore block) and type: `/ro setMaterial MyShinyOre`
  3. Set its world: `/ro setWorld MyShinyOre world`
  4. Set its density (e.g., 5-10 veins per 16x16 chunk area, approximately): `/ro setDensity MyShinyOre 5,10`
  5. Set its vein size: `/ro setSize MyShinyOre 4`
  6. Set Y-level generation: `/ro setDeepY MyShinyOre 0,60`
  7. 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.)
  8. Hold a diamond pickaxe and set it as the required tool: `/ro setTools MyShinyOre`
  9. Enable automatic generation: `/ro spawn MyShinyOre true`
  10. (Optional) Add some flair: `/ro setParticle MyShinyOre FLAME 10 SPHERE`
  11. (Optional) Make it glow red: `/ro setGlow MyShinyOre false 32 #FF0000 true`

Configuration Example (ores.yml)
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
 
Resource Information
Author:
----------
Total Downloads: 13
First Release: May 10, 2025
Last Update: May 10, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings