#.
#These values affect the extent of cannon failure.
[failure]
	#.
	#.
	#If true, cannons cannot fail whatsoever. Equivalent to setting all the chances below to zero.
	disableAllCannonFailure = false
	#.
	#Chance that a fired projectile will get stuck in a barrel after exceeding the squib ratio. 0 is 0%, 1 is 100%.
	#Range: 0.0 ~ 1.0
	squibChance = 0.25
	#.
	#Chance that a cannon will fail if a Powder Charge is ignited in a "barrel"-type cannon block. 0 is 0%, 1 is 100%.
	#This chance can be affected by stronger and weaker charge blocks.
	#Range: 0.0 ~ 1.0
	barrelChargeBurstChance = 0.20000000298023224
	#.
	#How strong the explosion of a catastrophic failure is. Scaled by the amount of charges used in the shot.
	#Range: 0.0 ~ 3.4028234663852886E38
	failureExplosionPower = 2.0
	#.
	#Chance that a cannon loaded with more Powder Charges that it can handle will fail. 0 is 0%, 1 is 100%.
	#Range: 0.0 ~ 1.0
	overloadBurstChance = 0.5
	#.
	#Chance that a load with gaps between the loaded Powder Charges will not completely combust. 0 is 0%, 1 is 100%.
	#Range: 0.0 ~ 1.0
	interruptedIgnitionChance = 0.33000001311302185

#.
#These values affect the characteristics of cannon munitions.
[munitions]
	#.
	#.
	#If projectiles can bounce, ricochet, and be deflected.
	projectilesCanBounce = true
	#.
	#Range: 0.0 ~ 1.0
	baseProjectileBounceChance = 0.33000001311302185
	#.
	#Range: 0.0 ~ 1.0
	baseProjectileFluidBounceChance = 0.8999999761581421
	#.
	#[in Meters per Tick]
	#The minimum velocity necessary to activate the penetration bonus.
	#Range: 0.0 ~ 3.4028234663852886E38
	minimumVelocityForPenetrationBonus = 1.0
	#.
	#Range: 0.0 ~ 3.4028234663852886E38
	penetrationBonusScale = 0.10000000149011612
	#.
	#The extent to which cannon projectiles can damage surrounding blocks.
	#All Damage - projectiles will destroy anything they hit, if applicable. Explosive projectiles will destroy blocks on detonation.
	#No Explosive Damage - projectiles will destroy anything they hit, if applicable. Explosive projectiles will only harm entities on detonation.
	#No Damage - projectiles will not destroy anything they hit, and will only deal entity damage. Explosive projectiles will only harm entities on detonation.
	#Allowed Values: ALL_DAMAGE, NO_EXPLOSIVE_DAMAGE, NO_DAMAGE
	damageRestriction = "ALL_DAMAGE"
	#.
	projectilesChangeSurroundings = true
	#.
	munitionBlocksCanExplode = true

	#.
	#Damp Big Cannon Propellant
	[munitions.dampBigCannonPropellant]
		#.
		dampPropellantBlocksStartingIgnition = true
		#.
		dampPropellantWeakensPropellant = true

	#.
	#Chunkloading
	[munitions.chunkloading]
		#.
		projectilesCanChunkload = true
		#.
		smokeCloudsCanChunkload = true

	#.
	#Big Cannon Munitions
	[munitions.bigCannonMunitions]
		#.
		#Allowed Values: NONE, LONG, SHORT
		trailType = "SHORT"
		#.
		#Makes all shot big cannon projectiles tracers regardless if the item had a tracer tip applied.
		allBigCannonProjectilesAreTracers = false
		#.
		#[in Ticks]
		#Range: 0 ~ 100
		quickFiringBreechItemPickupDelay = 20
		#.
		quickFiringBreechItemGoesToInventory = false

	#.
	#Projectile Fuzes
	[munitions.fuzes]
		#.
		#Chance that the Impact Fuze/Delayed Impact Fuze will detonate on hitting something. 0 is 0% (never), 1 is 100% (always).
		#Range: 0.0 ~ 1.0
		impactFuzeDetonationChance = 0.6700000166893005
		#.
		#How many blocks the Impact Fuze/Delayed Impact Fuze can hit before breaking. Set to -1 to never break.
		#Range: > -1
		impactFuzeDurability = 3
		#.
		#[in Ticks]
		#Time it takes for a proximity fuze to arm itself.
		#After the fuze has been in the air for the specified arming time, it will detonate when it gets close enough to a block or entity.
		#Range: > 0
		proximityFuzeArmingTime = 5
		#.
		#Scale of the area covered by the Proximity Fuze. Larger number means wider area covered
		#Range: 1 ~ 10
		proximityFuzeScale = 5
		#.
		#[in Blocks]
		#Spacing of the detection points of the Proximity Fuze.
		#Range: 0.5 ~ 2.0
		proximityFuzeSpacing = 1.5

	#.
	#Grouped Munitions
	[munitions.groupedMunitions]
		#.
		#The chance of a fluid blob affecting a block in its area of effect (AOE). 0 is 0% (never), 1 is 100% (always).
		#Range: 0.0 ~ 1.0
		fluidBlobBlockEffectChance = 0.5

	#.
	#Autocannon Munitions
	[munitions.autocannonMunitions]
		#.
		#Allowed Values: NONE, LONG, SHORT
		trailType = "SHORT"
		#.
		#Makes all shot autocannon projectiles tracers regardless if the item had a tracer tip applied. Emulates legacy behavior.
		allAutocannonProjectilesAreTracers = false
		#.
		#How many autocannon rounds the Autocannon Ammo Container can store.
		#Range: 1 ~ 128
		autocannonAmmoContainerAutocannonRoundCapacity = 16
		#.
		#How many machine gun rounds the Autocannon Ammo Container can store.
		#Range: 1 ~ 128
		autocannonAmmoContainerMachineGunRoundCapacity = 64

#.
#These values affect the characteristics of cannon materials and cannon structures
[cannons]
	#.
	#.
	#Maximum length of cannons that can be built.
	#Range: > 3
	maxCannonLength = 64
	#.
	#Time when the Quickfiring Breech cannot be loaded by Mechanical Arms.
	#Range: > 0
	quickfiringBreechLoadingCooldown = 40
	#.
	#Time it takes for the Quickfiring Breech to fully open/close, during which it cannot be loaded.
	#Range: > 0
	quickfiringBreechOpeningCooldown = 5
	#.
	#Range: 0.0 ~ 3.4028234663852886E38
	bigCannonRecoilScale = 4.0
	#.
	#Range: 0.0 ~ 3.4028234663852886E38
	autocannonRecoilScale = 0.5

	#.
	#Drop Mortar
	[cannons.dropMortar]
		#.
		#Time in ticks between inserting a munition into a drop mortar and the drop mortar firing it. There are 20 ticks in 1 second.
		#Range: > 0
		dropMortarDelay = 5
		#.
		#Length in ticks that the player has to wait for before inserting the same munition type into a drop mortar again. There are 20 ticks in 1 second.
		#Range: > 0
		dropMortarItemCooldown = 40

	#.
	#Loading Tools
	[cannons.loadingTools]
		#.
		#If deployers can use loading tools.
		deployersCanUseLoadingTools = false
		#.
		#How many blocks inside a cannon a Ram Rod can reach.
		#Range: > 1
		ramRodReach = 5
		#.
		#Maximum amount of munition blocks a Ram Rod can push.
		#Range: > 1
		ramRodStrength = 3
		#.
		#How many blocks inside a cannon a Worm can reach.
		#Range: > 1
		wormReach = 5
		#.
		#How many hunger/saturation points it takes to move one munition block a distance of one block using loading tools.
		#Range: 0.0 ~ 3.4028234663852886E38
		loadingToolHungerConsumption = 2.5
		#.
		#How many ticks before a player can use a manual loading tool again. There are 20 ticks in 1 second.
		#Range: > 0
		loadingToolCooldown = 20

	#.
	#Cannon Carriages
	[cannons.carriage]
		#.
		#How fast the carriage is, in blocks per tick.
		#Range: 0.03999999910593033 ~ 1.0
		carriageSpeed = 0.03999999910593033
		#.
		#How fast the carriage turns, in degrees per tick.
		#Range: 0.10000000149011612 ~ 10.0
		carriageTurnRate = 1.0
		#.
		cannonWeightAffectsCarriageSpeed = true

	#.
	#Display Link Info
	[cannons.displayLink]
		#.
		shouldDisplayCannonRotation = true
		#.
		shouldDisplayContainedMunitions = true

	#.
	#Big Cannon Screen Shake
	[cannons.bigCannonScreenShake]
		#.
		#Range: 0.0 ~ 3.4028234663852886E38
		blastDistanceMultiplier = 8.0

#.
#These values affect various miscellaneous contraptions.
[kinetics]
	#.
	#.
	#Maximum length of cannon loaders that can be built.
	#Range: > 3
	maxLoaderLength = 64
	#.
	#When enabled, Cannon Loaders will not break if another contraption is placed on them. Enables legacy behavior.
	enableIntersectionLoading = false

#.
#These values affect cannon crafting properties.
[crafting]
	#.
	#.
	#Maximum height of a single cannon cast that can be built.
	#Range: > 1
	maxCannonCastHeight = 32
	#.
	#Maximum length of a Cannon Drill that can be built.
	#Range: > 1
	maxCannonDrillLength = 32
	#.
	#Maximum length of a Cannon Builder that can be built.
	#Range: > 1
	maxCannonBuilderLength = 32
	#.
	#Maximum reach of a Cannon Builder.
	#Range: > 2
	maxCannonBuilderRange = 32
	#.
	#[in Ticks]
	#Time a built-up cannon block needs to be heated for until it transforms into its finished form.
	#Range: > 0
	builtUpCannonHeatingTime = 6000
