
[common]

	#Properties relating to gameplay
	[common.gameplay]
		#If enabled, animated guns will play a Drawing animation when equipping.
		drawAnimation = true
		#The amount of seconds Bullet Protection is applied upon Player respawn.
		#Range: 0 ~ 60
		bulletProtection = 10
		#If enabled, both guns and attachment will receive damage upon firing a gun.
		gunDurability = true
		#If enabled, guns will have an increasing chance of jamming the lower durability they have left.
		gunJamming = true
		#If enabled, guns will deal less/more damage depending on their advantage.
		gunAdvantage = true
		#If enabled, guns will be able to shoot underwater (There are guns that already do this).
		underwaterFiring = false
		#The extra amount to expand an entity's bounding box when checking for projectile collision. Setting this value higher will make it easier to hit entities
		#Range: 0.0 ~ 1.0
		growBoundingBoxAmount = 0.3
		#Enables the check for head shots for players. Projectiles that hit the head of a player will have increased damage.
		enableHeadShots = true
		#The value to multiply the damage by if projectile is a critical hit
		#Range: 1.0 ~ 1.7976931348623157E308
		criticalDamageMultiplier = 1.5
		#If true, projectiles will ignore leaves when checking for collision
		ignoreLeaves = true
		#If true, projectiles will cause knockback when an entity is hit. By default this is set to true to match the behaviour of Minecraft.
		enableKnockback = true
		#Sets the strengthof knockback when shot by a bullet projectile. Knockback must be enabled for this to take effect. If value is equal to zero, knockback will use default minecraft value
		#Range: 0.0 ~ 1.0
		knockbackStrength = 0.15
		#If true, improves the accuracy of weapons by considering the ping of the player. This has no affect on singleplayer. This will add a little overhead if enabled.
		improvedHitboxes = false
		#If true, hitting an entity with a Rocket will make it ride it
		rocketRiding = true
		#If false, flashlights will be disabled for the server's sake!
		allowFlashlights = true
		#The max distance flashlights can illuminate. Watch out for performance!
		#Range: 1 ~ 64
		flashlightDistance = 32
		#If false, laser pointers will apply Glowing to the entity it hits!
		glowingLaserPointers = true
		#If enabled, the Server will not have medals.
		overrideHideMedals = false

		#Properties related to gun griefing
		[common.gameplay.griefing]
			#If enabled, allows block removal on explosions
			enableBlockRemovalOnExplosions = true
			#If enabled, allows guns to shoot out glass and other fragile objects
			enableGlassBreaking = true
			#If enabled, allows guns to shoot out wooden related blocks
			enableWoodBreaking = true
			#If enabled, allows explosive bullets to shoot out stone related blocks
			enableStoneBreaking = true
			#If enabled, fragile blocks will drop their loot when broken
			fragileBlockDrops = true
			#The base chance that a fragile block is broken when impacted by a bullet. The hardness of a block will scale this value; the harder the block, the lower the final calculated chance will be.
			#Range: 0.0 ~ 1.0
			fragileBlockBreakChance = 1.0
			#The base chance that a wooden block is broken when impacted by a bullet. The hardness of a block will scale this value; the harder the block, the lower the final calculated chance will be.
			#Range: 0.0 ~ 1.0
			woodBaseBreakChance = 0.1
			#The base chance that a wooden block is broken when impacted by a bullet. The hardness of a block will scale this value; the harder the block, the lower the final calculated chance will be.
			#Range: 0.0 ~ 1.0
			stoneBaseBreakChance = 0.05
			#If true, allows fire guns to light and spread fires on blocks
			setFireToBlocks = true
			#If true, allows water guns to extinguish blocks on fire
			extinguishFire = true

	#Properties relating to the JEG world and its ecosystem
	[common.world]
		#If enabled, killing bosses while holding a Gun/Firearm, will enchant the gun with their respective enchantment
		bossEnchants = true
		#The max level of Withered by killing the Wither. The maximum cap is 99, have fun.
		#Range: 1 ~ 99
		maxWitheredLevel = 2
		#If enabled, boss enchanments will only be granted if their requirements are met
		bossRequirements = true
		#If disabled, Boos will not generate.
		booSpawning = true
		#If disabled, Ghouls will not generate.
		ghoulSpawning = true
		#If disabled, Trumpet Skeletons will not generate.
		trumpetSpawning = true
		#If enabled, Creepers have a 5% chance of dropping a live grenade.
		creepersDropLiveGrenades = true
		#If enabled, all entities killed by a Sculk Gun will have a chance to drop an Echo Shard.
		entitiesDropEchoShards = true
		#The volume for Player Gunfire. Default is 8
		#Range: 1 ~ 10
		playerGunfireVolume = 8
		#The volume for Mob Gunfire. Default is 8
		#Range: 1 ~ 10
		mobGunfireVolume = 8

	#Faction and Gun Configuration
	[common.gunner_config]
		#If enabled, mobs inside the Factions config will have a chance to spawn with guns.
		gunnerMobSpawning = true
		#If enabled, Raids will have a chance to spawn explosive mobs/mobs with explosive charges.
		explosiveMobs = true
		#If enabled, mobs with guns will have a chance to drop ammo for the gun they are using.
		dropAmmo = true
		#If enabled, mobs will have a chance to spawn as Elites.
		eliteSpawning = true
		#The chance for Elite Gunners to spawn, 1.0 is always, 0.0 is never.
		#Range: 0.1 ~ 1.0
		eliteChance = 0.3
		#If enabled, Elite Gunners have a chance to spawn riding Horses.
		horsemen = true
		#The in-game day where mobs will start spawning, and the spawn chance will increase every day after. 0 is the world-creation day.
		#Range: 0 ~ 100
		minimunDays = 4
		#This will define the initial chance of mobs spawning with guns. Goes from 0% to 100%
		#Range: 0 ~ 100
		initialChance = 1
		#This defines the increment of the chance of mobs spawning with guns per day.
		#Range: 0 ~ 100
		chanceIncrement = 1
		#This will define the max chance of mobs spawning with guns.
		#Range: 1 ~ 100
		maxChance = 50
		#If enabled, defeating the Terror Phantom will enable the Phantom Swarm.
		phantomSwarm = true
		#If enabled, Factions inside the config will have the same chance to spawn like Pillager Patrols.
		gunnerMobPatrols = true
		#Fixed patrol interval in days. Set to 0 to use a random interval instead.
		#Range: 0 ~ 30
		patrolIntervalDays = 5
		#Minimum random interval in ticks if patrolIntervalDays is 0.
		#Range: > 1
		randomIntervalMinTicks = 12000
		#Maximum random interval in ticks if patrolIntervalDays is 0.
		#Range: > 1
		randomIntervalMaxTicks = 24000
		#Minimum number of in-game days before patrols can start spawning.
		#Range: 0 ~ 30
		minimumDaysForPatrols = 5
		#If enabled, Factions inside the config will have the same chance to start Raids naturally.
		gunnerMobRaids = true
		#If enabled, Factions will spawn additional Mobs for support.
		raidSupportMobs = true
		#Fixed Raid interval in days. Set to 0 to use a random interval instead.
		#Range: 0 ~ 100
		raidIntervalDays = 30
		#Minimum random interval in ticks if raidIntervalDays is 0.
		#Range: > 1
		randomRaidIntervalMinTicks = 12000
		#Maximum random interval in ticks if raidIntervalDays is 0.
		#Range: > 1
		randomRaidIntervalMaxTicks = 24000
		#Minimum number of in-game days before Factions can start Raids
		#Range: 0 ~ 100
		minimumDaysForRaids = 15
		#Define factions, their mobs, and gun pools. Format: faction_name|ai_difficulty|mob1,mob2...|closeGun1,closeGun2...|longGun1,longGun2...|eliteGun1,eliteGun2...
		factions = ["night_of_the_undead|1|minecraft:zombie,minecraft:zombie_villager,minecraft:husk|jeg:custom_smg,jeg:waterpipe_shotgun|jeg:revolver|jeg:double_barrel_shotgun", "the_rattlers|2|minecraft:skeleton,minecraft:stray|jeg:custom_smg|jeg:semi_auto_rifle|jeg:bolt_action_rifle,jeg:semi_auto_rifle", "nosy_business|3|minecraft:pillager,minecraft:vindicator|jeg:pump_shotgun|jeg:semi_auto_rifle,jeg:assault_rifle|jeg:repeating_shotgun,jeg:service_rifle", "bad_piggies|2|minecraft:piglin,minecraft:piglin_brute|jeg:double_barrel_shotgun,jeg:waterpipe_shotgun|jeg:assault_rifle,jeg:semi_auto_rifle|jeg:hollenfire_mk2", "hell_hogs|3|minecraft:zombified_piglin,minecraft:wither_skeleton|jeg:custom_smg,jeg:waterpipe_shotgun,jeg:double_barrel_shotgun|jeg:assault_rifle,jeg:semi_auto_rifle|jeg:soulhunter_mk2", "lost_souls|3|jeg:ghoul|jeg:waterpipe_shotgun,jeg:revolver|jeg:custom_smg|jeg:holy_shotgun,jeg:blossom_rifle"]

	#Properties relating to network
	[common.network]
		#If true, Hosts, Creative mode players and OPs will get the welcoming messages and announcements.
		firstJoinMessages = true
		#The distance players need to be within to be able to track new projectiles trails. Higher values means you can see projectiles from that start from further away.
		#Range: 1.0 ~ 1.7976931348623157E308
		projectileTrackingRange = 200.0

	#Properties relating to mob aggression
	[common.aggro_mobs]
		#If true, nearby mobs are angered and/or scared by the firing of guns.
		enabled = true
		#If true, in addition to causing peaceful mobs to panic, firing a gun will also cause nearby hostile mobs to target the shooter.
		angerHostileMobs = true
		#Any mobs within a sphere of this radius will aggro on the shooter of an unsilenced gun.
		#Range: 0.0 ~ 1.7976931348623157E308
		unsilencedRange = 20.0
		#Any mobs of defined will not aggro on shooters
		exemptMobs = []

	#Properties relating to mob fleeing and aggroing!
	[common.fleeing_mobs]
		#If true, nearby mobs will flee from the firing of guns.
		enabled = true
		#Any mobs within a sphere of this radius will flee from the shooter of an unsilenced gun.
		#Range: 0.0 ~ 1.7976931348623157E308
		unsilencedRange = 50.0
		#Any mobs within a sphere of this radius will flee from the shooter of a silenced gun.
		#Range: 0.0 ~ 1.7976931348623157E308
		silencedRange = 20.0
		#Any mobs listed here will flee from shooters
		fleeingEntities = ["minecraft:cow", "minecraft:sheep", "minecraft:pig", "minecraft:chicken", "minecraft:wolf", "minecraft:axolotl", "minecraft:cat", "minecraft:frog", "minecraft:fox", "minecraft:allay", "minecraft:rabbit", "minecraft:horse", "minecraft:villager", "minecraft:bee", "minecraft:parrot", "minecraft:turtle", "minecraft:donkey", "minecraft:mule", "minecraft:llama", "minecraft:panda", "minecraft:mooshroom", "minecraft:strider", "minecraft:ocelot", "minecraft:bat", "minecraft:squid", "minecraft:glow_squid", "minecraft:camel"]

	#Properties relating to missiles
	[common.missiles]
		#The max distance which the explosion is effective to
		#Range: 0.0 ~ 1.7976931348623157E308
		explosionRadius = 5.0

	#Properties relating to grenades
	[common.grenades]
		#The max distance which the explosion is effective to
		#Range: 0.0 ~ 1.7976931348623157E308
		explosionRadius = 5.0

	#Properties relating to stun grenades
	[common.stun_grenades]

		#Blinding properties of stun grenades
		[common.stun_grenades.blind]
			#If true, hostile mobs will be unable to target entities while they are blinded by a stun grenade.
			blindMobs = true

			[common.stun_grenades.blind.effect_criteria]
				#Grenade must be no more than this many meters away to have an effect.
				#Range: 0.0 ~ 1.7976931348623157E308
				radius = 15.0
				#Effect will have this duration (in ticks) if the grenade is directly at the player's eyes while looking directly at it.
				#Range: > 0
				durationMax = 220
				#Effect will have this duration (in ticks) if the grenade is the maximum distance from the player's eyes while looking directly at it.
				#Range: > 0
				durationMin = 10
				#Angle between the eye/looking direction and the eye/grenade direction must be no more than half this many degrees to have an effect.
				#Range: 0.0 ~ 360.0
				angleEffect = 170.0
				#After duration is attenuated by distance, it will be further attenuated depending on the angle (in degrees) between the eye/looking direction and the eye/grenade direction. This is done by multiplying it by 1 (no attenuation) if the angle is 0; and by this value if the angle is the maximum within the angle of effect.
				#Range: 0.0 ~ 1.0
				angleAttenuationMax = 0.75
				#If true, the effect is only applied if the line between the eyes and the grenade does not intersect any non-liquid blocks with an opacity greater than 0.
				raytraceOpaqueBlocks = true

		#Deafening properties of stun grenades
		[common.stun_grenades.deafen]
			#If true, peaceful mobs will panic upon being deafened by a stun grenade.
			panicMobs = true

			[common.stun_grenades.deafen.effect_criteria]
				#Grenade must be no more than this many meters away to have an effect.
				#Range: 0.0 ~ 1.7976931348623157E308
				radius = 15.0
				#Effect will have this duration (in ticks) if the grenade is directly at the player's eyes while looking directly at it.
				#Range: > 0
				durationMax = 280
				#Effect will have this duration (in ticks) if the grenade is the maximum distance from the player's eyes while looking directly at it.
				#Range: > 0
				durationMin = 100
				#Angle between the eye/looking direction and the eye/grenade direction must be no more than half this many degrees to have an effect.
				#Range: 0.0 ~ 360.0
				angleEffect = 360.0
				#After duration is attenuated by distance, it will be further attenuated depending on the angle (in degrees) between the eye/looking direction and the eye/grenade direction. This is done by multiplying it by 1 (no attenuation) if the angle is 0; and by this value if the angle is the maximum within the angle of effect.
				#Range: 0.0 ~ 1.0
				angleAttenuationMax = 0.75
				#If true, the effect is only applied if the line between the eyes and the grenade does not intersect any non-liquid blocks with an opacity greater than 0.
				raytraceOpaqueBlocks = true

	#Properties relating to projectile spread
	[common.projectile_spread]
		#The amount of time in milliseconds before logic to apply spread is skipped. The value indicates a reasonable amount of time before a weapon is considered stable again.
		#Range: 0 ~ 1000
		spreadThreshold = 300
		#The amount of times a player has to shoot within the spread threshold before the maximum amount of spread is applied. Setting the value higher means it will take longer for the spread to be applied.
		#Range: > 1
		maxCount = 10

