McMines icon

McMines -----

Fully Configurable | Mine Hologram | Custom Placeholders | Developer API



Proof Ownership
proof.png

McMines is a highly customizable complex prison mine generator plugin. It contains amazing and high-tech features such as Timed Resets, Percent Resets, Holograms, and more. Without a big clunky confusing GUI, this plugin gets straight to the point. With one of the most customizable configurations on the market, this plugin will be truly unique for your server. The possibilities are endless.
With a highly active plugin author, whether its new features, bug fixes, or something else, the plugin will be staying active! McMines is one of the strongest prison mine generator plugins currently on the market!
Features
  • Highly Customizable Configuration File
  • Reset Prisons Based on Mine Percent Left
  • Reset Prisons Based on Timer
  • Multiple Easy-to-Use Mine Holograms
  • Add Blocks to Mine with Decimal Precision
  • Custom Placeholders, Including Progress Bar
  • Edit Mines via Commands
  • Edit Mines via Files
  • Many Permissions
  • Many Commands
  • Teleport Player on Reset
  • Notify Player on Reset (with Radius)
  • Developer API
  • Support for HolographicDisplays
  • Highly Active Author
Dependencies

HolographicDisplays (Optional)
[ World Guard & World Edit] (Optional)
Commands & Permissions
  • /mine
  • mcmine.command.mine.*
  • /mine create [name]
  • mcmine.command.mine.create
  • /mine delete [name]
  • mcmine.command.mine.delete
  • /mine add [name] [material] [chance]
  • mcmine.command.mine.add
  • /mine remove [name] [material]
  • mcmine.command.mine.remove
  • /mine rename [old name] [new name]
  • mcmine.command.mine.rename
  • /mine reset [name]
  • mcmine.command.mine.reset
  • /mine option [name] [option] [value]
  • mcmine.command.mine.option
  • /mine warp [name]
  • mcmine.command.warp.MINENAME
  • mcmine.command.warp.*
  • /mine reload
  • mcmine.command.mine.reload
  • /mine version
  • mcmine.command.mine.version
  • /mine info [name]
  • mcmine.command.mine.info
  • /mine hologram [name] [hologram] [command] [value]
  • mcmine.command.mine.hologram
  • mcmine.interact.MINENAME
  • mcmine.interact.*
Developer API
First Steps

To add the plugin to your code, you must add it by jar. There currently is not a maven repository (coming soon). Once you have added the jar file, you must edit your plugin.yml to include depend: [McMines] or softdepend: [McMines] depending if the hook is optional or not.
Usage

