HomeJavaModsStoneTreasures [1.8-1.13.2]
StoneTreasures [1.8-1.13.2]
Thanks for the 2000+ downloads :D
Versions
Minecraft 1.9+ Download latest version of the plugin.
Minecraft 1.8 Download
Minecraft 1.7< Not supported.

Description
StoneTreasures is a plugin that makes mining more interesting. While mining you have a (configurable) chance to get a treasure. Because of this, having to mine for a long time for ores becomes less annoying, because not only do you have a chance to stumble across some ores, you might also find yourself with random loot in your inventory.


Features
> Extensive GUI. Almost every single option can be edited via the GUI

> Extremely versatile. There are hundreds of possibilities with this plugin. Your imagination truly is your limit.

> Extremely customizable. There is an option for almost everything. The plugin is great when you stick to the defaults, but messing around with the options will show you its true potential.

> Create your own treasure types, with custom chances, treasures, animations, broadcasts and sounds!

> No console errors. I've worked my hardest to remove as many console errors as possible. Instead you will get clear instructions in the chat as to what went wrong and what you can do to fix the problem.
(Found an console error? Let me know!)

> Adds a natural way for players to obtain custom items

> VIP permissions: Create specific permissions for VIP's to have a higher chance on getting treasures.

> Adds an extra level of excitement while mining, which is otherwise quite boring

> Give items or run commands as a reward
> Add lore, enchants, custom name and more to treasures
> Optional Broadcast whenever someone found a treasure
> Drop the reward, place it in the player's inventory or place it in a special GUI
> Play a sound or a particle effect when a treasure is found
> WorldGuard support. You can not get treasures in areas where you can't build. (Temporarily removed. Not included in v2.8.0)



Images

2017-12-04_19.02.42.png 2018-01-02_20.49.35.png 2018-01-02_20.50.14.png 2018-02-20_22.38.57.png 2018-02-20_22.38.30.png 2018-02-20_22.38.24.png 2018-02-20_22.38.18.png

Installation
1. Download the jar file.
2. Place it in your /plugins folder
3. Reload or restart the server
4. Configure the items in the config.



Commands & Permissions

everyone
/stonetreasures (/st)
General GUI. Normal users have access to the reward GUI and the display GUI.
For everything else in the GUI you need:
stonetreasures.admin
/stonetreasures (/st)
Access to the full GUI, includes the Options Panel, editing the Loot Types and Treasures, the Links, Attribute Mode and more.

/stonetreasures debug
Enables or disables debug mode. Can also be done trough GUI.
/stonetreasures links
Lists the links under "Useful Links" in the chat. Can also be done trough GUI.
/st set <loot type> [chance/display/displayname/message/broadcast/playsound] <chance;item;name;true/false>
Set the chance, the display item or display name, and toggle the message, broadcast, playsound and particle feature of that specific loot type.

stonetreasures.log
If the log is enabled in the Options GUI, users with this permission will get a message whenever someone finds a treasure.

stonetreasures.treasures.<treasure>
Players cannot get a treasure that they do not have the permission for. This means players need all of the treasure permissions ( stonetreasures.treasures.* if you use e.g. PEX) if you want them to have access to all treasures.

Multiplier permissions are specified in the config. Add/edit them however you like. They are not default to OP. They will be editable trough the GUI in a future update.

Config

Not up to date with version 2.6
Spoiler: Explanation Config
Code (Text):

options:
  # Options for the plugin
  debug: false
  # Debug. Mainly useful for the developer.
  survival-only: true
  # If set tot true you can only get treasures while mining in survival
  drop-to-inventory: true
  # If set to true the item will be placed in the inventory.
  # If set to false or if it is set to true but the player has a full inventory, it will drop the item as if it was mined in the block.
  # If dropped, the item can only be picked up by the player who gained the treasure.
  allowed-worlds:
  # A list of worlds that the player has to be in to get treasures
  - world

treasure-types
  common:
    # Settings for the GUI display
    GUI-display:
      item: INK_SACK
      # Item that gets displayed
      name: "&7Common"
      # Name of the displayed item
    # A list of blocks that can give you common treasures for mining.
    # The chance gets calculated after checking the block, if you put e.g. DIAMOND_ORE and a 5% chance,
    # the player has a chance of 5% to get a common treasure every time they mine diamond ores.
    # To find treasures only in a subtype, add the datavalue like so "LOG:2".
    # Putting just "LOG" will allow it to be found in all types of logs.
    allowed-blocks:
    - STONE:3
 
    # The percentage of chance to get a common item while mining one of the allowed blocks.
    percent-chance: 5
    message:
      enabled: true
      #Whether the messages are enabled
      message: "&6You got a &7&ocommon &b%name% &6while mining!"
    # The message the player gets if he finds a common treasure.
    # Placeholders %amount% = specified amount in config; %item% = Minecraft Item Name;
    # %name% = Specified name in config. If no name is specified it will display the minecraft item name.
    # %broadcast-name% = The name specified with the item under "broadcast-name".

      drop-message: "&cA &7common &4%name% &chas dropped next to you because your inventory is full!"
    # The message the player gets if his inventory is full while (s)he would have gotten a treasure.

    broadcast:
      enabled: false
      # Disable/Enable the broadcasting
      message:  '&6%player% has found a &7common &9%name% &6while mining!'
      # Message that will get broadcasted if player finds a treasure and broadcast is enabled

    playsound:
      enabled: true
      # If disabled there won't be a sound whenever the player finds the treasure
      sound: BLOCK_NOTE_PLING
      # The sound that gets played. Check the links in "Useful Links" below:
      volume: 10
      # The volume of the sound.

    particle:
      enabled: true
      # If false there won't be a particle whenever the player finds the treasure
      particle: BARRIER
      # The particle. Check the link down below for a list with all particles
      amount: 1
      # Amount of played particle
      location: block
      # Where the particle is located. Can be "player" or "block". "player" will create the particle at player, "block" at the mined block.
      dx: 0
      # The direction on the x axis of the particle
      dy: 0
      # The direction on the y axis of the particle
      dz: 0
      # The direction on the z axis of the particle

    treasures:
    # A list of possible treasures the player can get if they get a common treasure. It is a random chance for each item.
    # The different items need to be numbered. The number has no significance to the chance of it being chosen.

      1:
      # Item one
        type: item
        # The type of treasure the player gets. Can be "item" or "command" or "command-list".
        item: IRON_SWORD
        # The item that will get dropped if item one gets selected
        amount: 1
        # Amount of the specified item that will get dropped
        damage-value: 0
        # The damage value of the item. Use this to get e.g. colored wool or create an almost broken sword.
         # To see the damage value's press F3+H ingame. Set to 0 to get the default item.
        name: '&cDestroyer'
        # The custom name the item will have. If nothing is specified it will be the default name.
        unbreakable: true
        # If set to true the item will be unbreakable.
        enchants:
        # A list of enchants for the item.
        # Check the link under "Useful Links" below to get a list of all enchantments
          -DAMAGE_ALL:3
          # The "DAMAGE_ALL" is the enchantment, the "3" is the level. Make sure you have a ":" between the two!

      2:
      # Item two
        type: command
        # The type of treasure the player gets. Can be "item" or "command" or "command-list".
        command: 'pay %player% 1000'
         # The command gets executed by the console, so you can do whatever you want!
         # %player% gets replaced with the players name.
        name: '&61000 Coins'
         # The name that will be used in the message if %name% or %broadcastname% is used.

      3:
      # Item three
        type: item
        # The type of treasure the player gets. Can be "item" or "command".
        item: IRON_INGOT
        # The item that will get dropped if item three gets selected
        amount: 1
        # Amount of the specified item that will get dropped
        damage-value: 0
        # The damage value of the item. Use this to get e.g. colored wool or create an almost broken sword.
       # To see the damage value's press F3+H ingame. Set to 0 to get the default item.
        lore:
        - '&aThis was the very'
        - '&afirst iron ingot that was'
        - '&aever mined!'
        # The custom lore the item will have. If nothing is specified there will be no lore.

      4:
      # Item four
        type: command-list
        # The type of treasure the player gets. Can be "item" or "command" or "command-list".
        commands:
        - 'give %player% minecraft:DIAMOND_HELMET'
        - 'give %player% minecraft:DIAMOND_SWORD'
        - 'give %player% minecraft:DIAMOND_LEGGINGS'
        - 'give %player% minecraft:DIAMOND_CHESTPLATE'
        - 'give %player% minecraft:DIAMOND_BOOTS'
       # The list of commands that get executed. The list can be as long as you want. %player% gets replaced with the players name.
        name: '&6Diamond set'
        # The name that will be used in the message if %name% or %broadcastname% is used.

# To add an extra item, copy one of the ones above and replace the number.
# The numbers need to be in the correct order, so do not skip or use a number twice.

# Add lore or a name as specified above. Lore needs to be a list as shown. Each line corresponds to a line of lore on the item.

