Plot Mines Fully configurable API v1.0

Create mines for your payers to place and use on their plots!
PlotMine-imgArtboard_1.png

Supported versions:
1.8.x | 1.9.x | 1.10.x | 1.11.x | 1.12.x | 1.13.x | 1.14.x | 1.15.x | 1.16.x | 1.18.x | 1.19.x | 1.20.x

Requires PlotSquared
All PlotSquared versions are supported.

For the explosive enchant to work with PlotMines automatically resetting at a certain percentage mined, you must set "use_explode_event:" to true in your Token Enchant config.yml.

PM-BannerArtboard_1Description.png


PlotMines is a plugin that was created with performance and the players who use it in mind!
Players can trust other players to their plot so they can use and reset any PlotMine on that plot!
You can easily make any unique tier of PlotMine and allow players to use them in their Plots with ease!
Oh, and now that every single feature is configurable, you can make it look exactly how you'd like!

PM-BannerArtboard_1Features.png


» You can completely configure all GUI's!
» Create an unlimited amount of PlotMines tiers.
» Set the blocks that are left behind after removing a PlotMine.
» Configure EVERY single message and option in the config.yml.
» Define the ground level so players can't place PlotMines in the sky.
» Toggle sending messages when PlotMines are placed/confirmed/removed.
» The block that players place down to make a PlotMine can be a custom head!
» Set the blocks that outline exactly where a PlotMine will be before confirmation.
» Set the maximum amount of PlotMines that a player can have placed on one plot.
» Capabilities to have tens of thousands of PlotMines running at once with absolutely no lag!
» Fully configure every PlotMine tier, its block data (supports 0.01%), its tier block and GUI layout.

PM-BannerArtboard_1Commands.png


» /plotmines » Displays the help message for PlotMines.
» /plotmines list » Displays all the PlotMines tiers you've created! (plotmines.commands.list)
» /plotmines version » Displays what version of PlotMines you have loaded. (plotmines.commands.version)
» /plotmines reload » Reload the config.yml. (plotmines.commands.reload)
» /plotmines info (tier) » Displays all the block data about a specific tier. (plotmines.commands.info)
» /plotmines give (player) (tier) (amount) » Give a player a specified PlotMine. (plotmines.commands.give)
» /plotmines reset » Reset your PlotMine or any PlotMine inside of a plot you've been trusted to. (plotmines.commands.reset)
» /plotmines delete » Let's a player force delete a PlotMine of theirs or an admin forcefully delete a PlotMine if needed. (plotmines.commands.delete)

Players will need permission to use each PlotMine tier.
» plotmines.use.(tier)

Or simply give them access to all tiers at once:
» plotmines.use.*

Command Aliases »
/plotmine & /pm

PM-BannerArtboard_1Conf.png


Code:
# Options here: MySQL or SQLite
# For MySQL, you need to fill out the file 'database.properties'
# Do not touch this if you don't know what it is, feel free to ask in Discord support.
DataStorage: 'SQLite'

Settings:
  Upgradable-Mines: true
  PlotMines:
    Block-That-Fills-Removed-PlotMines: GRASS_BLOCK
    Ground-Level: 64
    Drop-PlotMine-Item-On-PlotMine-Return: false