To begin with the API, first declare the api object, McMinesAPI mineAPI = new McMinesAPI((McMines) getServer().getPluginManager().getPlugin("McMines"); Now you can view all the available functions by looking at the autocomplete with minesAPI.(usage).
Events

McMines throws a few custom events,
  • MineBlockBreakEvent - Thrown when a block inside a mine has been broken
  • MineResetEvent - Thrown when a mine has been reset
  • MineCreateEvent - Thrown when a mine has been created
World Guard Setup

It is highly recommended to have World Guard installed on your server. If you do not have it installed, please continue to First Steps.
Begin by accessing the region wand, from World Edit by typing //wand To make it so players can't break through the walls of your mine, you will want to select the "container" of your mine. This is the exterior of your mine that will be holding all the blocks. See Figure 1
Figure 1 - Container of Mine


Once your region is selected, you will want to define it as such, /region define [mine_name]_exterior (e.g. "A_exterior") This creates a region around our mine that is protected from players being able to break your mine & mine container. Next, select the interior of the container, where the blocks would go, using the same wand. Once your region is selected, you will want to define it as such, /region define [min ename] (e.g. "A") This creates a region in our mind, that we can allow players to interact with. To allow players to break blocks inside our mine, we first need to add the correct flag using /region flag [mine name] block-break allow. This flag allows the player to be able to break blocks in our mine. Finally, give the player the required permission to interact with the mine mcmine.interact.[mine name] (e.g. "mcmine.interact.A"). You now have your basic mine setup!
First Steps

To begin creating your mine, make sure your main hand is empty. Start with the command /mine create [mine name] (e.g. "/mine create A"). Mine names must not contain any spaces. Once this command has been executed, you will receive an item in your hand called the "Mine Creation Tool". Begin by left clicking on the first corner of where your mine will be (inclusive). Then, right click on the other corner of where your mine will be (inclusive). While holding shift, left click on the block you want the players to warp to. Finally, while holding shift, right click and you will exit creation mode. If you get an error, you must have done something wrong.
Adding Blocks

When your mine first starts out, it will be with 100% stone blocks. To change this, you will first want to remove all the stone using the command /mine remove [mine name] STONE. Once your stone is removed, you can add any block in the game to your mine using this command /mine add [mine name] [material] [chance] (e.g. "/mine add A DIAMOND_ORE 10.50"). Chances can be any number from 0 to near infinity, and with a few decimal places of precision. All block chances do not need to total to 100%, but they are weighted, so the higher the chance, the higher the block count of that type will be.
Editing Mine's Options

Each mine comes with some default options that you may want changed. To do this, the base command /mine option [mine name] [option] [value] must be used. For example, say we want the mine to reset every hour. This is an option that comes with each mine. To enable this option we first must use the following command /mine option [mine name] Reset-Timer true. This enables the mine reset timer option. Now we can edit the frequency of the resets by using the command /mine option [mine name] Reset-Delay 00:00:01:00:00. Lets break this one down. The first set of zeros is the weekly frequency, or how many weeks to wait for each reset. The next set of zeros is the daily frequency, or how many days to wait for each reset, the same rules apply to the next "01" as hours, then minutes, and then seconds. These numbers can be set to anything. With this being set, the mine will now reset every hour. Each option available to you is listed in the tab-completer. See Figure 2 Each value for each option is also previewed in the tab-completer.
Figure 2 - Tab Completer

If we wanted the mine to reset when 75% of the mine has been mined, when can enable this option by using the command /mine option [mine name] Reset-When-%-Empty 75, or, if you only want a timed reset, you can just disable this feature by doing the command /mine option [mine name] Reset-When-%-Empty 0.
Each mine also supports "children" or "submines". To attach a child mine to your mine, you will need to execute the command /mine option [mine name] child [child mine name]. This will then set that mine as a child. A child mine simply resets when the parent mine resets.
Adding Holograms

If you are using HolographicDisplays, you will have access to using holograms. We first need to enable them using commands. /mine option [mine name] holograms-enabled true. This enables the hologram option. Next we can add our first hologram. We can create a hologram using the command /mine hologram [mine name] [hologram name]. Hologram names must not contain spaces. This will create an empty hologram at our location. Don't worry too much about the location now, as we can change that later! Now, lets add a line to our hologram using /mine hologram [mine name] addline [hologram name] [line]. The value of [line] can be anything you would like. It even can contain some placeholders! See Using Hologram Placeholders to use those. If for whatever reason you want to edit the line you just made, use the command /mine hologram [mine name] setline [hologram name] [line#] [line]. The line numbers start at 0 and go from the top down. To remove a line from your hologram, we actually just use the same command, but in a different way. /mine hologram [mine name] setline [hologram name] [line#] null. Using the "null" keyword acts as a delete button. Finally to delete a hologram, just use the command /mine holograms [mine name] delete [hologram name].
Hologram Placeholders

This is a little bit of a tricky area, so try to stay with me. For each hologram, you can add as my placeholders as you want. Unlike other placeholders, each hologram placeholder is unique and has its mine name attached to it.
Here are the list of placeholders
General
  • {mine_name} - Mine's name
Specific
Replace MINENAME with the name of your mine (case-sensitive) You can also use {mine_name} as a nested placeholder (e.g. "{block_count_{mine_name}}")
  • {block_count_MINENAME} - Total blocks, when full, in mine
  • {holo_name_MINENAME} - Name of mine
  • {last_reset_MINENAME} - The date of the mines last reset
  • {mine_percent_empty_MINENAME} - The percent of the mine that has been mined
  • {next_reset_date_MINENAME} - The date of the next reset
  • {next_reset_time_MINENAME} - The next reset date broken down into its components (x Weeks x Days x Hours x Minutes x Seconds)
  • {blocks_mined_MINENAME} - The amount of blocks that have been mined
  • {blocks_left_MINENAME} - The amount of blocks that have yet to be mined
  • {progress_bar_MINENAME} - A progress bar made up of 25 points, each representing ~ 4% See Figure 3.
For support, please use only resource discussion

Terms of Service
By using this plugin, you agree to the following terms, which may be updated by the author at any time.
  • All payments are final and non-refundable.
  • Redistribution or resale of this plugin is prohibited.
  • You are not permitted to modify, decompile, or extract any part of the plugin's source code.
  • Support is provided exclusively to legitimate customers. We cannot offer support for plugins obtained through unauthorized or illegal means.
Resource Information
Author:
----------
Total Downloads: 1
First Release: Dec 13, 2024
Last Update: Jan 27, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings