[WIP] [API 7.0.0] šŸ”„ ProximityMines šŸ”„ - Motion detecting land mines!

##Description

ProximityMines is a Sponge plugin inspired by the ICBM mod. It brings motion detecting land mines to Minecraft that can be hidden underneath the ground. Still a work in progress, as many features have yet to be implemented but the core functionality is here!

Mines are currently divided into two components: an indicator block, and a TNT block. The indicator block represents the type of the mine, and controls is functionality. To create a mine in game, all you need to do is place a TNT on top of the indicator block associated with the mine you want to create (see screenshots on the bottom).

Currently there are 5 different mines. Here is a list along with their indicator block.

Tier 1: Iron Block
Tier 2: Gold Block
Tier 3: Diamond Block
Tier 4: Emerald Block
Shrapnel: Gravel

GitHub: GitHub - kmecpp/ProximityMines: Proximity mines in Minecraft!
Download: Releases Ā· kmecpp/ProximityMines Ā· GitHub

This project depends on SpongeCore (also a WIP) but it is included in the jar so no extra steps are necessary to install.

##Commands
/pmine - displays the help message
/pmine info - displays information about the plugin
/pmine reload - reloads the pluginā€™s configuration

##Config

Currently the configuration is very simple and only allows you to modify the range of the motion detection for ProximityMines


# ProximityMines configuration file

# Detection radius for proximity mines
mine-range=4

##API

Great news! Itā€™s also easy to create your very own custom Proximity Mine! All you have to do is create a new class that extends AbstractMine and implement a few methods that control your mines behavior.

public class CustomMine extends AbstractMine {

	@Override
	public String getName() { //The name of your mine
		return "Awesome";
	}

	@Override
	public BlockType getBlockType() { //The indicator block for your mine
		return BlockTypes.REDSTONE_LAMP;
	}

	@Override
	public void onExplode(Player target, MineBlock mine, Cause cause) { //What should happen when your mine is detonated
		//Explosion code
	}

}

Then just register it during your pluginā€™s initialization by calling new CustomMine().register();

##TODO
Config:

  • {mine}-radius for blast radius for each mine
  • {mine}-damage for damage modifier for each mine
  • kill-owner setting for modifying whether or not the mine should kill its owner
    • enable-friendlies setting for enabling/disabling whether or not players can add/remove players from their ā€˜Friendly Listā€™ which is a list of names/UUIDs for each player, that controls who is protected from their mines.
  • timer-duration setting for modifying the amount of time the Safety Timer will run for if kill-owner is enabled

Features:

  • Per player ā€˜Friendly Listā€™ if kill-owner setting is disabled, so each player can add other players they do not wish to be killed by their mines (integration with factions/groups plugins)
  • Timer if mines-kill owner setting is enabled
  • More explosion effects (flying blocks, fire, etcā€¦)

##Screenshots:

A picture of an activated Tier 3 proximity mine. The indicator block in this example is the Diamond Block.

1 Like

Immediately after starting the server Error

forge-1.10.2-12.18.1.2092-universal.jar
spongeforge-1.10.2-2092-5.0.0-BETA-1759.jar
ProximityMines-1.0.0.jar

Oh man, that was stupid. I hope Iā€™m not disqualified.

Updated the download, should work now if you delete the old config.

Works. I donā€™t get it. I installed mine. How to leave the place? When driving it explodes.

Mines only explode if youā€™re on top of it. Create them from underneath to avoid blowing yourself up.

Maybe add a timer activated in config?

Good idea, there will also be an option to disable killing the owner of the mines eventually.

Thanks for the work! An interesting plugin. Iā€™d like to have a setting force of the explosion in the config.

That is also a planned feature. I will make a list on the OP

Still it would be interesting to have the pieces after the explosion. For example falling from the sky flaming arrows.

Added to the TODO list

@kmecpp
[14:50:26] [Server thread/ERROR] [FML/]: Detected an attempt by a mod Plugin{id=proximitymines, name=ProximityMines, version=1.0, url=https://github.com/kmecpp/ProximityMines, authors=[kmecpp], source=E:\ziCRAFT-1.10.x\mods\ProximityMines-1.0.0.jar} to perform game activity during mod construction. This is a serious programming error.
[14:50:26] [Server thread/ERROR] [FML/]: Detected an attempt by a mod Plugin{id=proximitymines, name=ProximityMines, version=1.0, url=https://github.com/kmecpp/ProximityMines, authors=[kmecpp], source=E:\ziCRAFT-1.10.x\mods\ProximityMines-1.0.0.jar} to perform game activity during mod construction. This is a serious programming error.

Thatā€™s stupid, there isnā€™t any ā€œgameā€ activity done during construction. Iā€™ll see if I should/can fix this.