Messages:
  Prefix: '&8(&b!&8) &3&l»'
  Header: '&8&m+---------&8( &aPlotMines &8)&m---------+'
  Footer: '&8&m+----------------------------+'
  PlotMine-Info-Format: '&3&l» &a%material%%data% &8» &a%percent%%'
  Command-Format: '&3&l» &e%command%'
  No-Permission: '%prefix% &fSorry, but you don''t have permission to do that.'
  Tier-Unknown: '%prefix% &fSorry, but &a%tier% PlotMine &fdoesn''t exist.'
  Player-Offline: '%prefix% &fSorry, but &c%player% &fisn''t currently online.'
  Not-Standing-In-PlotMine: '%prefix% &fSorry, but you must be standing in a &aPlotMine &fof yours.'
  No-Access-Cant-Delete: '%prefix% &fSorry, but you can''t delete that &aPlotMine &fas you don''t have access to it.'
  No-Access-Cant-Reset: '%prefix% &fSorry, but you can''t reset that &aPlotMine &fas you don''t have access to it.'
  PlotMine-Reset: '%prefix% &fThe &aPlotMine &fyou were in has just reset.'
  PlotMine-Given: '%prefix% &fYou gave &a%player% &fa &a%tier% PlotMine&f.'
  Reloaded-Config: '%prefix% &fYou''ve reloaded the config.yml.'
  PlotMine-Info-Tier: '%prefix% &fBlocks for &aPlotMine %tier%&8:'
  PlotMinePlace: '%prefix% &fTo confirm your &aPlotMine&f, right-click the block you just placed.'
  PlotMineRemove: '%prefix% &fYou''ve removed a &aPlotMine&f.'
  PlotMineConfirm: '%prefix% &fYou''ve claimed a &aPlotMine&f.'
  PlotMineUpgraded: '%prefix% &fYou''ve upgraded a &aPlotMine&f.'
  Boarders-Intersecting: '%prefix% &fSorry, but you can''t place your &aPlotMine &fthere. &7(Plot borders)'
  PlotMines-Intersecting: '%prefix% &fSorry, but you can''t place your &aPlotMine &fthere. &7(Other &aPlotMines&7)'
  Plot-Limit-Reached: '%prefix% &fSorry, but you can''t have more than &a%max-plotmines%x PlotMines &fat once.'
  Would-Delete-The-Plot-Floor: '%prefix% &fSorry, but you can''t place your &aPlotMine &fthere. &7(Plot floor)'
  PlotMine-Above-Ground-Level: '%prefix% &fSorry, but you can''t place your &aPlotMine &fthere. &7(Above ground level)'
  Tier-List-Format: '&3&l» &a%tier%'
  Tier-Header-Tip: '%prefix% &fYou can click on a Tier to obtain it.'

  Not-Enough-Money-To-Upgrade: '%prefix% &cYou don''t have enough money to upgrade this mine.'
Code:
[/LEFT]
# Placeholders for lore are:
#
# %level_name% - The name of the current mine level.
# %level% - The current mine level.
# %next_level_name% - The name of the next mine level.
# %upgrade_price% - The requirement price to upgrade to current mine.

Gui:
  Background-Icon:
    Material-Type: BLACK_STAINED_GLASS_PANE
    Data: 0

  Remove-Mine-Icon:
    Material-Type: FEATHER
    Data: 0
    Slot: 10
    Display-Name: '&eRemove mine'
    Lore:
      - '&8&o%level% level'
      - ''
      - '&7Remove the mine and retrieve it as'
      - '&7an item which you can re-place.'
      - ''
      - '&eClick to remove mine.'

  Reset-Mine-Icon:
    Material-Type: MINECART
    Data: 0
    Slot: 13
    Display-Name: '&eReset mine'
    Lore:
      - ''
      - '&7Reset your mine, meaning re-fill all the'
      - '&7missing blocks you broke from it.'
      - ''
      - '&eClick here to reset mine.'

  # This will be ignored if Upgradable-Mines is set to false.
  # This requires Vault economy to work.
  Upgrade-Mine-Icon:
    Slot: 16
    Normal:
      Material-Type: LIME_DYE
      Data: 0
      Display-Name: '&eUpgrade mine'
      Lore:
        - ''
        - '&e&lInfo:'
        - ' &8|&e Current Level:&f %level_name%'
        - ' &8|&e Next Level:&f %next_level_name%'
        - ' &8|&e Upgrade Price:&a $%upgrade_price%'
        - ''
        - '&eClick here to upgrade.'
    Maxed:
      Material-Type: BLACK_DYE
      Data: 0
      Display-Name: '&eUpgrade mine'
      Lore:
        - ''
        - '&e&lInfo:'
        - ' &8|&e Current Level:&f %level_name%'
        - ' &8|&e Next Level:&c MAXED'
[LEFT]
Code:
[/LEFT]
# Import this into the tiers folder, then either restart or reload using this plugin command.
Info:
  Name: example

  Level: 1

  # The upgrade price to the tier of 1 more level of this mine.
  # Works with vault, can be disabled from config.yml.
  Upgrade-Price: 1000


# This is going to be the icon of the item the player needs to place for the mine to spawn.
Item-Data:
  Type: COAL_BLOCK
  Data: 0
  Display-Name: '&eTier 1 Mine'
  Lore:
    - '&7Place it at your plot and start'
    - '&7mining!'
  Enchanted: false


Mine-Data:
  Size: 7
  Wall-Material: BEDROCK
  Floor-Material: BEDROCK
  Reset-Percentage: 80
  Blocks:
    1:
      Material: IRON_BLOCK
      Percentage: 50
    2:
      Material: COAL_BLOCK
      Percentage: 50
[LEFT]

PM-BannerArtboard_1API.png


Grab a PlotMine by the PlotMine block location. (The configurable per-tier block you have to place to register a PlotMine)

Mine mine = MineUtils.getMineByLocation(location);

Grab a PlotMine by the blocks that are inside of it. (The block:data blocks)

