The config and global file
The global and config file
Introduction
All the global settings for the world, (for example if creeper's will explode) are inside the global.yml. The config.yml file isn't currently used but will be used later to put settings in if you want to enable multiworld support and if you want to enable permissions.
Tutorial Video
Before you're going to read this page you could watch this video. This video should explain everything you want to know clearly so you don't have to read this full page.
Settings separated into groups
Here you'll find out how the global.yml file works. All the changable settings are placed in little groups, for example some settings for Creepers like, if they could damage the world or if they could damage players are all placed in the group 'CreeperControl', there are a lot of groups like 'CreeperControl', 'FireballControl', 'TNTControl', 'EndermanControl' and a LOT more.
Enable and disable groups
Inside every group of settings you'll find an option called 'Enabled' which could be set to 'true' and 'false', if this is set to 'true' all the changes which are made inside this group are applied, if this option is set to 'false' nothing which is changed inside this group is applied, and then it works just as normal. So if you want to set that creepers doesn't damages the world make sure that you set 'Enabled' to 'true' inside the 'CreeperControl' group or else it doesn't work.
Enable groups between 2 levels
Inside almost every group you'll probably find on the bottom another little group of settings called 'EnableBetweenLevels', inside that group you'll also find 3 other things you could set called 'Enabled', 'MinLevel' and 'MaxLevel'. With this you could set that all the settings you set inside (for example) the 'CreeperControl' group are only applied when the creeper was between 2 layers for example 64 and 127 (from y=64 to y=127) so that the creeper settings are only applied when the creeper was on the surface or above, this is really useful if you want that creepers still explode inside caves and underneath the surface. When you want to enable this feature you need to set the 'Enabled' option to true inside the 'EnableBetweenLevels' group which is inside another group (for example the 'CreeperControl' group). Then you have 2 other things you could set called 'MinLevel' and 'MaxLevel', here you need to put a number from 0 to 127 which are the layers, if you want that the settings for creepers aren't applied when the creeper is on the surface or above you need to set the 'MinLevel' to '64' (y=64, surface layer) and 'MaxLevel' to '127' (y=127, top of the world). Make sure the 'Enabled' option is enabled inside the 'CreeperControl' group and ALSO inside the 'EnableBetweenLevels' group, otherwise it wouldn't work. So if you doesn't want to enable the settings between layers set the 'EnabledBetweenLevels' group to false.
The global/config file with explanation
Underneath you'll find the whole global.yml file with information for each option behind it.
# Creepers CreeperControl: Enabled: true # Set if the creeper control is enabled DestroyWorld: false # Set if creepers could destroy the world EnableExplosionSound: true # Set if creepers generates any explosion sound EnableExplosionSmoke: true # Set if creepers generates explosion smoke CanSpawn: true # Set if creepers could spawn CanTargetPlayer: true # Set if creepers could attack and follow a player CanTargetMob: true # Set if creepers could attack and follow a mob DamagePlayers: true # Set if players could be hurt by creepers DamageMobs: true # Set if mobs could be hurt by creepers PowerdByLightning: true # Set if creepers will be powered when the're hit by lightnign # Settings to enable those settings between some levels EnableBetweenLevels: Enabled: false # Set if this function is enabled MinLevel: 64 # Set the minimum Y level MaxLevel: 127 # Set the maximum Y level # Fireballs FireballControl: Enabled: false # Set if the fireball control is enabled DestroyWorld: true # Set if fireballs could destroy the world EnableExplosionSound: true # Set if fireballs generates explosion sounds EnableExplosionSmoke: true # Set if fireballs generates explosion smoke GhastsCanSpawn: true # Set if Ghasts could spawn GhastCanTargetPlayer: true # Set if ghasts could attack and follow a player GhastCanTargetMob: true # Set if ghasts could attack and follow a mob # Settings to enable those settings between some levels EnableBetweenLevels: Enabled: false # Set if this function is enabled MinLevel: 0 # Set the minimum Y level MaxLevel: 127 # Set the maximum Y level # TNT blocks TNTControl: Enabled: false # Set if the TNTControl is enabled DestroyWorld: false # Set if TNT could destroy the world EnableExplosionSound: true # Set if TNT generates explosion sounds EnableExplosionSmoke: true # Set if TNT generates explosion smoke CanPlaceTNT: true # Set if players could place TNT blocks DamagePlayers: true # Set if TNT damages players DamageMobs: true # Set if TNT damages mobs # Settings to enable those settings between some levels EnableBetweenLevels: Enabled: false # Set if this function is enabled MinLevel: 0 # Set the mimimum Y level MaxLevel: 127 # Set the maximum Y level # Enderman EndermanControl: Enabled: false # Set if the enderman control is enabled CanPlaceBlock: false # Set if enderman could place blocks CanPickupBlock: false # Set if enderman could pickup blocks CanCloneBlock: true # Set if enderman could pickup blocks without destroying the world ClearHandsOnPlace: true # Set if enderman could place blocks without destroying the world CanSpawn: true # Set if enderman could spawn CanTargetPlayer: true # Set if enderman could attack and follow a player CanTargetMob: true # Set if enderman could attack and follow a mob DamagePlayers: true # Set if enderman could damage players DamageMobs: true # Set if enderman could damage mobs # Settings to enable those settings between some levels EnableBetweenLevels: Enabled: false # Set if this function is enabled MinLevel: 0 # Set the minimum Y level MaxLevel: 127 # Set the maximum Y level # Fire FireControl: Enabled: false # Set if the fire control is enabled EnableBlockFire: true # Set if blocks could burn FireSpread: true # Set if fire could spread DamagePlayers: true # Set if fire damage players DamageMobs: true # Set if fire damage mobs # Settings to enable those settings between some levels EnableBetweenLevels: Enabled: false # Set if this function is enabled MinLevel: 0 # Set the minimum Y level MaxLevel: 127 # Set the maximum Y level # Flint and steel FlintAndSteelControl: Enabled: false # Set if the flint and steel control is enabled EnableFlintAndSteel: true # Set if flint and steel could be used # Settings to enable those settings between some levels EnableBetweenLevels: Enabled: false # Set if this function is enabled MinLevel: 0 # Set the minimum Y level MaxLevel: 127 # Set the maximum Y level # Lightning LightningControl: Enabled: false # Set if the lightning control is enabled IgniteBlocks: true # Set if lightning could ignine blocks DamagePlayers: true # Set if lightning could damage players DamageMobs: true # Set if lightning could damage mobs # Settings to enable those settings between some levels EnableBetweenLevels: Enabled: false # Set if this function is enabled MinLevel: 0 # Set the minimum Y level MaxLevel: 127 # Set the maximum Y level # Water WaterControl: Enabled: false # Set if the water control is enabled CanPlaceWater: true # Set if water could be placed by players WaterSpread: true # Set if water could spread PlayerDrowning: true # Set is players could drown in water MobDowning: true # Set if mobs could drown in water # Settings to enable those settings between some levels EnableBetweenLevels: Enabled: false # Set if this function is enalbed MinLevel: 0 # Set the minimum Y level MaxLevel: 127 # Set the maximum Y level # Lava LavaControl: Enabled: false # Set if the lava control is enabled LavaFire: true # Set if lava could cause fire to blocks CanPlaceLava: true # Set if lava could be placed by players LavaSpread: true # Set if lava could spread DamagePlayers: true # Set if lava could damage players DamageMobs: true # Set if lava could damage mobs # Settings to enable those settings between some levels EnableBetweenLevels: Enabled: false MinLevel: 0 MaxLevel: 127 # Other (unknown) explosions OtherExplosions: Enabled: false # Set if the other explosions control is enabled DestroyWorld: true # Set if other (unknown) explosions could damage the world EnableExplosionSound: true # Set if other (unknown) explosions generate sound EnableExplosionSmoke: true # Set if other (unknown) explosions generate smoke # Settings to enable those settings between some levels EnableBetweenLevels: Enabled: false # Set if this function is enabled MinLevel: 0 # Set the minimum Y level MaxLevel: 127 # Set the maximum Y level
Multi-world config
Its really easy to make different settings for any other world with Safe Creeper. in the folder 'Safe Creeper' you'll find 2 files called 'global.yml' and 'config.yml' there's also a folder called 'worlds' inside this folder you see 2 files which are example files, just rename one of those example files to the name of a world and make changes inside that file. Another way (which is better) is to copy the global.yml file into the 'worlds' folder and rename the file to the name of a world. Now you could change things for that specific world inside that file, just do it as normal. If you only want to change if creepers could explode you only need to add the things you'll see underneath, because all the settings which aren't set in a file for a world are the same as the global.yml file, so only the things you'll set and change inside the world file are different with the global.yml file.
# Creepers Control CreeperControl: DestroyWorld: false # Creepers could damage players now inside this world
So with this creepers will only damage the world in the world of this world-config file, you must make sure that (inside the global.yml file) you set 'Enabled' to 'true' to enable the creeper control and set 'DamageWorld' to 'false' otherwhise creepers will damage every world and then this world-config file isn't needed anymore.
This is is just how the whole global and world-configuration works, and its really easy to understand. :)
Updated and added a few useful things!
Is there a mechanism to allow Creepers to effect underground cave explosions and not above ground explosions? Or perhaps specify what blocks the creeper explosion may affect and then likewise may not affect.
Works really well! I highly recommend this for protecting creations! Thanks!
@reallycrappyname
Thanks!
@ylluminate
About your first point, yes you could use the 'EnableBetweenLevels' feature, this will give you the ability to enable your control when the creeper is within a certain hight level. About your second point, there isn't a feature which could give you this ability yet, sorry.
I've been doing everything I can to configure this plugin to allow explosions below ground only, but nothing I do works. Can you please explain to me exactly how I do this? I've tried at least 20 different configuration combinations between the global.yml and world.yml files... either they explode or they don't, enabling EnableBetweenLevels just doesn't work for me! Argh!
This is the exact code as it is right now in my world.yml file:
Hey! I Was Just Wondering If You Could Please Update The Video :) That'd Be Real Nice!
- VenomousChaoticGamer