# Add your own treasures types by copying one of the existing and changing the name/messages

multiplier-permissions:
  '1':
  # The first custom permission
    permission: stonetreasures.vip
    # The permission that players need to have to get the multiplier
    multiplier: 2
    # The multiplier. Formula: Chance = Chance * Multiplier
  '2':
  # The second custom permission
    permission: stonetreasures.peasant
    # The permission that players need to have to get the multiplier
    multiplier: 0.9
    # An example of a 'negative' permission

 
Spoiler: Simple Example
Code (Text):

config:
  version: 1
  auto-update: true

options:
  debug: false
  survival-only: true
  drop-to-inventory: true
  allowed-worlds:
  - WORLD

treasure-types:
  common:
    GUI-display:
      item: INK_SACK:3
      name: "&7Common"
    allowed-blocks:
    - STONE
    percent-chance: 3
    message:
      enabled: true
      message: "&6You got a &7common &b%item% &6while mining!"
      drop-message: "&cA &7common &4%item% &chas dropped next to you because your inventory is full!"
    broadcast:
      enabled: false
      message: '&6%player% has found a &7common &9%item% &6while mining!'
    playsound:
      enabled: true
      sound: BLOCK_NOTE_PLING
      volume: 10
    treasures:
      1:
        type: command
        command: 'say hey'
      2:
        type: command-list
        name: "&6Diamond Set"
        commands:
        - 'give %player% minecraft:DIAMOND_HELMET'
        - 'give %player% minecraft:DIAMOND_SWORD'
        - 'give %player% minecraft:DIAMOND_LEGGINGS'
        - 'give %player% minecraft:DIAMOND_CHESTPLATE'
        - 'give %player% minecraft:DIAMOND_BOOTS'
  log:
    GUI-display:
      item: LOG
      name: "&7Log"
      damage: 1
    allowed-blocks:
    - LOG
    percent-chance: 3
    message:
      enabled: true
      message: "&6You got a &7common &b%item% &6while mining!"
      drop-message: "&cA &7common &4%item% &chas dropped next to you because your inventory is full!"
    broadcast:
      enabled: false
      message: '&6%player% has found a &7common &9%item% &6while mining!'
    playsound:
      enabled: true
      sound: BLOCK_NOTE_PLING
      volume: 10
    treasures:
      1:
        type: command
        command: 'say hey'
  uncommon:
    GUI-display:
      item: TORCH
      name: "&7Common"
    allowed-blocks:
    - STONE
    percent-chance: 1.5
    message:
      enabled: true
      message: "&6You got a &8uncommon &b%name% &6while mining!"
      drop-message: "&cA &&8uncommon &4%name% &chas dropped next to you because your inventory is full!"
    broadcast:
      enabled: false
      message: '&6%player% has found a &8uncommon &9%name% &6while mining!'
    playsound:
      enabled: true
      sound: BLOCK_REDSTONE_TORCH_BURNOUT
      volume: 10
    treasures:
      1:
        type: item
        item: IRON_SWORD
        amount: 1
  rare:
    GUI-display:
      item: EGG
      name: "&7Rare"
    allowed-blocks:
    - STONE
    percent-chance: 0.5
    message:
      enabled: true
      message: "&6You got a &erare &b%name% &6while mining!"
      drop-message: "&cA &erare &4%name% &chas dropped next to you because your inventory is full!"
    broadcast:
      enabled: false
      message: '&6%player% has found a &erare &9%name% &6while mining!'
    playsound:
      enabled: true
      sound: BLOCK_ANVIL_LAND
      volume: 10
    treasures:
      1:
        type: item
        item: DIAMOND
        amount: 10
  epic:
    GUI-display:
      item: WATCH
      name: "&7Epic"
    allowed-blocks:
    - STONE
    percent-chance: 0.1
    message: "&6You got a &depic &b%name% &6while mining!"
    drop-message: "&cA &depic &4%name% &chas dropped next to you because your inventory is full!"
    broadcast:
      enabled: true
      message: '&6%player% has found a &depic &9%name% &6while mining!'
    playsound:
      enabled: true
      sound: ENTITY_BLAZE_DEATH
      volume: 10
    treasures:
      1:
        type: item
        unbreakable: true
        item: DIAMOND_AXE
        amount: 1
  legendary:
    GUI-display:
      item: DIAMOND_SWORD
      name: "&7Legendary"
    allowed-blocks:
    - STONE
    percent-chance: 0.01
    message:
      enabled: true
      message: "&6You got the &c&lLEGENDARY &b%name% &6while mining!"
      drop-message: "&cA &lLEGENDARY &4%name% &chas dropped next to you because your inventory is full!"
    broadcast:
      enabled: true
      message: '&6%player% has found the &c&lLEGENDARY &9%name% &6while mining!'
    playsound:
      enabled: true
      sound: BLOCK_END_PORTAL_FRAME_FILL
      volume: 10
    particle:
      enabled: true
      particle: HEART
      amount: 10
      dx: 0
      dy: 0.8
      dz: 0
    treasures:
      1:
        type: item
        item: DIAMOND_SWORD
        amount: 1


