How to Mod - Block Modules

# How to Add Block Modules

When creating blocks with advanced properties, select the module(s) you require from the available types before creating your Physical Prefab and Block JSON then refer to the relevant section of this document for more information

## Wheels

Your Physical Prefab will contain a hierarchy of objects;

The object at the root of the hierarchy is the base object. This is the static part of the wheel that will attach to a tech.

Select it in the hierarchy and assign a mesh in the **Inspector** window.

Add an appropriate collider to match the shape of the block’s base.

**wheelOrigin** represents the point from which the wheel calculates its physics. This is the resting position of the wheel when under no forces. Move this object to position your wheel relative to the base.

**\_wheel** is where you define the wheel model and collider.

Assign a mesh in the **Inspector** window.

Add a collider component to your wheel. This will be its collision when the block is detached from a tech so does not need to be too accurate - the wheel physics when driving will use their own collision, the size and properties of which will be determined by the values you put into the block JSON

**\_sparksLocator** is where sparks will appear if your wheel is overburdened, so move it into a suitable position.

Edit the “Wheel” section of your block JSON to adjust the properties of your wheel that will define how it behaves in game.

## Guns

Your Physical Prefab will contain a hierarchy of objects;

The object at the root of the hierarchy is the base object. This is the static part of the gun that will attach to a tech. Select it in the hierarchy and assign a mesh in the **Inspector** window.

**gimbal\_base** is the part of the gun that rotates in the horizontal plane, **model\_mount** is where you should add a mesh for this part

**gimbal\_elev** is the part of the gun that rotates in the vertical plane, **model\_body** is where you should add a mesh for this part.

**\_recoiler** is the part of the gun that recoils when it fires, **model\_barrel** is where you should add a mesh for this part.

**\_bulletSpawn** is where the projectile is spawned when the gun fires.

**\_casingSpawn** defines where the bullet casings will be ejected from

**\_muzzleFlash** is where the muzzleFlash effect will appear when the gun fires.

**\_smoke** is where a smoke effect will appear after the gun has fired.

Move the objects into positions appropriate to your gun model. And add colliders to any mesh parts that need them.

Edit the “Gun” section of your block JSON to adjust the properties of your weapon that will define how it behaves in game. Refer to **Appendix A** for a list of possible projectiles and **Appendix B** for bullet casings that your weapon can use. Sound effects for when your gun fires are listed in **Appendix C**.

## Cabs

Cab prefabs have no special properties, they are defined in the block JSON. Assign a mesh and appropriate collider to your cab block.

## Appendix A: Projectile Types

```
BF_Bullet_ScatterLaser
BF_LaserBolt_AssaultStreamlined
BF_LaserBolt_AssaultTrapdoor
BF_LaserBolt_ClassDLaserRay
BF_LaserBolt_CyberDisc
BF_LaserBolt_DOT
BF_LaserBolt_FSCannon
BF_LaserBolt_GatlingLaser
BF_LaserBolt_Rifle
BF_LaserBolt_SpeedLaserLance
GSO_Bullet_3Pound
GSO_Bullet_BigBertha
GSO_Bullet_Gigaton
GSO_Bullet_Megaton
GSO_Bullet_MGun
GSO_Bullet_Mortar
GSO_Bullet_Shotgun
GSO_LaserBolt_Fixed
GSO_LaserBolt_Micro
GSO_LaserBolt_Stud
GSO_MiniMissile
HE_Bomb
HE_Bullet_BattleshipCannon
HE_Bullet_BigCannon
HE_Bullet_Cab
HE_Bullet_ChainGun
HE_Bullet_MiniGun
HE_Bullet_MiniGunDual
HE_Bullet_Mortar
HE_Bullet_MortarShell
HE_Bullet_Shotgun_Rotating
HE_Bullet_ShotgunFixed
HE_Bullet_SMG
HE_Bullet_Suppressed
HE_Bullet_TurretMiniGun
HE_Bullet_Type45NavalCannon
HE_LaserBolt_Zeus
HE_Missile_Cruise
HE_Missile_Pod
HE_Missile_Pod_BMB
HE_Projectile_Railgun
HE_Projectile_Railgun_Rotating
RR_Bullet_Repulsor
RR_Bullet_Repulsor_2
RR_FireworkProjectile
RR_LaserBolt_PrototypeGun02
RR_LaserBolt_PrototypeGun02_Mission
RR_Missile_Pod
RR_StickyBombProjectile
RR_ZeroPointProjectile
VEN_Bullet_Crossfire
VEN_Bullet_Hailfire
VEN_Bullet_MGun
VEN_Bullet_MortarShell
VEN_Bullet_Oozee
VEN_Bullet_Rapid
VEN_Bullet_ShotgunFixed
VEN_Bullet_ShotgunRotating
VEN_LaserBolt_Needle
VEN_LaserBolt_Turret
VEN_MicroMissile
VEN_Missile

```

## Appendix B: Casing Types

```
Casing
Casing_Micro
Casing_Mini
Casing_Shotgun
HE_Casing_Large
HE_Casing_Medium
HE_Casing_Shotgun
HE_Casing_Small

```

## Appendix C: Sound effects

```
BFLaser
BFLaserCannon
BFLaserCyberDisk
BFLaserFlyingSaucer
BFLaserGatling
BFLaserGatlingDeploy
BFLaserScatter
BFLaserScatterDeploy
BigBertha
CoilLaserSmall
FireworksLauncher
FlameThrowerPlasma
GCBuzzSaw
GCBuzzSawEnd
GCDiggerScoopLift
GCDiggerScoopRelease
GCJackHammer
GCPlasmaCutter
GCPlasmaCutterAuto
GCRamSpike
GCTripleBore
GSODrillLarge
GSODrillSmall
GSOShotgunCombat
HEBurstGun
HECannonBattleShip
HECannonTurret
HEChainGun
HECruiseMissile
HEHomingMissile
HELaserZeus
HEMachineGun
HEMiniGun
HEMortarEnd
HERailGun
HEShotgun
LightMachineGun
MegatonCannon
MegatonLongBarrel
MiniMortar
PoundCannon
RRHFLaser
RRSonicBoomBlaster
RRVibroKnife
StudLaser
VENCannonRapid
VENFlameThrower
VENLaserMG
VENLaserNano
VENMachineGunFixedForward
VENMicroMissile
VENMortarRoundabout
VENRPGLauncher
VENShotgunCombat
VENShotgunRotating
VHailFireRifle
VOozeeSMG
VPipMachineGun

```