BlockSaver is the block protection written for MinerApocalypse by Indiv0 . The plugin is meant to re-create features of Citadel as well as other block protection plugins and ideas, in order to counteract the griefer-builder imbalance which is prevalent on the MA server.
The plugin is undergoing testing , in order to allow players to interact with the plugin and discover how they wish for it to be set up. While testing on the server, players will be able to decide which features they want enabled or disabled before the plugin is moved into production on the MA server.
The plugin has a variety of configuration options, which can be viewed in the config.yml for the plugin. Configuration values are thoroughly documented in the configuration file, but any discrepancies or confusions will be explained in the Configuration section below.
A list of helpful abbreviations and definitions is provided, to cut down on explanation time and difficulty. It is suggested to read this before proceeding to the configuration or to other sections of the wiki, as both of these areas rely on these terms and abbreviations.
BlockSaver (BS) - the plugin itself.
Reinforcement - the act of using a material, whether it be obsidian or diamonds, etc., to "reinforce" a block, by increasing the number of times it must be broken before it disappears. The item used to reinforce is used up in this process.
Reinforcement Value (RV) - the current "health" of the block, and is defined as the remaining of times the block must be broken before the reinforcement is removed (note: the block remains as a regular block once its reinforcement has been removed. A block which has no reinforcement has a RV of 0)
Reinforcement Value Coefficient (RVC) - the RV of a block such that when the block is set to this RV, in order to reduce the RV to 0 the player must have been breaking the block as long as it would take them to break obsidian.
Field - a bug wherein an air block has an RV associated with it. Occurs due to various methods. At the present, the plugin prevents fields from being transferred to blocks.
Healing Timer (HT) - the timer, which, if enabled, controls the amount of time until a reinforced block is healed.
RVC Mode - shorthand used to signify that accumulateReinforcementValues is set to false in the config. This means that RVC is used to cap a blocks RV.
The plugin is meant to, in general, provide one of two central methods of protection: obsidian mode, or modified citadel mode. Both modes control only the ways in which blocks are reinforced and how they are capped. Features such as TNT protection, the list of reinforceable blocks, whether or not pistons can move reinforced blocks, etc., are independant of either mode, meaning that the mode selected has no bearing on which of these features will be used. These modes can also be mixed together.
Citadel Mode (CM)Edit
Citadel mode is a colloquial term for a configuration of the plugin which semi-mimics the functionality of the Citadel plugin. As defined by the plugin developer, the general outline of this mode is as follows:
- BlockSaver is configured to use various items for reinforcement (e.g. iron ingots, diamonds, possibly obsidian)
- The plugin can either be configured to limit reinforcements or not to limit them:
- If configured to limit reinforcements, each individual block type has a predefined "cap" at which its RV can not be increased further.
- If configured to not limit reinforcements, each individual block can be reinforced an infinite amount of times, provided the player has the resources to do so.
- In this mode, if RV limiting is enabled, the maximum RV for a block is typically (althought not necessarily) defined as the same as its RVC.
Obsidian Mode (OM)Edit
- Only obsidian is used to reinforce blocks.
- Reinforcement values for blocks are instaly set to their respective RVCs when reinforced with an obsidian block.
- A block MUST be broken by a specific tool, with the plugin configured for ONE OF:
- The reinforcement must be broken with a diamond pickaxe (hence obsidian mode)
- The reinforcement must be broken with the diamond equivalent of the tool used to break it (e.g. diamond axe for logs, diamond spade for dirt)
- It is also recommended (and assumed when OM is mentioned), but not required that in this mode the blocks are configured to function as obsidian (i.e. immovable, full TNT resistance, etc.)
There are many different configuration options which offer a great degree of customizeability for the plugin, allowing for rapid testing and optimization for the MinerApocalypse server. The configuration as it appears on the dev server is exactly as it is in the config.yml at this moment (ergo, using CM).
There is only one command which is relevant to the plugin:
- This command toggles text-feedback on or off. Text-based feedback is simply the option of having the plugin tell you what is happening in your chat window, if you are not able to partake in the auditory cues (i.e. your volume is down), or if you simply do not know which sound represents what action.
- Blocks are reinforced by left-clicking on a block with the reinforcign item in your hand.
- Without player interaction (e.g. without being hit, etc.), reinforced blocks appear identical to normal blocks.
The healing timer is begun as soon as a block is broken. Every time a block's RV is decreased (i.e. every time it is successfully broken), the timer is reset. This means that if HT is set to 5, you have 5 seconds since the last time you broke the block before it heals.
A block will heal to its last highest RV. Meaning if a stone block has an RVC of 10, but an RV of only 7, and you begin to break it and reduce its RV to 2, then wait 5 seconds, the RV of the block will be 7, not 10, as that was the RV of the block when you began to break it.
Blocks, when interacted with, provide feedback. All actions related to BS feature non-toggleable auditory feedback. Text-based feedback is available for every action as well, but is toggleable. Particle effects are available while a block is being broken (either by the player or by things such as TNT).
Actions Which Provide FeedbackEdit
- When hit (not broken)
- This feedback will vary depending on whether or not your current tool can break the block.
- When reinforced successfully
- When reinforcement fails
- When a block is broken (player or otherwise)
- When a block fails to be broken (e.g. wrong tool)
Bugs & Remaining FeaturesEdit
Bugs and remaining features are all tracked on the BlockSaver Issues page on Github.
Assuming RCV mode is enabled, griefs will be no worse (and actually more expensive for the griefer) than if a griefer just griefed a town with obsidian.
Reinforcements remain on a piston if it is retracted or extended. Blocks pushed by pistons also retain their reinforcements (assuming pistons are allowed to move reinforced blocks).
For a piston reinforcement to function properly, PISTON_EXTENSION as well as PISTON_BASE, and/or PISTON_STICKY_BASE must be defined in the Reinforceable Blocks List.
The plugin is available for public beta on the MA development server (IP: dev.minerap.com).