multiplier-permissions:
  '1':
    permission: stonetreasures.vip
    multiplier: 2

 
 
Made by @instantout:
Spoiler: Advanced Example

Tutorials

Check these if you have any problems setting up the plugin. If you have suggestions for them please post them in the recourse section :)
(Still WIP)

Spoiler: Setup
  1. Add current world:

    Drop the plugin in the /plugins folder and reload/restart the server
    Use /st gui to open the GUI
    Go to the Options tab (Comparator)
    Click on Allowed Worlds (Diamond Pickaxe)
    Click on "Add Current World" (Chain Commandblock)
    Close the GUI

  2. Create Treasure Types and Treasures, via the config or GUI. Other tutorials cover this.

  3. Give yourself and your players the desired permissions. Format: stonetreasures.treasures.<treasure-type>
    Give stonetreasures.treasures.* to give them access to all treasures.
    Alternativly make them OP

GUI:
Spoiler: Create Treasure Type
  1. Use /st gui to open the GUI
  2. Go to the Treasure Types section (Compass)
  3. Click on the "New Treasure Type" (Paper)
  4. Specify a name in chat, or type 'cancel' to cancel. This can be whatever you like and supports color codes like '&c'. Example name: "&7[&8Stone&7]"
    Press enter.
  5. The new Treasure Type will now show up in the overview.
Spoiler: Edit Chance
  1. Use /st gui to open the GUI
  2. Go to the Treasure Types section (Compass)
  3. Click on the Treasure Type of which you want to change the chance.
  4. Click on "Edit Chance" (Sunflower)
  5. Type a new chance in chat, or type 'cancel' to cancel. Chance has to be between 0 and 100. Example: "0.05"
    Press Enter.
  6. The new chance has been saved and can be checked by hovering the mouse over the "Edit Chance" (Sunflower)
Spoiler: Edit Treasures
  1. Use /st gui to open the GUI
  2. Go to the Treasure Types section (Compass)
  3. Click on the Treasure Type of which you want to change the Treasures
  4. Go to the Treasures Section (Same item as the display item of the Treasure Type, be default a Stone)
  5. Now simply add/remove the treasures from the display.
    Example: Say you want to add a Treasure that gives 3 diamonds. Simply get a stack of 3 diamonds in your inventory, place in in the GUI and click "Save". Done!

    (If you want to add other or more complicated items with lore etc, you will have to go to the config. I am still working on a way to do all that from the GUI :D)
Config:
Spoiler: Add Treasures
Default:
Code (Text):
    treasures:
      '1':
        type: command
        command: 'say Heya %player%!'
Now copy everything under " '1' " and paste it directly under it.
Change '1' to '2'.
Like so:
Code (Text):
    treasures:
      '1':
        type: command
        command: 'say Heya %player%!'
      '2':
        type: command
        command: 'say Heya %player%!'
Succes! You added a new Treasure!
You can keep doing this to add additional treasures, just make sure you change the number every time :)
Spoiler: Create Item Treasure
You should have something like this: (if not, check "Add Treasures")
Code (Text):
    treasures:
      '1':
        type: command
        command: 'say Heya %player%!'
      '2':
        type: command
        command: 'say Heya %player%!'
Now change "type: command" to "type: item".
Remove the "command: 'say Heya %player%!'"
Item has different options than command, naturally.
Required:
  • "item: STONE" (Stone can of course be any item. Check the links below to find a list with the correct item names. Damage values can be written like so: "STONE:3")
  • "amount: 1"
