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