Skip to content
Daniel Boston edited this page Jul 20, 2017 · 1 revision

Table of Contents

Introduction

Bastion is a mod that allows the creating a special type of block that prevents those not part of the Namelayer Group placing blocks within the configured block circle above the bastion block and up to sky limit from placing blocks within the field. Bastions are sponge blocks (potentially with custom names) in-game and are typically very expensive to manufacture. It is highly recommended to purchase blocks since the initial required investment for making Bastions is very high. Sponge blocks are made with Factorymod.

Bastions can stop placing blocks, placing water, uses pistons to push blocks (unless the piston is already inside a field with a owner who could place inside the field), and using dispensers to dispenser water, lava, TNT, and flint and steal into the field (unless the dispenser inside a field with a owner who could place inside the field). Bastions can stop the flow of water and lava from getting into the field (unless the water or lava is already inside a field with a owner who could place inside the field). Bastions can prevent ender pearl teleportation through the field, or from landing in the field, unless the pearler is on the same Namelayer group as the bastion. Bastions can prevent using Elytra by non-members of the Bastion group, explosively if desired. Bastions can also block using /ctr inside the field, to prevent "hijacking" of builds.

All of this can be configured into multiple types of Bastions, giving your server operator immense control over levels of defense from Bastions.

NOTE: Please note that in recent versions, a Bastion block no longer must be a sponge; your server operator could use any block as a Bastion type.

Tutorial

Using Bastion requires familiarity with Namelayer and Citadel, specifically group reinforcement.

Creating Bastion Fields

  1. Bastion blocks are represented by sponge blocks in game. The act of reinforcing the sponge turns it into a bastion block. Using /ctf when placing the sponge or using /ctr to reinforce the sponge will turn it into a bastion.
  2. The type of bastion placed (controlled by the Sponge object's "name", or a generic Sponge if no name is set) will determine what kind of effects its field produces.
  3. New bastion fields undergo a maturing process. During this process they function, but are more vulnerable to block placements. So they take more damage. The maturing process can be configured per Bastion type, but typically takes several hours to days. For more information on maturity see Warm-up Time and Maturity.

Note: If you wish to use sponges for decoration and reinforce them, but not turn them into bastions then use /bsf will allow you to reinforce the sponge without it turning into a bastion. If you were to change your mind, using /bsb will turn it into a bastion.

Creating Sponges with Factorymod

Typically, in order to create a sponge you must be familiar with factorymod or more specifically how to create and operate a factory.

Since they are just an item, however, you can also use a custom recipe manager like RecipeManager to produce the Sponges that make Bastions.

Bastion Field Radius

The bastion field has a configurable radius, either square or round around the bastion starting either above or at the same y-level of the bastion block up to sky limit. Bastion blocks never protect the y-levels below the block.

Note: It is recommended to place the bastion on bedrock and protect the bastion block with diamond reinforced obsidian, or the hardest reinforcement available. This will make it so that any attacker will have to place blocks to break the field instead of breaking the bastion block normally.

Warm-Up Time and Maturity

A bastion block can be configured to take time to warm up, typically hours or days. While it is maturing, the block takes more damage from block placements, making it more vulnerable. Also, they will typically be configured not to block ender pearl use or elytra use while maturing.

Damage to Bastion Blocks

Bastion blocks that are still maturing are significantly more vulnerable because they take even more damage from a block placement. Mature bastions are limited in the amount of damage they can take. Finally, whenever a bastion block is damaged, it's total reinforcements are reduced.

There are several ways to attack a bastion, and each can have its own "scaling factor" or level of damage per attempt. Attacking players can simply find and break the bastion block until its reinforcements run out. They can place blocks anywhere within the bastion field or attempt to pearl into/through the bastion field. They could fly Elytra into the Bastion field (if configured to block). Each placement, pearl throw, or elytra hit reduces the reinforcements of the bastion block, which will, eventually, break the block.

Maturing Bastion Blocks

Damage to bastion blocks from a block being placed can be calculated as followed:

(finalScaleFactor - startScaleFactor)*t/warmUpTime+startScaleFactor)

Where startScaleFactor, finalScaleFactor, and warmUpTime can be configured for each Bastion type. Ask your server operator for details.

Replace t with the amount of time since the block was placed in whatever unit is being used.

To calculate how long a bastion will survive use the formula (reinforcement_amount/damage_per_unit_of_time). Each person may only damage a bastion once every few seconds (configurable!) so to find damage_per_unit_of_time divide the damage value found in the last equation by the time inbetween damage attempts.

Placements that Bastion does not Affect

  • Bonemeal
  • Possibly some types of structure growth such as the ignition of a nether portal.
  • Dragon Egg
  • Realistic Biomes growth (potential)

Bastion Groups

A new feature for Bastions is the creation of "sets of allowed Namelayer groups", connected to a single Namelayer group that you are using to reinforce Bastions. This "set of Namelayer groups" then allows players on those groups to build and bypass Bastion protections, without being able to mess with the Bastion itself.

This also adds three new commands for use in managing this, and a new Namelayer permission (BASTION_MANAGE_GROUPS) which determines who can use these new commands within your Bastion Namelayer group.

Use Case Example

City Founder sets up City Bastion field on group "MyCity", but doesn't really want anyone else to mess with the bastions. So, she creates a new Namelayer group "CityBuilds". Using the new feature, she types /bsga MyCity CityBuilds -- this will now allow building using group "CityBuilds" with bastions reinforced to group "MyCity".

Now when a new player joins her town, she just adds them to "CityBuilds". Alternatively, she could add each new player's "personal group" as an allowed group, and not worry about permission management of build groups. She does not need permission on the group to give permission to the group to build in her bastion field.

She can always see which NameLayer groups she has allowed using /bsgl MyCity.

If she changes her mind later, she can remove permission to build using /bsgd MyCity CityBuilds which would remove the CityBuilds group from having permission to build in bastion fields reinforced to MyCity.

She can control which of the admins and owners and mods on her Bastion group can add / list / remove permitted build groups by opening the management panel using /nl MyCity, selecting the permissions modification view, and toggling the new "BASTION_MANAGE_GROUP" permission for that member type.

List of Commands

Name Usage
Clicking a block inside a Bastion field tells you if you have access and clicking the bastion itself gives you some idea of it's maturity. It will also tell you which group you can build using, if you've got permission via Bastion Namelayer Groups. /bsi
When a Bastion block is clicked remove the bastion field while maintaining the reinforcement /bsd
Changes all bastion modes to normal /bso
Any reinforced target sponge block will become a Bastion Block /bsb
Allows you to reinforce a sponge block without turning it into a bastion /bsf
Clicking on bastion where the Citadel reinforcement could be removed by you turns the sponge into a normal non-bastion reinforced sponge /bsd
Add a Namelayer group to a set of "allowed to build" groups for a Bastion's Namelayer group /bsga
Removes a previously allowed group from a Bastion's Namelayer group /bsgd
Lists all the allowed groups in a Bastion's Namelayer group /bsgl