Optional:
  • "name: '&cA random name' "
    The name the item has. Supports '&' color codes.
  • "unbreakable: false "
    True or false. Determines whether the item is unbreakable or not.
  • "lore:
    - 'Line 1'
    - 'Line 2' "
    The lore the item has. Supports '&' color codes. You can add as many lines as you want. Don't overdo it though.
  • "enchants:
    - ENCHANT_ONE:3
    - ENCHANT_TWO:1"
    The enchants the item has. Check below for a link with all the enchants. The part before the ":" is the enchants, the part after the level.
    You can use "random" on both places, to have either a:
    - Random level enchant (e.g. DAMAGE_ALL:random)
    - Random enchant with set level (e.g. random:2)
    - Random enchant with random level (random)
    Random levels never go over the default of the enchantment, so you won't have to worry about a lvl 5 Knockback or something along those lines.
Example:
Code (Text):
    treasures:
      '1':
        type: command
        command: 'say Heya %player%!'
        name: '&7Greeting'
      '2':
        type: item
        item: DIAMOND_CHESTPLATE
        amount: 1
        name: "&cLegendary Plate"
        unbreakable: true
        lore:
        - '&7Crazy good chestplate'
        - '&7worn by you'
        enchants:
        - 'PROTECTION_ENVIRONMENTAL:random'
 
Spoiler: Create Effect Treasure
You should have something like this: (if not, check "Add Treasures")
Code (Text):
    treasures:
      '1':
        type: command
        command: 'say Heya %player%!'
      '2':
        type: command
        command: 'say Heya %player%!'
Now change "type: command" to "type: effect".
Remove the "command: 'say Heya %player%!'"
Effect has different options than command, naturally.
Options (all required):
  • "effect: FIRE_RESISTANCE"
    Can be any effect. Check the link down below to get the list of allowed effect names.
  • "duration: 100"
    Duration of the effect in seconds
  • "amplifier: 1"
    The amplifier of the effect. With this you can create e.g. Jump Boost IV. Default is 1.
  • "particles-disabled: false"
    If set to true the player wont get the effect particles of the specified effect.
In the end, you should have something like this: (values will differ, of course)
Code (Text):
    treasures:
      '1':
        type: command
        command: '/say Heya %player%'
      '2':
        type: effect
        effect: FIRE_RESISTANCE
        amplifier: 1
        duration: 100
        particles-disabled: true
Spoiler: Create Command Treasure
You should have something like this: (if not, check "Add Treasures")
Code (Text):
    treasures:
      '1':
        type: command
        command: 'say Heya %player%!'
      '2':
        type: command
        command: 'say Heya %player%!'
Simply change the command to whatever you like! You can use %player% as a variable for the player name, allowing you to do things like "/give %player% minecraft:bed" (although you should probably be using the item option for that...)
Overview of all options:
Required:
  • "type: command"
  • "command: '/say Hello %player%'"
    Or whatever the your command is
Optional:
  • "name: '&6Greeting'"
    This is the name used in the message. If not specified it will simply say "command".
So in the end you could have something like this
Code (Text):
    treasures:
      '1':
        type: command
        command: 'say Heya %player%!'
      '2':
        type: command
        command: 'pex user %player% add stonetreasures.treasures.legendary'
        name: '&6Legendery Treasures Unlocked'
Spoiler: Create Command-List Treasure
You should have something like this: (if not, check "Add Treasures")
Code (Text):
    treasures:
      '1':
        type: command
        command: 'say Heya %player%!'
      '2':
        type: command
        command: 'say Heya %player%!'
Change "type: command" to "type: command-list"

Overview of all options:
Required:
  • "type: command-list"
  • "commands:
    - '/say Hello %player%'"
    You can use %player% as a variable for the player name, allowing you to do things like "/give %player% minecraft:bed" (although you should probably be using the item option for that...)
    You can add as many commands as you want.
Optional:
  • "name: '&6Greeting'"
    This is the name used in the message. If not specified it will simply say "command-list".
So in the end you could have something like this
Code (Text):
    treasures:
      '1':
        type: command
        command: 'say Heya %player%!'
      '2':
        type: command-list
        commands:
        - 'pex user %player% add stonetreasures.treasures.legendary'
        - 'say This is a second command'
        - 'say Im out of inspiration'
        name: '&6Legendery Treasures Unlocked'

Useful Links
1.8
- Sounds
- Materials
- Enchantments
- Particles
- Effects
1.9+
- Sounds
- Materials
- Enchantments
- Particles
- Effects

Planned
> Custom WorldGuard flags.
> Title and/or actionbar messages instead of chat.
> Item Flags for treasures
> Multiple item reward
> No console errors! (Already W.I.P.) Instead of confusing console messages, get clear and descriptive error messages in chat!

> If you have suggestions, please let me know them!


Other

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

StoneTreasures [1.8-1.13.2] is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 8,008 times (via Spigot). Download it and open it directly in the game.

Explore more