Mine mine = MineUtils.getMineByPlotMineBlock(location);

Do things with the PlotMines.

mine.isInside(x,y,z) - Checks if the specified location is in the specified PlotMine.
returns boolean

mine.getCorner() - Grab the bottom corner of the PlotMine. (This will be the block that will change when all 4 corner placement is supported)
returns location

mine.getFirst() - Grab the top corner block directly under the PlotMine block. (This block location will never change)
returns location

mine.getCorners() - Grab both the corner and first block of a PlotMine.
returns List<Location>

mine.getLocation() - Grabs the location of the PlotMine block.
returns location;

mine.getPlot() - Grabs the plot the PlotMine is registered to.
returns Plot (PlotSquared)

mine.getTier() - Grabs the PlotMines tier. (You configure these in the config.yml)
returns tier

mine.getOwner() - Grabs the owner of the PlotMines.
returns OfflinePlayer

mine.getWorld() - Grabs the world the PlotMine is in.
returns world

mine.isPending() - Checks if the PlotMine location has been confirmed or not.
returns boolean

mine.getBlocksLeft() - Grabs the amount of blocks left in the PlotMine.
returns int;

mine.reduceBlocksLeft() - Minus one block from the blocks that are in the PlotMine.

mine.increaseBlocksLeft() - Plus one block to the blocks that are in the PlotMine.

How to easily make your custom "Explosive" event or something similar register to the blocks left in a PlotMine:
Java:
Mine mine = MineUtils.getMineByLocationExpanded(location);
                    if (mine != null) {
                        mine.reduceBlocksLeft();
                    }

PM-BannerArtboard_1Videos.png


• This is my video for the resource.


• If you would like your video up here just PM me.

PM-BannerArtboard_1Servers.png


» luxcube.club

• Want your server here? •
Use this resource & PM me the IP
(y)


PM-BannerArtboard_1Support.png


The quickest way to get support for any of my resources
would be to join my Resource Discord.
» https://discord.gg/qHevCrfWqM

Note »
Please DO NOT leave bad reviews for any issues
that you have. Please simply PM me or leave it
in the discussion tab. Thank you.
(y)


That and reviews are highly appreciated!
:alien:
Buy a license now
$8.00
EULA: Standard EULA
Secure checkout:
Share and earn
Refer this resource and earn a 10% commission.
128 Views
0 Purchases
1 Downloads
Nov 11, 2023 Published
Oct 4, 2023 Updated
Not yet rated
4.4 MB File size
Type
  1. Admin tools
  2. Gameplay
  3. Games
Supported software
  1. Spigot
Supported versions
  1. 1.7
  2. 1.8
  3. 1.9
  4. 1.10
  5. 1.11
  6. 1.12
  7. 1.13
  8. 1.14
  9. 1.15
  10. 1.16
  11. 1.17
  12. 1.18
  13. 1.19
  14. 1.20
Creator
Owner
Recommended for you
Unleash Your Imagination, Master the Mob World with UltraSpawners!
5.00 star(s) 4 ratings
24 purchases
Nemesis Ultimate Protection Plugin and Staff Management
Not yet rated
2 purchases
Prevents your server from crash packet exploits
5.00 star(s) 83 ratings
1,997 purchases
Elite formatting and filtering plugin. Can replace 200+ plugins. High-performance. Folia supported.
5.00 star(s) 102 ratings
1,981 purchases
Share and earn
Refer this resource and earn a 10% commission.
128 Views
0 Purchases
1 Downloads
Nov 11, 2023 Published
Oct 4, 2023 Updated
Not yet rated
4.4 MB File size
Type
  1. Admin tools
  2. Gameplay
  3. Games
Supported software
  1. Spigot
Supported versions
  1. 1.7
  2. 1.8
  3. 1.9
  4. 1.10
  5. 1.11
  6. 1.12
  7. 1.13
  8. 1.14
  9. 1.15
  10. 1.16
  11. 1.17
  12. 1.18
  13. 1.19
  14. 1.20
Creator
Owner
Recommended for you
Unleash Your Imagination, Master the Mob World with UltraSpawners!
5.00 star(s) 4 ratings
24 purchases
Nemesis Ultimate Protection Plugin and Staff Management
Not yet rated
2 purchases
Prevents your server from crash packet exploits
5.00 star(s) 83 ratings
1,997 purchases
Elite formatting and filtering plugin. Can replace 200+ plugins. High-performance. Folia supported.
5.00 star(s) 102 ratings
1,981 purchases
Top
You need to upgrade!
Our dark style is reserved for our Premium members. Upgrade here.